【发布时间】:2021-10-06 15:57:22
【问题描述】:
如果不是,那为什么要丢弃被打断的 earlyZ? 假设B前面有一个物体A,A在fs中有一个discard操作。假设A在屏幕坐标(100, 100)处的像素通过了Early z测试,那么它在fragment shader中被丢弃,所以A 没有机会写深度。现在渲染 B!显然 A 在 (100,100) 处不会对 B 产生任何影响。如果是这样,那为什么A的EarlyZ需要被打断?
【问题讨论】:
-
我没有完全明白你的问题,但从听起来,还有一种叫做透明度的东西,它会影响像素和深度将被丢弃/渲染的方式。
-
@SnipingPoodle 不抱歉,但“透明度”对片段的深度没有影响。当您使用Blending 时,透明度会起作用,但它与Depth Test 无关。
-
哎呀,对不起。
-
@SnipingPoodle 我只想知道 early-z 是否在 FS 之前将深度写入缓冲区。
标签: opengl graphics depth-testing