[OpenGL]OpenGL渲染管線

圖形渲染管線的整個處理流程可以被劃分爲幾個階段,上一個階段的輸出數據作爲下一個階段的輸入數據,是一個串行的,面向過程的執行過程。每一個階段分別在GPU上運行各自的數據處理程序,這個程序就是着色器

在這裏插入圖片描述
頂點數據:頂點的集合,頂點一般都是是三維座標
基本圖元(primitives):點,線段,三角形等,構成實體模型的基本單位
頂點着色器(Vertex Shader):包含對一些頂點屬性的處理
基本圖元裝配(primitive assembly):把所有輸入的頂點數據作爲輸入,輸出制定的基本圖元
幾何着色器(geometry shader):把基本圖元形式的頂點的集合作爲輸入,可以通過產生新頂點構造出新的基本圖元來生成其他形狀
細分着色器(Tessellation shaders):可以把基本圖元細分爲更多的基本圖形,創建出更加平滑的視覺效果
光柵化(rasterization):像素化,把細分着色器輸出的基本圖形映射爲屏幕上網格的像素點,生成供片元着色器處理的片段,光柵化包含一個裁剪操作,會捨棄超出定義的視窗之外的像素
片段着色器(Fragment Shader):計算出每一個像素點最終的顏色,通常片段着色器會包含3d場景的一些額外的數據,如光線,陰影等
測試與混合:對每個像素進行深度測試,alpha測試等並進行顏色混合,這些操作決定了屏幕視窗上每個像素點的最終的顏色以及透明度

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