Shader Learn

10 片元的其他输出

discard:丢弃片元

噪声低于阈值的片元直接丢弃:不写颜色,也不写深度。透过洞能看到球的内壁。

01
01

每个像素运行一次拖动数字,或直接改代码

JS 这一侧gl.uniformMatrix4fv(uModel, …) // 旋转 -0.35 / 0.10

discard 让这个片元什么都不写:没有颜色,也没有深度,后面的东西会露出来。gl_FrontFacing 告诉你看到的是正面还是背面。

试一试

  • 把阈值调到 0.6,球上全是洞
  • 透过洞看到的内壁是什么颜色?为什么?
  • 把 discard 改成 color = vec3(0.0),比较两者的区别