初次接触OpenGL的朋友可能会遇到我标题里遇到的问题——我绘制的场景怎么看不见?
出现这个问题可能有两种原因:一, MODELVIEW变换问题。二, 投影变换问题。
首先,MODELVIEW变换问题。视点(VIEWING POINT)位置和观察方向设置不恰当可能导致场景看不见,默认情况下视点位置在世界坐标的原点,观察方向指向Z坐标轴负方向。比如说这时候你在世界坐标系中X,Y,Z都为正的一个象限绘制场景,那么你必然什么也看不见。可以使用glTranslatef(0.0f,0,0f,-100)这样的指令把场景中的图象向-Z方向移动,或者使用glutLookAt(0, 0, 100, 0, 0, 0, 0, 1, 0)这样的指令改变视点位置及观察方向。
其次,投影变换问题。看一下gluPerspective指令示意图(如下)。如果你的场景没有放在四楞台里面。可以肯定屏幕上什么也看不见。
再看下正投影的示意图:
