我单独使用模型矩阵将我加载的模型(从Blender装载的猴子脸)从模型空间传输到vbo中。然而,这个模型是难以置信的扭曲(延伸到无穷大),我很困惑为什么会发生这种情况。
这段视频显示模型一直围绕y轴旋转,试图清楚地显示我的问题。我确信我加载的OBJ模型是有效的。熔岩纹理被绑定到模型上,使模型更容易被看到。
视频还显示控制台,显示当前矩阵,我要发送到我的顶点着色器。在内存中,矩阵按行-主要顺序表示,因此,下面的矩阵:
|1 0 0 0 |
|0 1 0 0 |
|0 0 1 10|
|0 0 0 1 |作为C++浮动的数组发送到我的顶点着色器:
{1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 10, 0, 0, 0, 1}我相信我在数学上犯了一个新手的错误。是否有任何明显的错误,可以注意到,仅仅是看到模型?在我的顶点着色器(GLSL)中,我使用以下代码行:
gl_Position = mvp * vec4(position, 1.0);其中'mvp‘是在视频和位置中看到的结果矩阵,包含正在处理的模型的当前顶点的位置(在模型空间中)。我不明白为什么会发生这些扭曲,这是否是我的程序的另一个方面的错误(也就是说,我没有显示足够的代码)?
发布于 2016-05-31 15:40:32
所需的结果矩阵的换位。以前没有解决这个问题,因为位置超过了默认的远剪辑,所以模型被剪裁了。
https://stackoverflow.com/questions/37549823
复制相似问题