世界坐标系
在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,如需轉載請自行聯系原作者