Home › Forums › Games202-高质量实时渲染 › 【作业2bonus】环境光旋转部分结果很闪烁 › Reply To: 【作业2bonus】环境光旋转部分结果很闪烁
劉文刀
Participant
问题解决,此贴终结
(此处引起闪烁的原因只是我自身代码中存在的问题,不保证其他错误不会造成闪烁)
闪烁原因:直接或简介改变了全局变量precomputeL的值
作业中使用的旋转方法是将旋转后的值表示为同阶球谐基函数的线性组合,所以基函数的值(precomputeL中的值)不能改变,改变之后就会引起闪烁。
我的代码中使用了类似这样的语法“result = precomputeL”,之后改变了result的值。而在JS中,由于precomputeL是Array类型,所以这样写的话,result表示为precomputeL的一个引用,改变result的值会间接改变precomputeL的值,引起闪烁。(没学过JS,对于某些语法或类型的描述可能不太正确)