由于某种原因,OpenGL x轴倒置
Posted
技术标签:
【中文标题】由于某种原因,OpenGL x轴倒置【英文标题】:OpenGL x-axis in inverted for some reason 【发布时间】:2016-10-06 07:52:19 【问题描述】:当我尝试简单地围绕 xz 平面旋转相机以在原点查看我的模型时,我的相机就像 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 度查看模型。
【问题讨论】:
完全不清楚这些矩阵将如何应用,所以基本上任何事情都有可能发生。 GLM 库在大多数 OpenGL 应用程序中是相当标准的,我不认为它是随机的:S 我知道glm。但我不知道你之后对这个矩阵做了什么。把事情搞砸很容易,即在某些时候使用错误的乘法顺序。 以上代码是我在发送到着色器之前对矩阵所做的唯一更改。 GLM 很受欢迎,所以我认为它使用正确的顺序 【参考方案1】:在 30 度时,x=1 和 z=1.73,这使得相机看起来像是在向左移动。 X 应该被否定。
【讨论】:
抱歉,为什么在 OpenGL 的 RHS graphics.cs.williams.edu/courses/cs371/f10/G3D/manual/…987654321@以上是关于由于某种原因,OpenGL x轴倒置的主要内容,如果未能解决你的问题,请参考以下文章