學習是一件開心的額事情
你應該思考的問題
- 問題1:什么是OpenGL?
OpenGL 是圖形硬件的一種軟件接口,接口函數包含了超過700個
- 問題2:OpenGL 的函數主要作用是什么?
用于指定物體和操作, 創建交互式的三維應用程序
- 問題3: OpenGL 提供的函數能完成那些任務和不能完成那些任務
OpenGL 只提供了一些簡單的圖元描述如(點,直線和多變形),沒有提供描述三維物體模型的高級函數,如(汽車,身體的某些關節等)
理解OpenGL 渲染原理
操作順序
[名詞解釋]
- 頂點數據對象
比如你要繪制一個三角形,三角形有三個頂點,你要把三個頂點的數據,放到內存中的一個區域中,這個內存對象,就是我們的頂點數據對象
- 頂點著色器
同俗的講,就是處理頂點數據的,比如你要讓三角形變形或者縮放等操作,你就要在頂點著色器中操作,頂點著色器是可進行編程的,寫一些你要操作的代碼
- 原始裝配
主要任務就是裁剪,按照我們制定的規則,把一些,不符合我們設置要求的點裁剪掉,渲染時不做處理。
- 光柵化
比如你畫一個圓,在光柵化得階段,就是根據你設置的參數,繪制空心圓還是實心圓的階段,它主要根據點畫模式,去將幾何數據轉換為片段的過程,它處理的操作還有(直線的寬度,大小,著色模型,抗鋸齒處理等計算),每個片段都具有各自的顏色和深度值
- 紋理內存
存放紋理圖片的內存區域
- 片段著色器
對最終像素點,顯示顏色做一些,運算或者處理操作,比如你想讓顯示的圖片變的模糊,你就在這里干.
- 片段操作
我們在片段著色器上紋理圖片或者顏色數據進行了處理操作,但是還沒有顯示到片段上,前面的一些操作,生成了最終的顏色和深度,如果有效,執行可用的裁剪測試,alpha測試,模板測試和深度緩沖測試,某種測試失敗將放棄最終片段方塊的繼續處理。如果成功,執行的是混合,抖動,邏輯操作以及根據一個位掩碼屏蔽操作,完成處理的片段就會被繪制到適當的緩沖區上。
- 幀緩沖對象
OpenGL管線的最終渲染目的地被稱作幀緩存
我們應該重點研究那些東西呢?
A,B,C,D,E,F主要是你應該掌握的