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

背景

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

原因

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

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

视锥体外(Frustum culling)

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

深度裁剪或深度测试失败

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

结论

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

相关推荐
gis分享者3 天前
学习threejs,使用自定义GLSL 着色器,生成漂流的3D能量球
3d·threejs·着色器·glsl·shadermaterial·能量球
徐子竣6 天前
[学习记录]Unity-Shader-几何着色器
unity·游戏引擎·着色器
徐子竣21 天前
Unity Shader开发-着色器变体(1)-着色器变体概述
unity·游戏引擎·着色器
爱怪笑的小杰杰1 个月前
Cesium圆锥渐变色实现:融合顶点着色器、Canvas动态贴图与静态纹理的多方案整合
贴图·着色器
wcjwdq1 个月前
“顶点着色器”和“片元着色器”是先处理完所有顶点再统一进入片元阶段,还是一个顶点处理完就去跑它的片元?
算法·着色器
冒泡P2 个月前
Unity Shader入门(更新中)
unity·c#·游戏引擎·图形渲染·着色器
龙湾开发2 个月前
计算机图形学编程(使用OpenGL和C++)(第2版)学习笔记 13.几何着色器(二)爆炸效果&修改图元类型
c++·笔记·学习·3d·图形渲染·着色器
qziovv2 个月前
WebGL 3着色器和GLSL
webgl·着色器
前端小崔2 个月前
从零开始学习three.js(18):一文详解three.js中的着色器Shader
前端·javascript·学习·3d·webgl·数据可视化·着色器