首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OpenGL -矩阵逻辑误差

OpenGL -矩阵逻辑误差
EN

Stack Overflow用户
提问于 2016-05-31 15:28:53
回答 1查看 101关注 0票数 1

我单独使用模型矩阵将我加载的模型(从Blender装载的猴子脸)从模型空间传输到vbo中。然而,这个模型是难以置信的扭曲(延伸到无穷大),我很困惑为什么会发生这种情况。

这段视频显示模型一直围绕y轴旋转,试图清楚地显示我的问题。我确信我加载的OBJ模型是有效的。熔岩纹理被绑定到模型上,使模型更容易被看到。

视频还显示控制台,显示当前矩阵,我要发送到我的顶点着色器。在内存中,矩阵按行-主要顺序表示,因此,下面的矩阵:

代码语言:javascript
复制
|1 0 0 0 |
|0 1 0 0 |
|0 0 1 10|
|0 0 0 1 |

作为C++浮动的数组发送到我的顶点着色器:

代码语言:javascript
复制
{1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 10, 0, 0, 0, 1}

我相信我在数学上犯了一个新手的错误。是否有任何明显的错误,可以注意到,仅仅是看到模型?在我的顶点着色器(GLSL)中,我使用以下代码行:

代码语言:javascript
复制
gl_Position = mvp * vec4(position, 1.0);

其中'mvp‘是在视频和位置中看到的结果矩阵,包含正在处理的模型的当前顶点的位置(在模型空间中)。我不明白为什么会发生这些扭曲,这是否是我的程序的另一个方面的错误(也就是说,我没有显示足够的代码)?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-31 15:40:32

所需的结果矩阵的换位。以前没有解决这个问题,因为位置超过了默认的远剪辑,所以模型被剪裁了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37549823

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档