背景
directX調用了 draw,頂點著色器運行,但是像素著色器沒有運行。
原因
- 光柵化階段被剔除
- 說明:如果幾何圖元(如三角形)在光柵化階段被剔除,像素著色器就不會被調用。
- 常見剔除原因:
背面剔除(Back-face culling)
默認是開啟的,如果頂點順序(順時針/逆時針)不一致,可能導致三角面被剔除。
視錐體外(Frustum culling)
頂點變換后的三角形完全在視野外,會被丟棄。
深度裁剪或深度測試失敗
頂點變換后的 Z 值超出了 [0,1] 范圍(在使用 Depth Clip 的情況下)會被丟棄。
結論
分析下來,本次是因為“頂點變換后的三角形完全在視野外,會被丟棄。”