2016-10-06 3 views
0

私のモデルを原点で見るためにカメラを回転させようとすると、私のカメラはx軸が反転しているように動作します。何らかの理由でOpenGL x軸が反転した

projectionMatrix = glm::perspective(60.0f, (float)800/(float)600, 0.1f, 1000.f); 
viewMatrix = glm::lookAt(
    glm::vec3(2.0f*sin(30.0f*(PI/180.0f)), 0, 2.0f*cos(30.0f*(PI/180.0f))), 
    glm::vec3(0, 0, 0), 
    glm::vec3(0, 1, 0) 
); 
modelMatrix = glm::scale(glm::mat4(1.0f), glm::vec3(1.5f)); 

は、あなたが見ることができるようにカメラの位置が0度、(X = 0、Z = 2)で始まり、そして度が30に近づくように、カメラは、30度のマークを右回転であるべきです。代わりに、何らかの理由でx軸が反転したように動作しているので、私のカメラは右ではなく左に回転し、モデルを330度で表示しています。

+0

これらのマトリックスがどのように適用されるかは完全にはわかりませんので、基本的に何かが起こる可能性があります。 – derhass

+0

GLMライブラリは、ほとんどのOpenGLアプリケーションではかなり標準ですが、私はそのランダムを考えません:S –

+0

私はglmを知っています。しかし、私はあなたがこのマトリックスに何をするかを後で知りません。物事をねじ込むのはとても簡単です。ある時点で間違った乗算順序を使用してください。 – derhass

答えて

0

30度では、x = 1とz = 1.73で、カメラが残っているように見えます。 Xは否定されるべきです。

+0

申し訳ありませんが、なぜカメラはOpenGLのRHS http://graphics.cs.williams.edu/courses/cs371/f10/G3D/に正のx値で残っていますか? manual/coords.png –