OpenGL基礎圖形程式設計(二)OpenGL概念建立
OpenGL基本理解
- 網格線繪圖方式(wireframe)
這種方式僅繪製三維物體的網格輪廓線。 - 深度優先網格線繪圖方式(depth_cued)
用網格線方式繪圖,增加模擬人眼看物體一樣,遠處的物體比近處的物體要暗些。 - 反走樣網格線繪圖方式(antialiased)
用網格線方式繪圖,繪圖時採用反走樣技術以減少圖形線條的參差不齊。 - 平面消隱繪圖方式(flat_shade)
對模型的隱藏面進行消隱,對模型的平面單元按光照程度進行著色但不進行光滑處理。 - 光滑消隱繪圖方式(smooth_shade)
對模型進行消隱按光照渲染著色的過程中再進行光滑處理,這種方式更接近於現實。 - 加陰影和紋理的繪圖方式(shadows、textures)
在模型表面貼上紋理甚至於加上光照陰影,使得三維景觀象照片一樣。 - 運動模糊的繪圖方式(motion-blured)
模擬物體運動時人眼觀察所感覺的動感現象。 - 大氣環境效果(atmosphere-effects)
在三維景觀中加入如霧等大氣環境效果,使人身臨其境。 - 深度域效果(depth-of-effects)
類似於照相機鏡頭效果,模型在聚焦點處清晰,反之則模糊。
這些三維物體繪圖和特殊效果處理方式,說明OpenGL已經能夠模擬比較複雜的三維物體或自然景觀,這就是我們所面對的OpenGL。
整個OpenGL的基本工作流程如下圖:

OpenGL要求把所有的幾何圖形單元都用頂點來描述,這樣運算器和逐個頂點計算操作都可以針對每個頂點進行計算和操作,然後進行光柵化形成圖形碎片;對於象素資料,象素操作結果被儲存在紋理組裝用的記憶體中,再象幾何頂點操作一樣光柵化形成圖形片元。
整個流程操作的最後,圖形片元都要進行一系列的逐個片元操作,這樣最後的象素值BZ送入幀緩衝器實現圖形的顯示。
在上一節中說明了OpenGL的基本工作流程,根據這個流程可以歸納出在OpenGL中進行主要的圖形操作直至在計算機螢幕上渲染繪製出三維圖形景觀的基本步驟:
1)根據基本圖形單元建立景物模型,並且對所建立的模型進行數學描述(OpenGL中把:點、線、多邊形、影像和點陣圖都作為基本圖形單元)。
2)把景物模型放在三維空間中的合適的位置,並且設定視點(viewpoint)以觀察所感興趣的景觀。
3)計算模型中所有物體的色彩,其中的色彩根據應用要求來確定,同時確定光照條件、紋理貼上方式等。
4)把景物模型的數學描述及其色彩資訊轉換至計算機螢幕上的象素,這個過程也就是光柵化(rasterization)。
在這些步驟的執行過程中,OpenGL可能執行其他的一些操作,例如自動消隱處理等。另外,景物光柵化之後被送入幀緩衝器之前還可以根據需要物件素資料進行操作。
相關文章
- OpenGL shader 程式基礎
- Android OpenGL ES 開發(二):繪製圖形Android
- OpenGL基本概念
- 圖形學_opengl紋理對映
- OpenGL 基礎光照詳解
- 併發程式設計——基礎概念(二)程式設計
- Windows程式設計系列:圖形程式設計基礎Windows程式設計
- 4次Bezier曲線--計算機圖形學 opengl計算機
- OpenGL入門(1)——建立一個OpenGL專案
- OpenGL/OpenGL ES 入門:基礎變換 - 初識向量/矩陣矩陣
- OpenGL 與 OpenGL ES
- OpenGL/OpenGL ES 初探
- OpenGL 繪圖移動繪圖
- OpenGL 學習系列--基礎的繪製流程
- 併發程式設計——基礎概念(一)程式設計
- OpenGL 學習 04 圖元
- OpenGL Android課程四:介紹紋理基礎Android
- shell程式設計基礎二程式設計
- 第二個OpenGL程式,矩形 (VAO VBO)_後續 EBO
- OpenGL Shader例項,OpenGL 粒子系統
- OpenGL系列教程之一:OpenGL(轉)
- OpenGL概述
- OpenGL 學習系列---基本形狀的繪製
- OpenGL 學習 01 Mac 搭建 OpenGL 環境Mac
- [OpenGL]VS2010配置OpenGL開發環境開發環境
- 3D遊戲程式設計與設計4——遊戲物件與圖形基礎3D遊戲程式設計物件
- OpenGL 安裝!
- OpenGL/OpenGL ES入門:紋理初探 - 常用API解析API
- iOS圖形處理概論:OpenGL ES,Metal,Core Graphics,Core Image,GPUImage,OpenCV等iOSGPUUIOpenCV
- 第四個OpenGL程式,texture 紋理
- OpenGL實現貪吃蛇程式碼
- Python多程式程式設計基礎——圖文版Python程式設計
- OpenGl-實驗-設計程式實現點光源的移動觀察效果
- OpenGL ES 入門
- OpenGL 環境搭建
- OpenGL ES on iOS — AssimpiOS
- QCustomPlot開啟opengl
- GPU OpenGL 管線GPU
- [OpenGL]未來視覺1-Android攝像頭採集基礎視覺Android