1.1 环境映射(Environment Mapping)
具有光滑表面的物体会反射形成周围环境的影响,是一种环境光效果。
光线跟踪等(全局光照)可以实现这种效果,但是效率太低,可以采用环境映射技术就能快速实现。
1.2 环境映射技术
1.2.1 原理
原理是将整个环境信息映射到一个中间表面上(球或立方体表面)。
- 将相机放在场景的中心,拍摄/渲染得到环境图像;
- 将图像贴到一个球或立方体表面上;
- 绘制物体时,即可从球面或立方体表面上获得所映射的纹理值。
对应的纹理值为出射方向指向的球面上的纹理值。
1.2.2 立方体环境映射
采用立方体作为中间表面,效果更好,不存在基点的问题。
这种中间表面就是类似于一个天空盒或天空球,很多场景里面水面的天空倒影就是一个天空盒纹理映射的过程。
1.3 OpenGL中相关函数