锥面光线追踪:覆盖,重叠和邻接的三角形


10

John Amanatides 在他的经典论文《使用锥进行射线追踪》中描述了经典射线追踪的一种变体。通过将光线的概念扩展一个孔径角(使其成为圆锥形),可以减少混叠效果(包括那些源自太少的蒙特卡洛样本的混叠效果)。

在圆锥三角形相交期间,将计算标量覆盖率值。该值表示被三角形覆盖的圆锥的分数。如果小于,则表示三角形没有完全覆盖圆锥体。需要进一步测试。但是,如果不使用更先进的技术,我们只知道覆盖了多少圆锥体,而不知道覆盖哪些部分。1

阿马那提德州:

由于目前仅使用分数覆盖率值来混合来自各种对象的贡献,因此将正确计算重叠的曲面,但不会正确计算邻接的曲面。

这对我来说没有意义。从我的角度来看,这是另一回事。让我们举个例子:我们有两个邻接的三角形,一个绿色和一个蓝色的三角形,每个三角形正好覆盖了我们圆锥的50%。它们与观看者的距离相同。

绿色和蓝色三角形

首先测试绿色三角形。覆盖值为0.5,因此接下来将测试蓝色三角形。蓝色覆盖值为0.5时,我们的视锥已被完全覆盖,因此我们完成了操作,最终得到了50:50的绿蓝色混合物。大!

现在想象一下,我们杀死了蓝色三角形,并在绿色一个重叠的后面添加了一个红色。Greeny再次为我们提供了0.5的覆盖率值。由于我们不再需要测试蓝色的了,所以我们往下看,然后很快找到红色的了。这也将返回一些大于0的coverage值,这不应返回,因为它在绿色的后面

因此,由此得出的结论是,邻接的三角形可以很好地工作,而重叠的三角形则需要更多魔术,例如覆盖蒙版才能正确。这与Amanatides所说的相反。我误会了什么吗?或者这是纸条上的纸条?

Answers:


3

我确实基于Amantides的工作实现了光线追踪器,但是,就像那年前一样,我对纸张的记忆有点生锈。

但是,忽略这种特殊情况,通常在涉及分数覆盖(例如Alpha合成)时(请参阅“ A到B”),我的理解是通常的假设是要合成的项目是不相关的。

因此,如果具有X%覆盖率的A位于具有Y%覆盖率的B的顶部,并且背景位于C的顶部,则假定人们将看到
X%* A +(100-X%)* Y%* B +(100-X %)(100 %%)* C

那有意义吗?显然,在A和B高度相关的情况下,这将产生“泄漏”。

我可能在射线上戴了一点口罩以避免这些问题,但这是很久以前的事了。


有了这样的解释,这完全有道理,谢谢!如果您还记得,与普通光线追踪相比,您在锥面追踪方面的经验如何?当然,这是一个近似值,但是它以可接受的质量实现了可观的加速吗?
David Kuri 2015年

哦,天哪,很久以前了。实际上,我只实现了圆锥跟踪。我是否真的尝试过关闭半径部分,我简直不记得了,但是,如果我有时间,我会尽力记住沿圆锥线追踪路线的利弊。
西蒙F
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.