我正在尝试在我的3D渲染器中实现隐藏曲面确定算法。我发现了非常好的方法,比如Z-Buffer或Warnock的算法。然而,它们极其耗费资源。因此,我想知道,为什么不使用不透明的重叠颜色,这样我可以获得相同的视觉效果?。在进一步讨论之前,我想收到一些反馈和意见,当然,如果这是一个很好的解决方案,可以使用这篇帖子与社区分享。该方法基本上可以归结为:1(按Z坐标对场景中的所有多边形进行排序2(使用不透明颜色按顺序渲染所有多边形。图像/视图/视觉效果将是相同的,而不必采用昂贵的逐像素计算过程。(例如:假设我有两个相交的多边形(P1,P2(。假定查看器最近的Z坐标为0,如果P1z=10且P2z=3,则渲染顺序为:P2>P1。当绘制时,P2的颜色将覆盖P1的边缘和放置在两个多边形之间的2D XY相交处的颜色(你认为这可能有什么缺点?你认为这足以解决这个问题吗?PS:我不使用多边形网格,要处理的3D对象是简单的凹凸图形。
多边形可以相交(甚至部分相交(,并确定一个多边形的哪个部分在另一个多边形前面——这是一个非常昂贵的计算。