JavaScript中重叠颜色的隐藏和可见表面渲染

问题描述 投票:1回答:1

我正在尝试在3D渲染器中实现隐藏的表面确定算法。我发现了非常好的方法,例如Z缓冲区或Warnock算法。但是,它们非常消耗资源。因此,我想知道,为什么不使用不透明的重叠颜色,我可以获得相同的视觉效果?我希望在继续之前收到一些反馈意见,以防万一,事实证明这是一个很好的解决方案,可以使用此帖子作为与社区共享的一种方式。该方法基本上可以归结为:1)通过其Z坐标对场景中的所有多边形进行排序2)使用不透明颜色按顺序渲染所有多边形。图像/视图/视觉效果将相同,而不必诉诸于昂贵的逐像素计算过程。(示例:假设我有两个相交的多边形(P1,P2)。鉴于观看者最接近的Z坐标为0,如果P1z = 10且P2z = 3,则渲染顺序为:P2> P1。绘制时,P2的颜色将覆盖位于两个多边形之间的2D-XY交点中的那些P1的边缘和颜色)您认为这可能有什么缺点?您认为这足以解决问题吗?PS:我不使用多边形网格,要处理的3D对象是简单的凹凸图形。

javascript 3d html5-canvas rendering zbuffer
1个回答
0
投票

多边形可以相交(甚至部分相交)并确定一个多边形的哪个部分在另一个多边形的前面,这是非常昂贵的计算。

© www.soinside.com 2019 - 2024. All rights reserved.