背景
directX调用了 draw,顶点着色器运行,但是像素着色器没有运行。
原因
- 光栅化阶段被剔除
- 说明:如果几何图元(如三角形)在光栅化阶段被剔除,像素着色器就不会被调用。
- 常见剔除原因:
背面剔除(Back-face culling)
默认是开启的,如果顶点顺序(顺时针/逆时针)不一致,可能导致三角面被剔除。
视锥体外(Frustum culling)
顶点变换后的三角形完全在视野外,会被丢弃。
深度裁剪或深度测试失败
顶点变换后的 Z 值超出了 [0,1] 范围(在使用 Depth Clip 的情况下)会被丢弃。
结论
分析下来,本次是因为"顶点变换后的三角形完全在视野外,会被丢弃。"