我正在进行体素游戏,我将水设计为0.5 alpha的立方体。如果所有的水都处于相同的高度,它的效果很好,如下图所示:
但是,如果水的高度不同,则会发生α重叠:
如何防止出现这种重叠? (例如,仅为每个像素绘制最近的水体,丢弃剩余的水体)。我是否需要使用FrameBuffers,使用多次传递绘制场景,或者使用备用混合函数或采用另一种较少GPU的方法就足够了?
答案 0 :(得分:3)
我找到了一个没有通过多次传递绘制场景的答案。我希望它对某人有所帮助:
我们将为每个像素绘制最近的水体,丢弃剩余的水体,从而避免重叠。