zoukankan      html  css  js  c++  java
  • Image Based Lighting In UE3

    "IBL"全称为"Image-based Lighint",是一种伪装全局光照的方法.使用该方法可以获得较好的视觉效果并且可以达到实时渲染的目的.
    实现的方法之一就是首先捕获一张环境贴图,这张图可以是去真实世界中拿相机拍的(为了更好的效果,推荐使用HDR).也可以是游戏内相机实时渲染出来的.关于真实世界中拍环境图,可以参考Debevec的Blog中的信息.这张图拿到后,需要用诸如HDRShop或者其他商业与非商业类似功能软件处理,如果你的场景和光照是相对来说"非常静态地",可以把这个处理好的图,塞进cmftstudio处理成现成的数据贴图方便runtime时候直接使用.

    关于算法方面,可以看看GPU Gems的第19章。主要思想就是,我们可以认为在封闭环境下(比如房间),环境贴图中包含了"空间内的GI"信息,所以我们可以很方便的使用cubemap计算出某个像素周边的GI权重并应用于计算结果.

    这个是我在UE3中用自定义材质做的demo:

    可以看到,用下IBL,随随便便胜过LocalLighting.

    参考:

    GPU Gems, Chapter19

    Schlick, Christophe. 1994. "An Inexpensive BRDF Model for Physically-Based Rendering." Computer Graphics Forum 13(3), pp. 233–246. This article presents the Fresnel equation approximation widely used throughout the graphics industry—so widely used, in fact, that some programmers mistakenly believe the approximation is the Fresnel equation.

    Paul Debevec provides a number of useful IBL tools and papers at Paul Debevec Home Page

    Ramamoorthi, Ravi, and Pat Hanrahan. 2001. "An Efficient Representation for Irradiance Environment Maps." In Proceedings of SIGGRAPH 2001. This article on diffuse convolution using spherical harmonics is available online atAn Efficient Representation for Irradiance Environment Maps

  • 相关阅读:
    记一个centos分区大小调整过程
    破解StarUML3.01最新版 for Linux(Ubuntu16LTS)
    为什么我们要使用int类型来保存时间类型的数据。
    sphinx-doc的中文搜索
    ubuntu下file_get_contents返回空字符串
    PSR-PHP开发规范(本文版权归作者:luluyrt@163.com)
    PHP单例模式
    PHP中 PCRE正则表达式模式修饰符“u” 的使用。
    Mysql 插入时间时报错Incorrect datetime value: '' for column 'createtime'
    如何给list清空
  • 原文地址:https://www.cnblogs.com/Baesky/p/IBL.html
Copyright © 2011-2022 走看看