藍寶書 第四章
寫在前面
由于寫學習筆記時,已經學完了前三章,所以前三章的筆記較為簡單,后續筆記將一邊學一遍寫,因此筆記會詳細很多,但有可能有錯誤,還望大家能夠幫忙指出,共同討論進步,謝謝~
本章主要講各類坐標轉換
表4.1 OpenGL變換術語 166頁
Viewing 視角:觀察點的位置
Modeling 模型:場景中的可移動物體
Modelview 模型視圖:表述視角和模型直接的轉換
PRojection 映射:視覺中模型的大小和形狀的改變
Viewport 視口:最終輸出至窗口的變換
眼坐標
絕對坐標,人的視線與z軸負方向相同,在第三章繪制的所有圖像未經過轉換,均在該坐標下進行的。
視圖變換
該變換可以理解為你的位置和你面向的方向,默認位置在眼坐標原點處,并且面向z軸負向,此時若物體在z軸的正方向,則我們無法看到(在你的身后)。在建立較復雜的場景時,要先設定該視圖變換(類似于Unity3D的照相機位置和方向)。
模型轉換
主要是對模型(場景中的物體)進行移動、旋轉及縮放。該模型在移動、旋轉和縮放時均在自身中心為原點的坐標系上進行轉換,轉換完成后再次轉換時還是以自身中心為原點的坐標系進行轉換(兩次的坐標系不同)。
視角的變換和坐標系的變換本質上是一樣的
就像你旁邊的車向前開,你感覺你的車在倒退是一樣的
投影變換
在視角確定、場景及其中物體搭建好后,進行投影,使3D圖像投影到2D的屏幕上。
主要有兩類投影:正交投影和透視投影。
正交投影:無論遠近,相同大小的物體都是同樣大小的,主要用于2D(文字、菜單之類)的投影。
透視投影:遠處的物體小,近處的物體大,遠處的物體仿佛匯集到一個點上。
視口變換
圖像最終在屏幕上進行輸出
新聞熱點
疑難解答