首页 > 其他分享 >04 Real-time Global Illumination(GI)

04 Real-time Global Illumination(GI)

时间:2023-04-29 17:00:17浏览次数:45  
标签:Real 次级 04 shadowmap 光源 Global bounce point 光照

1. Reflective Shadow Map(RSM)

  • 在RTR中,全局光照是想要得到比直接光照多一次bounce的间接光照。一切被直接光照照亮的物体都可以作为one bounce间接光照的光源(indirection light)。所以,全局光照就是direction+indirection。
  • 需要知道次级光源有哪些:shadowmap;需要计算次级光源在shading point的贡献:蒙特卡洛。
  • 可以将shadow map的每一个像素看作一个次级光源。
  • 假设反射物都是diffuse的,则不需要考虑观察方向对反射光观察结果的影响。
  • 只需要存储flux。对于visibility不容易计算,所以不做计算。

  • 给定一个shading point,只需要找到距离比较近的次级光源就可以了。
  • 在世界坐标系下找到相近位置比较复杂,可以在shadowmap中查找,通过采样得到。
  • 在RSM中,除了depth,还保存了世界坐标(计算距离)、法线、flux(光源属性)。
  • 容易实现;但是shadowmap数量与光源数量有关、不计入visibility、假设反射物diffuse、采样率与质量权衡。

标签:Real,次级,04,shadowmap,光源,Global,bounce,point,光照
From: https://www.cnblogs.com/etherovo/p/17364180.html

相关文章

  • 力扣---1004. 最大连续1的个数 III
    给定一个二进制数组 nums 和一个整数k,如果可以翻转最多k个0,则返回数组中连续1的最大个数。 示例1:输入:nums=[1,1,1,0,0,0,1,1,1,1,0],K=2输出:6解释:[1,1,1,0,0,1,1,1,1,1,1]粗体数字从0翻转到1,最长的子数组长度为6。示例2:输入:nums=[0,0,1,1,0,0,1,1,1,......
  • 03 Real-time Environment Mapping
    1.ShadingfromEnvionmentLighting--SplitSum使用IBL(imagebasedlighting)做光照积分,不考虑visibility。可以使用蒙特卡洛积分,但是需要做sampling,所以很慢。一般使用sampling的手段尽量避免在RTR中使用。如果BRDF是glossy则support小,如果diffuse则smooth,则BRDF可以......
  • ReadAlignChunk_processChunks.cpp:204:processChunks EXITING because of FATAL ERRO
     001、star报错 002、解决方法fastq文件为压缩格式,运行时需添加该参数:--readFilesCommandzcat ......
  • ubuntu 20.04 安装obs 录屏软件
    obs是一个非常好用的录屏软件,我们在windows安装和使用是非常的简单,但是在ubuntu安装还是比较麻烦的,需要使用命令行,还需要很多的依赖。修改源debhttp://archive.ubuntu.com/ubuntu/focalmainrestricteduniversemultiversedeb-srchttp://archive.ubuntu.com/ubuntu/focalma......
  • 【230429-2】用三重循环输出立方体的八个顶点坐标
    【代码】packagetest230429;/***输出立方体的八个顶点坐标*边长为a的立方体一角在(0,0,0),其对角在(a,a,a),求所有顶点的坐标*这是一个可重排列问题,在2阶集合{"0","a"}中进行3次选取。*使用三重循环即可解决此问题。*/publicclassCubeTops{publicstaticvoid......
  • 【愚公系列】2023年04月 .NET CORE工具案例-.NET Core使用MiniWord
    (文章目录)前言MiniWord模板引擎的主要功能是根据模板,生成对应的Word文档。支持跨平台,项目采用类似Vue、React模板方式,在模板定义相应的变量,再结合数据,快速生成Word文件。MiniWord官网:https://github.com/mini-software/MiniWord一、.NETCore使用MiniWord1.安装包MiniWord......
  • 总结20230428
    代码时间(包括上课):1h代码量(行):30行博客数量(篇):1篇相关事项:1、今天上午第一节课是计算机网络,开启了运输层的新篇章。2、今天上午第二节是概率论,讲的是概率论的方差、协方差、相关系数等知识。3、今天晚上打算在学一点Javaweb的知识。......
  • 每日总结2023-04-28
    今天完成了ANdroid中的找回密码packagecom.example.math;/**找回界面*/importstaticandroid.widget.Toast.LENGTH_SHORT;importandroidx.appcompat.app.AppCompatActivity;importandroid.os.Bundle;importandroid.os.Handler;importandroid.view.View;import......
  • day08-优惠券秒杀04
    功能03-优惠券秒杀044.功能03-优惠券秒杀4.7Redis优化秒杀4.7.1优化分析现在来回顾一下优惠券秒杀业务的两个主要问题:(1)首先是对优惠券的扣减,需要防止库存超卖现象;(2)其次,需要对每个用户下单数量进行限制,实现一人一单的功能。处理秒杀优惠券的业务:先根据获取到的优惠券id,先......
  • 2023-04-28:将一个给定字符串 s 根据给定的行数 numRows 以从上往下、从左到右进行 Z
    2023-04-28:将一个给定字符串s根据给定的行数numRows以从上往下、从左到右进行Z字形排列比如输入字符串为"PAYPALISHIRING"行数为3时,排列如下PAHNAPLSIIGYIR之后,你的输出需要从左往右逐行读取,产生出一个新的字符串"PAHNAPLSIIGYIR"请你实现......