2013-10-08 58 views
0

我想向Stage3D游戏添加镜面反射,它几乎是工作的,但我不认为我有足够的把握在实际反射阶段发生的数学。
我有一个入射光矢量,我的脸部正常;我知道如何处理产生的反射矢量(归一化,然后使用标准化矢量指向播放器的相机,然后点产品),但AGAL操作码是什么将原始光矢量反映在脸上?我无法理解这一点。任何帮助赞赏...为三维镜面反射反射光的逻辑

回答

0

与GLSL与其反映()不同,AGAL没有任何帮助这样做。但你仍然可以自己计算反射矢量 - 即使GLSL参考页面为reflect()也提到了用于计算的公式:

For a given incident vector I and surface normal N reflect returns the reflection direction calculated as I - 2.0 * dot(N, I) * N. 
+0

感谢您的支持。我还必须将最终的点积限制在0和1之间;由于某种原因,负值是导致第二组反射。 – moosefetcher