我想用Pyopengl从鸟的角度渲染一些东西。
"鸟"相机应该能够在X中移动,Y在Z矢量周围旋转。
它有效,但我想放置"鸟"屏幕的底部,因为屏幕的顶部应该是运动方向。
然而,这个选择并不令人愉快。我真正喜欢的是,仍然向下看(Z方向),但有某种偏移。
换句话说,它应该看起来像我裁剪屏幕的下半部分而只使用上半部分。
问题如下图所示:
(原始图来自http://www.songho.ca/opengl/gl_projectionmatrix.html)
我怎样才能做到这一点?
答案 0 :(得分:0)
最后我找到了解决方案。神奇的技巧是以下命令:
glViewport (offset_X, offset_Y, screen_X, screen_Y)
其中:
offset_X
- 相机在X轴上的偏移offset_Y
- 相机在Y轴上的偏移screen_X
- 您在X轴中使用的屏幕分辨率screen_Y
- 您在Y轴中使用的屏幕分辨率对于相关描述的情况(如果相机应放置在距离屏幕底部25%的屏幕高度):
gluPerspective(45, (screen_X / screen_Y), 0.1, 2000.0)
glViewport (0, -int(screen_Y*0.75), screen_X, int(screen_Y*1.75) )