(隨筆)計算機圖形學常用基本概念

計算機圖形學=表示+繪製+交互

繪製管線(圖形流水線):應用程序階段---幾何處理階段---光柵階段

繪製概念:主要指將計算機中對象的數字幾何模型轉化爲直觀形象的圖形或圖像形式,是一個數字幾何模型的視覺可視化過程。


應用程序階段:將數據以圖元的形式提供給圖形硬件。數據包括:描述三維幾何模型的點、線或多邊形,同時也提供用於表面紋理映射的圖像或者位圖。

幾何處理階段:以每個頂點爲基礎對幾何圖元進行處理,並從三維座標變換爲二維屏幕座標。


光柵階段(像素處理階段):屏幕對象首先被傳送到像素處理器進行光柵化,並對每個像素進行着色,然後輸出到幀緩衝器中,最後輸出到顯示器中。

什麼是光柵化?

光柵化:幾何處理階段不是傳來很多的頂點、顏色以及紋理座標嗎,這時候我們就要給每個像素準確配色,確保我們能夠準確的繪製整個圖像,這個配色的過程就叫做光柵化(或叫做掃描轉換)。通俗點來說,就是將上一個階段生成的屏幕二維座標頂點轉化爲屏幕上的像素=_=。

 gluOrtho2D、glViewport、glutInitWindowSize區別與關係

void gluOrtho2D(GLdouble left,GLdouble right,GLdouble bottom,GLdouble top)是二維的裁剪窗口函數(正交投影函數)。它的裁剪面是一個左下角點爲(left,bottom)、右上角點爲(right,top)的矩形。在世界座標系中按照點的座標將圖元繪製完畢之後,在這個裁剪面中的圖元信息將顯示出來,不在這個矩形裁剪面中的圖元信息將會被丟棄。(其實就可以理解對這個裁剪面進行正交投影)。


視區函數glViewport(GLint x,GLint y,GLsizei width,GLsizei height)是將裁剪過後的圖元信息顯示在最終的窗口上面,x,y確定了視區左下角在窗口上面的位置,width和height確定了視區的寬度和高度(width與height值越大,圖元將會被放大),如果width/height不等於裁剪窗口的寬長比率,那麼顯示將會產生變形。通過調節glViewport的參數, 可以調節裁剪後的圖元在屏幕窗口上的顯示位置和縮放。

glutInitWindowSize定義屏幕上顯示窗口的大小,視口函數定義了剪裁面在整個窗口上的顯示區域和位置,默認情況下視口函數定義的是跟整個窗口一致的,即全窗口顯示,通過設置視口,可以設定模型在窗口的哪一個區域顯示

三者的基本關係爲:

世界座標系內模型 --> gluOrtho2D按正交投影裁剪要顯示的部分 --> glutInitWindowSize定義顯示窗口大小(即定義在屏幕上可作圖的顯示區域)--> glViewport定義視口(定義世界座標系的截取窗口在屏幕顯示窗口上繪製的大小、位置)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章