像素着色器没有绘制的原因

背景

directX调用了 draw,顶点着色器运行,但是像素着色器没有运行。

原因

  1. 光栅化阶段被剔除
  • 说明:如果几何图元(如三角形)在光栅化阶段被剔除,像素着色器就不会被调用。
  • 常见剔除原因:
    背面剔除(Back-face culling)

默认是开启的,如果顶点顺序(顺时针/逆时针)不一致,可能导致三角面被剔除。

视锥体外(Frustum culling)

顶点变换后的三角形完全在视野外,会被丢弃。

深度裁剪或深度测试失败

顶点变换后的 Z 值超出了 0,1 范围(在使用 Depth Clip 的情况下)会被丢弃。

结论

分析下来,本次是因为"顶点变换后的三角形完全在视野外,会被丢弃。"

相关推荐
茉莉玫瑰花茶18 小时前
OpenGL [ GLSL 着色器基础 ]
着色器
李小白杂货铺3 天前
“正在编译着色器“ 耗时原理解析
着色器·技术原理·技术解析·原理解析·编译着色器·正在编译着色器·耗时原理
爱上网的小舟20 天前
着色器缓存大小设置多少合适?N卡A卡缓存路径与清理方法
缓存·着色器
灵境(虚幻知音)1 个月前
WebGL 不支持>1px的线绘制,那 Cesium 的带宽度的线是怎么画出来的?
webgl·cesium·着色器
破竹151 个月前
OpenGL ES调试汇总
图形渲染·着色器
小小数媒成员2 个月前
合并阶段和计算着色器【图文解释】
着色器
小小数媒成员2 个月前
顶点,几何,片元着色器+曲面细分阶段【图文解析】
着色器
SNAKEpc121382 个月前
OpenGL(十六)- 着色器统一值
c语言·c++·线性代数·算法·矩阵·图形渲染·着色器
SNAKEpc121382 个月前
OpenGL(十五)- 着色器语言GLSL
c语言·c++·线性代数·算法·矩阵·图形渲染·着色器
Li.map3 个月前
CesiumJS 地图主题系统:用着色器打造实时滤镜
javascript·arcgis·cesium·着色器