计算机图形学入门(十七)-光线追踪(蒙特卡洛积分与路径追踪)
本部分继续光线追踪部分,先介绍了蒙特卡洛积分的方法,之后对路径追踪PT的发展和推导过程进行了全面的阐述。
学习视频
GAMES101-现代计算机图形学入门-闫令琪_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1X7411F744?p=16
本节需要准备知识:上一节的渲染方程、概率和微积分的基本知识。下面的蒙特卡洛积分部分也算是提前的知识储备。
蒙特卡洛积分
为什么:
我们想要解决一个定积分,但它可能很难通过解析式解决。
怎么样使用蒙特卡洛积分:
每次采样都采到那些概率高的点,在求总的估计量的时候就要降低这些点的占比,所以是除以概率
例子
注意
路径追踪
Whitted-Style光线追踪
可见:
计算机图形学入门(十三)-光线追踪(基本原理) - 知乎 (zhihu.com)
Whitted-Style光线追踪问题1:对于光滑材质并不能使用镜面反射那种计算方式
Whitted-Style光线追踪是不正确的
但是渲染方程是正确的
见上一节
计算机图形学入门(十六)-光线追踪(渲染方程) - 知乎 (zhihu.com)
一个简单的蒙特卡洛积分应用
继续写
渲染算法
进一步加入间接光照
严重的问题:指数爆炸
修改一下之前的算法
N!=1叫做分布式光线追踪,现在很少有人提了,还是指数爆炸的问题。
真实世界中光线确实不会停下来,但在计算机中可不能这么模拟,但限制弹射次数又会有能量损失(继续弹射的那部分光不去计算了),聪明的人们想出了办法:
俄罗斯轮盘赌
这样最后的光线追踪结果基本上和无限反射结果相同
但仍存在问题
需要提高效率
回想蒙特卡洛积分
渲染方程改写成对面积dA的积分
现在可以回到原来的算法了
路径追踪的代码基本就这些了
遗留问题,点光源怎么办?建议把点光源变成个小面积光源。
一些其他的点
右边就是本节讲述的方法实现
还有一些问题并没有谈到
计算机图形学入门(十七)-光线追踪(蒙特卡洛积分与路径追踪)相关推荐
- Games101计算机图形学入门基础之二:光栅化
Games101计算机图形学入门基础之二:光栅化 引言 三角形的离散化 采样 走样 走样带来的瑕疵 反走样 先模糊再采样 傅里叶变换 低通滤波 卷积 多重采样抗锯齿(超采样) 深度缓存 可见性与遮挡( ...
- 计算机图形学入门-线性代数复习
本专栏内容整理了GAMES101的计算机图形学课程的主要内容,作为我学习计算机图形学的一份复习备份或叫做笔记.内容中如有错误,或有其他建议,欢迎大家指出. 附上GAMES101计算机图形学课程:GAM ...
- 计算机图形学入门(一)-线性代数部分知识1
本部分主要介绍了向量的点乘与叉乘在图形学中的基本应用,介绍了图形学中常用的2D矩阵变换,例如缩放.对称.切变换.旋转.平移.逆变换.组合变换和分解变换.还有在图形学中为了简化操作而采取的添加维度的方法 ...
- 计算机图形学入门(二)-线性代数部分知识2视图变换和投影变换
本章主要进行了视图/相机变换的求解,和两种投影变换的求解(正交投影.透视投影),并且简单的完善了3D旋转变换的介绍. 主要的学习过程来自下面的视频,本文只会有主要的基础内容,默认一些知识大家是掌握的, ...
- GAMES101-现代计算机图形学入门-闫令琪——Lecture 05 Rasterization 1 (Triangles)
GAMES101-现代计算机图形学入门-闫令琪--Lecture 05 Rasterization 1 (Triangles) 目录 GAMES101-现代计算机图形学入门-闫令琪--Lecture ...
- Games101计算机图形学入门基础之一:向量变换、矩阵变换、视图变换、欧拉角与四元数
Games101计算机图形学入门基础之一:向量变换.矩阵变换.齐次坐标.欧拉角与四元数 目录 Games101计算机图形学入门基础之一:向量变换.矩阵变换.齐次坐标.欧拉角与四元数 前言 向量 向量加 ...
- OpenGl计算机图形学入门
OpenGl计算机图形学入门 前言 一.OpenGl及GLSL 二.语言 1.C++及C++应用程序 (1)C++ (2)C++应用程序 三.库 1.GLFW 窗口管理库 2.GLEW 扩展库 3.G ...
- GAMES101-现代计算机图形学入门09(光线追踪)
基本光线跟踪算法 光线定义 首先先要对光线定义 ●光沿直线传播: ●不发生碰撞: ●是从光源到人眼的--对于第三个性质,我们在根据光路可逆性,会采取从人眼到光源的方法 光线追踪是从人的眼睛(摄像机)出 ...
- 计算机图形学入门总结!
↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:Albert,东南大学,Datawhale成员 Computer ...
- 对计算机图形学知识总结第二版,计算机图形学入门总结!
图形学实验在百度网盘. 1. Why study transformation 1.1 Modeling translation (平移) rotation(旋转) scaling (缩放) proj ...
最新文章
- Apache源码包在LINUX(CENTOS6.8)中的安装(出现问题及解决)
- 忘记了root密码怎么办?
- vue根据指令动态改变title名字
- GPS定位冷启动和热启动的区别
- 东半球最全的 postman 使用教程
- ImageZoom 图片放大效果
- 天津智慧路灯+“新基建”示范区建设启动、沪苏通长江公铁大桥
- Word复制表格样式变化问题
- littlevgl抗锯齿_「VGL」Littlevgl 显示汉字 - seo实验室
- 波士顿动力机器狗签约世界第一马戏团!
- 【寒江雪】UV+Depth信息计算世界坐标
- ae批量修改字体_AE脚本-批量文字替换图层样式属性编辑脚本Aescripts pt_TextEdit 2.41 + 使用教程...
- 一个可供创业公司借鉴的持续集成技术实践
- 神奇宝贝:面向开发人员的免费RESTful神奇宝贝API
- 有一牧场,已知养牛27头,6天把草吃尽;养牛23头,9天把草吃尽。如果养牛21头,那么几天能把牧场上的草吃尽呢?并且牧场上的草是不断生长的。
- LeetCode1221.分割平衡字符串1894.找到需要补充粉笔的学生编号(C++)
- 在C#中设置打印机纸张大小,如此简单
- 自动控制原理(4)——传递函数、典型环节的传递函数
- 静态网页和动态网页-个人学习理解
- 职高计算机专业能考大学吗,职高生不可以考大学,这是多数人的误解,网友:照样上本科!...
热门文章
- 有别于普通专线的BGP线路
- 中兴手机怎么与计算机连接网络连接不上,中兴手机怎么连接电脑
- mysql 锁住一行数据_MySQL-锁
- Property [text] not found on type [java.lang.String]
- seo入门最重要的是什么?
- 未明学院:都知道智商、情商、逆商,可你知道“搜商”吗?
- 如何使用 Serverless 做架构和项目管理—— 三年全栈经验总结
- 七夕情人节送什么礼物给女朋友?音质好的蓝牙耳机推荐
- 什么是Google AMP
- 音视频技术开发周刊 | 164