光线追踪-个人理解

(1)

一篇光线追踪的入门

https://zhuanlan.zhihu.com/p/41269520

间接反射

反射这部分[1][2]中的实现看起来是有比较大的差异,但总体来说思路都是从Screen Space Reflection这类技术扩展而来,有关SSR的各类方法我会在今后的文章中专门去综述。

[1]中沿用了自家Frostbite引擎的在SIGGRAPH 2015上用到的方法[12],好处是能够物理正确地处理粗糙度相关的反射(而不是简单的镜面反射)。具体实现时使用半分辨率的UAV Texture,把原方法中基于depth buffer的ray marching改为了直接用raytrace去找反射的交点,计算反射点的颜色,然后记录对应采样方向的概率密度函数(pdf),最后用一个resolve pass在全分辨率去做合成。关于这部分的实现,作者很贴心的在slides里面提供了伪代码,想要自己实现的同学可以去看代码。

降噪

这个部分也没有太多描述,可以总结为一句话:TAA大法好。[1]借鉴了SVGF的方法[14],在TAA的基础上再做空域的滤波,[2]基本只用了原有的TAA框架。

结尾

有关本文介绍的光线追踪的一些基本概念,建议大家去看Scratchapixel有关光线追踪和蒙特卡洛积分的系列入门文章[6][15]。

进一步去了解全局照明算法相关的知识,大家也可以去读经典的PBRT:《Physically Based Rendering: From Theory to Implementation》,秦春林老师写的《全局光照技术》也是非常好的相关书籍。

需要进一步了解DXR API,建议去看微软的官方Sample:Microsoft/DirectX-Graphics-Samples,此外知乎上也有两篇这个主题的文章[16][17]。

另外明年会出版《Ray Tracing Gems》,应该会有大量的工业界如何使用实时光线追踪的例子,大家可以关注。

 

嗯。。。所以说人生就好像一个蒙特卡洛积分,你的世界观就是那个积分值,而世界观的形成就是在以你自身为中心对这个世界进行估计,估计的方法就是去经历各种事,每一件经历过的事给你的内心体验最后都会作为一个样本更新你的世界观。随着时间的推移,你经历的事越来越多,世界观也就越来越稳定,几乎没什么事再让你兴奋了,你就变成了一个无趣的成年人。接受教育就像是重要性采样的过程,它能保证有些事即使你没有经历过,也能通过已有的知识去推测和判断,但同时也很可能让你更快地变得无趣。。。有关渲染的话题还有几篇内容在写,希望今年草稿箱可以清空。另外最近初来杭州,喜欢图形的朋友(特别是网易的各位大佬)可以考虑找我面基。也欢迎喜欢做游戏(尤其是galgame)的小伙伴一起聊聊或者做些有意思的东西。

PS:今天在Siggraph 2018上我的前老板(还好去年年会的时候完成了和黄老板合影打卡的新手任务)发布了新一代图灵架构显卡,也是首款硬件支持光线追踪的GPU,感兴趣的同学可以关注新显卡发布的一些消息:NVIDIA Unveils Quadro RTX, World’s First Ray-Tracing GPU,重点可以关注GigaRays/sec这个光线追踪的指标,大家可以自己换算一下,大概相当于多少spp per frame。另外,接下来可能会考虑再写一篇有关光线追踪实时去噪技术的综述,作为本篇文章的进阶内容。

引用

[1] Shiny Pixels and Beyond: Real-Time Raytracing at SEED

[2] Experiments with DirectX Raytracing in Remedy's Northlight Engine

[3] Rendering equation

[4] Real-Time Rendering, Third Edition. 8.1 Radiometry for Arbitrary Lighting

[5] Introduction to Light, Color and Color Space

[6] Monte Carlo Methods in Practice

[7] Inverse transform sampling

[8] Quasi-Monte Carlo method

[9] 低差异序列(一)- 常见序列的定义及性质

[10] DXR Functional Spec

[11] Introduction to 3D Game Programming with DirectX 12

[12] Stochastic Screen-Space Reflections

[13] Approximating Translucency for a Fast, Cheap and Convincing Subsurface Scattering Look

[14] Spatiotemporal Variance-Guided Filtering: Real-Time Reconstruction for Path-Traced Global Illumination

[15] Mathematical Foundations of Monte Carlo Methods

[16] 光线追踪与实时渲染的未来

[17] DirectX Raytracing(DXR) functional Spec阅读笔记+注解

 

 

编辑于 2018-08-14

一点疑问,渲染方程中的Le是不是理解为直接光照更好些呢?

不,这是两个完全不同的概念,Le表示该光照来自于物体内部,而直接光照和间接光照表示的光照都是来自物体之外的其他物体的,区别仅在于直接光照来自于物体之外的某个发光体的直接照射,间接光照则是某个发光体经过其他表面的若干次传递到达物体。从path tracing的角度来说,前者的路径长度为1,后者是大于1的。

我用BlueNoise做Halton(滑稽)

哦?基于Siggraph Asia 2016的那篇文章吗?

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值