且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

OpenGL 世界坐标系

更新时间:2022-09-24 21:28:04

世界坐标系

    在OpenGL中,世界坐标系是以屏幕中心为原点(0, 0, 0),且是始终不变的。你面对屏幕,你的右边是x正轴,上面是y正轴,屏幕指向你的为z正轴。长度单位这样来定:窗口范围按此单位恰好是(-1,-1)到(1,1),即屏幕左下角坐标为(-1,-1),右上角坐标为(1,1)。这是采用了归一化的结果

 

当前绘图坐标系

    是绘制物体时的坐标系。程序刚初始化时,世界坐标系和当前绘图坐标系是重合的。当用glTranslatef(),glScalef(), glRotatef()等对当前绘图坐标系进行平移、伸缩、旋转变换之后,世界坐标系和当前绘图坐标系不再重合。注意,这里的平移旋转是将当前绘图坐标系看做一个整体在世界坐标系中进行旋转平移。然后,改变以后,再用glVertex3f()等绘图函数绘图时,都是在当前绘图坐标系进行绘图,所有的函数参数也都是相对当前绘图坐标系来讲的。


规律:

 openGL使用右手坐标

从左到右,x递增

从下到上,y递增

从远到近,z递增


注意

    设置光照位置的时候,一时把Z轴从近到远,认为是递增的,把光源设在物体的后面了,导致物体是黑色的





    本文转自fengyuzaitu 51CTO博客,原文链接:http://blog.51cto.com/fengyuzaitu/1896727,如需转载请自行联系原作者