OpenGL之环境映射

1.1 环境映射(Environment Mapping)

具有光滑表面的物体会反射形成周围环境的影响,是一种环境光效果。
OpenGL之环境映射_第1张图片
光线跟踪等(全局光照)可以实现这种效果,但是效率太低,可以采用环境映射技术就能快速实现。

1.2 环境映射技术

1.2.1 原理
原理是将整个环境信息映射到一个中间表面上(球或立方体表面)。

  • 将相机放在场景的中心,拍摄/渲染得到环境图像;
  • 将图像贴到一个球或立方体表面上;
  • 绘制物体时,即可从球面或立方体表面上获得所映射的纹理值。
    OpenGL之环境映射_第2张图片
    对应的纹理值为出射方向指向的球面上的纹理值。
    OpenGL之环境映射_第3张图片

1.2.2 立方体环境映射
采用立方体作为中间表面,效果更好,不存在基点的问题。
OpenGL之环境映射_第4张图片

这种中间表面就是类似于一个天空盒或天空球,很多场景里面水面的天空倒影就是一个天空盒纹理映射的过程。

1.3 OpenGL中相关函数
OpenGL之环境映射_第5张图片

你可能感兴趣的:(OpenGL,图形渲染,OpenGL)