在 OpenGL 中使用 glm::ortho 投影

using glm::ortho projection in OpenGL

我正在尝试模拟从 200 米高处抛球。我知道我必须将坐标从 -1.0、1.0 转换为 0、200。

我画球的顶点是这样的:

for(int i=0; i < NUM_VERTICES; i++)
{
  GLfloat angle = 2*M_PI/NUM_VERTICES * i;

  GLfloat x = 10 * cos(angle);
  GLfloat y = 10 * sin(angle);

  vertices.push_back(x);
  vertices.push_back(y);
}  

然后我有一个像这样的正交投影:

glm:mat4 projection;
projection = glm::ortho(0.0f, 200.0f, 0.0f, 200.0f, 0.1f, 100.0f);

和翻译

glm::mat4 view;
view = glm::translate(view, glm::vec3(100.0f, 200.0f, 0.0f));

但我的视口中没有显示任何内容。

您似乎在 z=0 处绘制,而您的 z 范围是 [-0.1, -100],因此几何图形被裁剪了,因为它位于近平面的前面。