当前位置: 首页 > news >正文

辐射度方法

到目前为止,我们所介绍的三种全局光照技术(即路径追踪,光子映射和梅特波利斯光照传输)都是基于蒙特卡洛方法的算法,他们都是通过对某种概率密度函数进行采样,然后将采样得到的样本直接带入到像素贡献函数中计算该样本的贡献值,最后计算所有样本的平均值。不同的是它们三者都使用不同的概率密度函数,例如路径追踪使用路径各个顶点的BSDF分布函数的乘机作为概率密度函数,光子映射在此基础上引入了一个概率密度估计函数用来处理两个相邻顶点的融合,而梅特波利斯光照传输则通过梅特波利斯算法直接对原始像素贡献函数进行采样。

虽然他们使用不同的概率密度函数,但是其估计的一致性保证了样本数量趋于无限的情况下能够收敛到真实值,因此这些算法能够模拟光照传输中的各种路径组合,这些方法也被认为是渲染领域里最能产生高质量图像结果的渲染算法。然而与之相随的是蒙特卡洛方法存在严重的噪点,这需要通过大量的样本才能达到人眼可接受的状态,因此这些渲染算法的时间成本都非常高。

从本章开始,本数的内容将逐步由离线过度到实时渲染,这体现在时间成本作为一个越来越重要的考量因素。
与之相应的是我们不得不牺牲渲染结果图像的精确性,以换取计算时间上的效率。
因此从本章开始,我们将要介绍的所有方法都可以归类为近似方法,这些方法可能忽略某些计算成本较高的
因素,或者使用一些近似模型来提高计算的效率等,达到实时渲染的目标。

由此,对于后面的这些近似方法,我们还必须了解这些方法使用了怎样的近似模型,例如它们
忽略了哪些因素,以及对算法的哪一部分进行了近似,因为这些近似或忽略的部分往往是
算法被限制的地方,因此也是其变种算法中需要优化改进的地方,由此也不难理解这些方法会处于快速的
迭代更新中,但是我们将集中精力于探索其中的核心思路,即那些不变的部分。

首先,我们从辐射度方法开始。

相关文章:

  • [计算机体系结构:量化研究方法]学习笔记:Chapter 1
  • 基于预计算辐射传递的全局光照技术
  • 傅里叶变换
  • PhpStorm插件之Translation
  • 小波变换原理
  • 如何通俗地理解傅立叶变换?
  • T函数
  • 分部积分法
  • mssql sqlserver 使用SSMS运行sql脚本的六种方法分享
  • 探讨基于球谐函数的全局光照
  • vue的实例属性$data
  • unity中的球谐光照
  • Python简介
  • 光探针的细节
  • 软件工程第十一周总结
  • 【5+】跨webview多页面 触发事件(二)
  • eclipse的离线汉化
  • Hibernate最全面试题
  • Java-详解HashMap
  • MySQL常见的两种存储引擎:MyISAM与InnoDB的爱恨情仇
  • Next.js之基础概念(二)
  • Node项目之评分系统(二)- 数据库设计
  • Perseus-BERT——业内性能极致优化的BERT训练方案
  • Spark RDD学习: aggregate函数
  • 设计模式(12)迭代器模式(讲解+应用)
  • 使用 Node.js 的 nodemailer 模块发送邮件(支持 QQ、163 等、支持附件)
  • 手机端车牌号码键盘的vue组件
  • 探索 JS 中的模块化
  • elasticsearch-head插件安装
  • ​七周四次课(5月9日)iptables filter表案例、iptables nat表应用
  • (1/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (博弈 sg入门)kiki's game -- hdu -- 2147
  • (续)使用Django搭建一个完整的项目(Centos7+Nginx)
  • (一)python发送HTTP 请求的两种方式(get和post )
  • (一)使用Mybatis实现在student数据库中插入一个学生信息
  • (终章)[图像识别]13.OpenCV案例 自定义训练集分类器物体检测
  • (转)JVM内存分配 -Xms128m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m
  • *(长期更新)软考网络工程师学习笔记——Section 22 无线局域网
  • .bat批处理(一):@echo off
  • .dwp和.webpart的区别
  • .Net 8.0 新的变化
  • .net core 6 集成 elasticsearch 并 使用分词器
  • .NET HttpWebRequest、WebClient、HttpClient
  • .NET 常见的偏门问题
  • .NETCORE 开发登录接口MFA谷歌多因子身份验证
  • .Net高阶异常处理第二篇~~ dump进阶之MiniDumpWriter
  • .NET简谈设计模式之(单件模式)
  • /usr/bin/python: can't decompress data; zlib not available 的异常处理
  • [\u4e00-\u9fa5] //匹配中文字符
  • [Android] Android ActivityManager
  • [BUG]Datax写入数据到psql报不能序列化特殊字符
  • [c++] C++多态(虚函数和虚继承)
  • [Excel]如何找到非固定空白格數列的條件數據? 以月份報價表單為例
  • [Foreman]解决Unable to find internal system admin account
  • [hdu 2896] 病毒侵袭 [ac自动机][病毒特征码匹配]