zoukankan      html  css  js  c++  java
  • 一个简单的GI--Reflective Shadow Maps

    Reflective Shadow Maps是一种简单的GI,虽然名字带有Shadow Maps,但是和Shadow Maps没有什么关系,
    是在screen space的一种方法,不像光线追踪和辐射度方法一样又消耗,又费时,适合于动态的场景,我们主要需要的变量基本都来自G-buffer,如下图
     
    从左到右依次为depth, world space coordinates, normal, flux.
    由于本算法简单,效果还不错,one-bounce的间接照明就足够了。
    算法很简单:
     
    Φp为需要反射的flux

    X为当前像素点,xp为采样点n为当前点的法向量,np为采样点的法向量。


    当采样点正好位于当前点发现方向时反射到的光最多。
    然后把各个采样点加和
     
    最后博主在unity中的实现结果是这样的,30个采样点,不知道为什么反射的光是像噪音一样的点,还请高人指点。。。

    unity5

    unity4.6

    真正的实现结果
     

     

    2015-9-25更新

    改正了一些错误

    flux贴图:

                      -------by  wolf96   http://blog.csdn.net/wolf96

  • 相关阅读:
    分解质因数
    大素数测试和分解质因数
    快速幂
    欧拉函数
    素数
    gcd,lcm,ext_gcd,inv
    凸包问题 poj 2187
    map的 简单用法
    判断线段是否在园内
    2-sat 问题
  • 原文地址:https://www.cnblogs.com/zhanlang96/p/4817730.html
Copyright © 2011-2022 走看看