画面に三角形を表示させてキーボード+マウスで動かそうとしていますが、オブジェクトが画面の端に近づくほど伸びてしまいます。関連するコードは次のとおりです。
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にあると感じていますが、問題は見つかりません。さらにコードが必要な場合はお知らせください。