【发布时间】:2011-07-03 22:08:42
【问题描述】:
我正在阅读一系列 NeHe OpenGK 教程。 Tutorial #9 做了一些花哨的事情;我什么都懂,除了我认为是整个教程的支柱的两件事。
在DrawGlScene函数中,下面这行我没看懂。
glRotatef(tilt,1.0f,0.0f,0.0f); // Tilt The View (Using The Value In 'tilt')
我了解该行的作用,并且在教程中也非常清楚地提到了它。但我不明白他为什么要倾斜屏幕。
另一件事是他首先倾斜屏幕,然后将其旋转一个星角,然后立即执行相反的操作。那是什么技术?什么需要倾斜?只需在星星面向用户时旋转星星。
glRotatef(star[loop].angle,0.0f,1.0f,0.0f); // Rotate To The Current Stars Angle
glTranslatef(star[loop].dist,0.0f,0.0f); // Move Forward On The X Plane
glRotatef(-star[loop].angle,0.0f,1.0f,0.0f); // Cancel The Current Stars Angle
glRotatef(-tilt,1.0f,0.0f,0.0f); // Cancel The Screen Tilt
如果有人告诉我引擎盖下的机制,我将非常感激。
【问题讨论】:
标签: opengl rotation translation 3d