我在尝试以截头的角度包裹我的场景天空盒时遇到了一些麻烦。
GLKMatrix4 projectionMatrix = GLKMatrix4MakeFrustum(-50, 50, -50, 50, 0.1, 100);
GLKMatrix4 baseModelViewMatrix = GLKMatrix4MakeTranslation(0.0f, -0.8f, 0.0);
baseModelViewMatrix = GLKMatrix4Scale(baseModelViewMatrix, 0.5f, 0.5f, 0.5f);
self.effect.transform.projectionMatrix = projectionMatrix;
self.effect.transform.modelviewMatrix = GLKMatrix4Multiply(camera, baseModelViewMatrix);
GLKMatrix4 camera = GLKMatrix4MakeLookAt(
self.cameraEye.x,
self.cameraEye.y,
self.cameraEye.z,
0.0,
0.0,
0.0,
0, 1, 0);
self.effect.transform.modelviewMatrix = GLKMatrix4Multiply(camera, baseModelViewMatrix);
self.skyBoxEffect.center = self.cameraEye;
self.skyBoxEffect.transform.projectionMatrix = self.effect.transform.projectionMatrix;
self.skyBoxEffect.transform.modelviewMatrix = self.effect.transform.modelviewMatrix;
我在场景中渲染的对象在感觉或深度上看起来非常漂亮,但是天空盒根本不起作用,图像因为截头锥体视角而扭曲。这里有诀窍吗?如何使用平截头视角制作带有GLKit的天空盒?谢谢!
答案 0 :(得分:0)
通常需要进行一些调整才能获得与场景相关的平截头体变量。我可能错了,但我认为你的视锥体的数学目前会给你一个160度左右的视野。正常的fov大约是45到80度。检查http://www.songho.ca/opengl/gl_projectionmatrix.html以获取有关定义适当平截头体的更多信息。