OpenGL之环境映射

1.1 环境映射(Environment Mapping)

具有光滑表面的物体会反射形成周围环境的影响,是一种环境光效果。

OpenGL之环境映射
光线跟踪等(全局光照)可以实现这种效果,但是效率太低,可以采用环境映射技术就能快速实现。

1.2 环境映射技术

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

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

1.2.2 立方体环境映射
采用立方体作为中间表面,效果更好,不存在基点的问题。

OpenGL之环境映射

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

1.3 OpenGL中相关函数

OpenGL之环境映射

Original: https://blog.csdn.net/TxyITxs/article/details/127824569
Author: TxyITxs
Title: OpenGL之环境映射

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/660751/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球