首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SkyBox不带相机移动

SkyBox不带相机移动
EN

Stack Overflow用户
提问于 2015-01-28 09:13:48
回答 1查看 391关注 0票数 1

在我的OpenGL应用程序中,我创建了一个SkyBox,如果我从原点呈现它,它就会工作得很好。我用PVMatrix (ProjectionMatrix * ViewMatrix相机)渲染它,就像我说的,如果我从原点渲染它,一切都很好。但是如果我移动相机,比如说(0,6,-8),它不能工作,SkyBox被呈现为普通立方体。

我认为应该为SkyBox创建一个SkyBox,并将其中的位置设置为摄像机的位置,但这并没有帮助。当然,我现在用新的SkyBox呈现MVPMatrix。你知道为什么不起作用吗?我该怎么做才能让它起作用?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-28 11:02:42

一般来说,把天窗盒翻译成照相机应该会有效果。你检查过是否把它移到正确的位置了吗?

最常见的故障之一是,您将相机移向与您的对象相同的方向,这会导致该对象两次向错误的方向移动。为了解释这一点,让我们看看不同的坐标系:

每个模型都在自己的模型空间中定义。让我们称这个空间为M,使用模型矩阵(m),我们能够从模型空间转换到世界空间(W)。

代码语言:javascript
复制
M ---m---> W

现在我们在场景中有了第二个物体,摄像机,它的视图空间V和摄像机模型矩阵c。

代码语言:javascript
复制
V ---c---> W

但是,由于我们需要视野中的一切,而不是把相机带到世界空间,所以我们必须将这种转换转化成这样

代码语言:javascript
复制
W ---v---> V

通常,这是由v = c^-1给出的,它是应用程序中指定的视图矩阵.从这一点出发,当视图矩阵包含到z=8的转换(因为T(8) = T(-8)^-1)时,应该非常清楚为什么要用z=-8移动对象。有关更多细节,请查看这份报告 (从幻灯片6开始)。

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

https://stackoverflow.com/questions/28188402

复制
相关文章

相似问题

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