首先用一張圖來回顧一下渲染管線的各個階段,目前為止我們接觸的著色器有頂點著色器和畫素著色器,而接觸到的渲染管線階段有:輸入裝配階段、頂點著色階段、光柵化階段、畫素著色階段、輸出合併階段.:
可以看到,幾何著色器是我們在將頂點送入光柵化階段之前,可以操作頂點的最後乙個階段。它同樣也允許我們編寫自己的著色器**。幾何著色器可以做如下事情:
1. 讓程式自動決定如何在渲染管線中插入/移除幾何體;
2. 通過流輸出階段將頂點資訊再次傳遞到頂點緩衝區;
3. 改變圖元型別(如輸入點圖元,輸出三角形圖元);
也就是說我們可以在幾何著色器階段產生比頂點著色器輸入更多的基礎圖元,從而可以實現各種炫酷的效果。
3D渲染管線中的背面消除
背面消除在世界空間中進行,背面消除完成之後,再進行世界座標到相機座標的變換。背面消除工作原理如下 物體的所有多邊形的三個頂點以統一的方式進行標記,例如順時針。計算該根據多邊形的兩個向量,計算多邊形的面法線 su ce normal 計算觀察向量 view vector 計算面法線和觀察向量的點乘,若...
3D幾何管線
要完成3d影象的平滑渲染,並處理和計算大量的資料,將空間中的物體轉換到2維的螢幕上,這個過程被打碎成許多個步驟,這些步驟也就是3d流水線。這一周多一直在做關於流水線的小demo,從模型空間到世界空間再到攝影機投影,沒有點空間思維能力還真是費事,而且之間涉及很多矩陣知識,再推導每個變換矩陣的時候用到的...
對3D渲染管線(渲染流水線)的理解
渲染管線的概念 3d渲染管線也稱為渲染流水線,可以將其理解為乙個流程,就是我們準備一些資料,讓gpu對這些資料做一些處理,最後得出一張二維影象,渲染流程主要分為幾個大的階段 資料準備階段,頂點處理階段,光柵操作階段,畫素著色階段。一 資料準備階段 該階段主要是根據使用者提供的頂點及索引資訊,構建多邊...