OpenGL(十四) 环境反射 环境折射 的shader实现 1


在上一节我们讲解了如何制作天空盒,本篇文章介绍它的一个衍生功能——在物体上叠加 环境反射 。

核心原理

核心很简单,在天空盒中,视线照射到天空盒上的区域即需要绘制的部分。在环境反射中,需要绘制的区域变成了视线在物体表面的反射光线,反射光线照射到天空盒的位置即要绘制的部分。

环境反射

按照上面的说法,将法线方向传入shader中,具体编写如下:

环境折射

环境折射实现原理与环境反射相同,只不过在计算射出光线时使用折射函数:

总结

借助天空盒,可以很方便的实现环境反射和环境折射的效果。其中折射率有对照表,可以通过搜索引擎查到。

本文出自 松阳论道 转载必须注明出处

http://blog.songyang.net/417.html


说点什么吧...

电子邮件地址不会被公开。 必填项已用*标注

One thought on “OpenGL(十四) 环境反射 环境折射 的shader实现