如何实现多灯快速照明?
我不想束缚玩家,他可以放置无限数量,并且可以在关卡中重叠(点)灯。
问题在于,包含动态循环(用于计算光照)所必需的着色器往往非常慢。
我的想法是,如果有可能在编译时编译一个着色器n次,其中n是光照数量。如果在编译时知道数字n,则可以自动展开循环。是否可以仅使用不同数量的灯光来生成同一着色器的n个版本?
然后,在运行时,我可以决定将哪个着色器用于关卡的哪个部分。
如果灯光是由播放器动态添加的,那么“编译时”着色器如何才能成为正确的答案?
—
塞斯·巴丁
如我所写,编译器可以为1,2,3,.. lights生成着色器,并且在运行时我可以决定为该级别的哪一部分使用哪个着色器
—
codymanix 2013年
编译时着色器需要知道要将灯光放置在哪里,灯光的任何动态都会破坏它们
—
棘手的怪胎
只有灯光数量应该是动态的。位置将作为参数提供。
—
codymanix
听起来您有答案。您知道最大的灯光数量和可能的位置范围。
—
ashes999