1. 程式人生 > >LearnOpenGL學習筆記(六):座標系統

LearnOpenGL學習筆記(六):座標系統

LearnOpenGL學習筆記(六)

1.概述

在OpenGL中,對我們來說比較重要的總共有5個不同的座標系統:

  • 區域性空間(Local Space,或者稱為物體空間(Object Space))
  • 世界空間(World Space)
  • 觀察空間(View Space,或者稱為視覺空間(Eye Space))
  • 裁剪空間(Clip Space)
  • 螢幕空間(Screen Space)

區域性空間是指物體所在的座標空間,即物件最開始所在的地方。 世界空間中的座標正如其名:是指頂點相對於(遊戲)世界的座標。 觀察空間經常被人們稱之OpenGL的攝像機(Camera),是將世界空間座標轉化為使用者視野前方的座標而產生的結果。 OpenGL期望所有的座標都能落在一個特定的範圍內,且任何在這個範圍之外的點都應該被裁剪掉(Clipped)。被裁剪掉的座標就會被忽略,所以剩下的座標就將變為螢幕上可見的片段。這也就是裁剪空間

(Clip Space)名字的由來。

將上述的每一個步驟都建立一個變換矩陣:模型(model)矩陣、觀察(view)矩陣和投影(projection)矩陣。一個頂點(V_local)座標將會根據以下過程被變換到裁剪(V_clip)座標:

在這裡插入圖片描述

2.程式碼和執行結果

這裡直接給出了同時渲染十個立方體且使用模型(model)矩陣只讓是3倍數的箱子旋轉(以及第1個箱子)的程式碼,點選這裡

執行結果如下所示: 在這裡插入圖片描述 其中應該有四個箱子在旋轉。