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

背景

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

原因

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

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

视锥体外(Frustum culling)

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

深度裁剪或深度测试失败

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

结论

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

相关推荐
小小数媒成员3 天前
顶点-片元着色器基础
着色器
Yasin Chen4 天前
Unity TMP_SDF 分析(三)顶点着色器1
unity·游戏引擎·着色器
WarPigs8 天前
Unity CG着色器实战
unity·着色器
不吃鱼的猫7489 天前
【从零开始学 OpenGL:现代图形渲染实战】第03篇-深入着色器与GLSL
图形渲染·着色器
gis分享者13 天前
学习threejs,实现带有GLSL着色器的动画
动画·threejs·着色器·glsl·shadermaterial·effectcomposer·unrealbloompass
WarPigs1 个月前
着色器multi_compile笔记
unity·着色器
gis分享者1 个月前
学习threejs,实现山谷奔跑效果
threejs·着色器·glsl·shadermaterial·unrealbloompass·山谷奔跑·simplex
HJHoMFoavQSO1 个月前
基于Prescan、CarSim和Simulink的弯道超车避撞联合仿真
着色器
Chary20161 个月前
opengl 着色器
opengl·着色器
ct9782 个月前
Cesium高级特效与着色器开发全指南
前端·gis·cesium·着色器