避免中自定义光线路径表达式中的灯光重复

如果您创建自己的 LPE,并计划将它们叠加合成在一起,务必不要遗失任何灯光分布,但也不能出现任何双重灯光分布。

有一个小技巧可以避免这种情况:如果您有一组 LPE,创建一个新的 LPE,用于使用 & 操作符连接这些 LPE。结果应为黑色。如果某些灯光错误出现在多个 LPE 中,它会显示在此连接的 LPE 中。因此,如果我们采用三个 LPE,我们称之为 abc,您可以写入一组测试 LPE:
(a) & ((b) | (c))
(b) & ((a) | (c))
(c) & ((a) | (b))

...以了解是否共用任何灯光。每个测试的结果应为黑色。如果结果不是黑色,合成元素的总和将出现错误结果。

不要忘记使用圆括号,以确保计算顺序正确。

同样,您可以使用 | 操作符合并所有 LPE,进行反转,并使用 & 使其与所有可能的灯光合并,找到“剩余”的灯光分布。因此,对于我们的示例,合并的 LPE 应该是:
L.*E & ^((a) | (b) | (c))

... 这将涵盖所有可能的灯光路径 (L.*E),然后从中选择那些不在 LPE a、 bc 中任何一个的光线。