0

シーンをスカイボックスで錐台の視点でラップしようとすると、問題が発生します。

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でスカイボックスを作成するにはどうすればよいですか?ありがとう!

4

1 に答える 1

0

通常、シーンに関連して錐台変数を設定するには、多少の調整が必要です。私は間違っているかもしれませんが、あなたの錐台の計算は現在あなたに約160度の視野を与えていると思います。通常の視野は約45〜80度です。適切な錐台の定義の詳細については、http://www.songho.ca/opengl/gl_projectionmatrix.htmlを確認してください。

于 2012-11-03T08:29:05.907 に答える