是否可以通过从其他模型中减去深度缓冲区的逆来修改深度缓冲区以渲染一个模型?例如说深度测试在第二个模型的区域中的第一个模型失败,从而在另一个模型中切出一个洞。
编辑我要执行此操作的原因之一是由于两个模型之间的Z距较远。我尝试更改不可见的“切出”节点的渲染顺序,但这会导致远距离Z战斗问题。
有多种方法可以实现,但是最简单的方法可能是]
colorBufferWriteMask
属性设置为SCNColorMaskNone
(它将仍然写入作为独立属性的深度缓冲区,即writesToDepthBuffer
)renderingOrder
设置为-1
(或将使其始终在被遮挡的节点之前呈现的任何值)>]