![](/img/trans.png)
[英]How create a camera on PyOpenGL that can do "perspective rotations" on mouse movements?
[英]PyopenGL - how to move camera frustrum to change perspective in normalized device coordinates?
我想用Pyopengl從鳥的角度渲染一些東西。
“鳥”相機應該能夠在X,Y上移動,並繞Z向量旋轉。
它可以工作,但是我想將“小鳥”放在屏幕的底部,因為屏幕的頂部應該在移動方向上。
但是,此選項並不令人滿意。 我真正希望的是仍然向下看(Z方向),但要有某種偏移。
換句話說,它應該看起來像我裁剪屏幕的下部,而只使用上部。
下圖說明了該問題:
(原始圖取自http://www.songho.ca/opengl/gl_projectionmatrix.html )
我該如何實現?
最后,我找到了解決方案。 魔術是以下命令:
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) )
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.