我正在尝试在屏幕上显示一个三角形并用键盘+鼠标四处移动,但是对象越靠近屏幕边缘,它就越伸展。以下是相关代码:
fieldOfView = 45;
x += mouseSpeed * deltaTime * deltaMouseX
y += mouseSpeed * deltaTime * deltaMouseY
position = glm::vec3(0,0,5);
forward = glm::vec3(cos(y) * sin (x),
sin(y),
cos(y) * cos(x));
right = glm::vec3(sin(x - 3.14f/2.0f),
0,
cos(x - 3.14f/2.0f));
up = glm::cross(right,forward);
projectionMatrix = glm::perspective(fieldOfView, 4.0f / 3.0f, 0.1f, 100.0f);
viewMatrix = glm::lookAt(position,position + forward, up);
这是每帧更新的。在我的顶点着色器中:
gl_Position = projection * view * model * vec4(vert,1)
其中 vert 是我的对象坐标,projection 是我的 projectionMatrix,view 是我的 viewMatrix。我感觉问题出在我的 viewmatrx 上,但我找不到任何问题。如果您需要更多代码,请告诉我。