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

背景

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

原因

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

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

视锥体外(Frustum culling)

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

深度裁剪或深度测试失败

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

结论

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

相关推荐
雪弯了眉梢6 天前
OpenGL(四)着色器(Shader)
着色器
开发游戏的老王12 天前
虚幻引擎虚拟制片入门教程 之 3D渲染基础知识:模型、材质、贴图、UV等
3d·虚幻·材质·模型·着色器·uv
云澈ovo13 天前
光线追踪加速:NVIDIA OptiX在Maya中的着色器编译优化
maya·着色器
郝学胜-神的一滴17 天前
中秋特别篇:使用QtOpenGL和着色器绘制星空与满月
开发语言·c++·算法·软件工程·着色器·中秋
淡海水17 天前
【URP】Unity[内置Shader]光照着色器Lit
unity·游戏引擎·shader·urp·着色器·lit
Duo1J1 个月前
【OpenGL】LearnOpenGL学习笔记28 - 延迟渲染 Deferred Rendering
笔记·学习·图形渲染·着色器
Duo1J1 个月前
【OpenGL】LearnOpenGL学习笔记25 - 法线贴图 NormalMap
笔记·学习·图形渲染·贴图·着色器
Duo1J1 个月前
【OpenGL】LearnOpenGL学习笔记26 - 视差贴图 Parallax Map
笔记·学习·图形渲染·贴图·着色器
gis分享者1 个月前
学习threejs,使用自定义GLSL 着色器,实现水面、粒子特效
threejs·着色器·glsl·粒子·shadermaterial·unrealbloompass·水面
浩浩乎@2 个月前
【openGLES】着色器语言(GLSL)
人工智能·算法·着色器