7. Photon Mapping(已完成)

第7章总计100多页,一些关键词:

backward ray tracing, two-pass methods, Russian roulette, k-d tree, density estimate, kNN, photon map, caustics, SDS light path, reverse photon mapping, radius reduction, Progressive photon mapping, stochastic progressive photon mapping, probabilistic progressive photon mapping, adaptive bandwidth selection, photon tracing, MIS, vertex connection and merging, unified path sampling, participating media, volumetric photon mapping, radiative transfer equation, ray maps, photon beams, beam radiance estimate, unified points, beams and paths, Woodcock tracking, delta tracking, free-path sampling, transmittance estimate, ray marching, ratio tracking, residual tracking, null-collision, inverse method, rejection method, medium operation, control variates, higher-dimensional photon samples…

发表在 章节介绍 | 留下评论

UE4新书推荐:《大象无形:虚幻引擎程序设计浅析》

今天给大家推荐一本Unreal Engine 4的新书:《大象无形:虚幻引擎程序设计浅析》。

这本书主要是从编程的角度讨论虚幻引擎的使用,分为三个部分,其中第一部分讲用ue4的C++做游戏,第二部分讲ue4本身的一些核心机制(底层、反射、渲染系统、蓝图虚拟机)的源码实现,第三部分讲解插件开发和扩展虚幻引擎的一些方法。我们QQ群内的很多朋友都阅读过该书的样本,从我的角度,我觉得两位作者还是很用心的,没有去大段引述官方文档之类的,而是从自己理解的角度去系统地描述了虚幻引擎关于编程方面的基础知识及其关键点,是一本很好的基础读物,还是值得一阅的。

本书目前开始接受预定,预计5月可以发货,请感兴趣的朋友多多支持。

预定地址:http://product.china-pub.com/5591590

发表在 Book, Unreal Engine 4 | 留下评论

THEGIBOOK在摩点网发起众筹[已结束]

《全局光照技术:从离线到实时渲染》于2017年3月21日开始在摩点网发起众筹,在这次众筹期间读者可以购买前半本书(约400页)的纸质书稿,以及作者在准备期间总结的一本约300页的包含全书内容的英文草稿,参与众筹的每位读者将额外赠送新书折扣卷,它可以用于新书正式出版后早于任何渠道以7折购买成书。

本次众筹的目的是为了扩大试读范围,以使能够在写作阶段获取更多的反馈来帮助提高最终成书的质量。这次众筹参与者将能得到:

  • A. 列入本站专门的众筹感谢名单页面
  • B. 本书1-6章约400页的纸质书稿
  • C. 本书写作期间总结的关于书中所有全局光照技术的约300页的英文草稿书一本
  • D. 一张7折优惠券用于发布时早于任何渠道在本站以7折购书

多谢大家的支持!
众筹项目地址:http://t.cn/RiBogFq
众筹结束时间:2017年5月1日

发表在 Book | 留下评论

关于离线渲染有哪些资料可以推荐的?

这是回答知乎上的一个问题,贴在这里做个记录。

关于离线渲染最近最全面的Survey可能是Per H. Christensen和Wojciech Jarosz 2016年的:https://www.cs.dartmouth.edu/~wjarosz/publications/christensen16path.html

我针对其中的一些重要内容做点说明,同时考虑到这篇Survey是偏工业运用的,我再补充一点处于研究性质的一些热点新技术。由于这方面资料几乎都是论文为主,我说些相应概念和技术名称,可以对照阅读相关主题的论文。分两个部分:

首先,工业运用中的主流技术,这方面包括Pixar的RenderMan,Disney的Hyperion以及Weta的Manuka等渲染器,主流当然还是CPU渲染,几个比较突出的技术包括:

  • VCM/UPS:由于BPT的缺点是不能处理SDS(specular-diffuse-specular)路径,PM的缺点是处理diffuse表面不如BPT,2012年的VCM/UPS(Vertex connection merging/Unified path sampling)算法是一个很大的突破,它开始尝试将BPT和PM结合起来,使用PM对light subpath采样,并且将算法统一到BPT中,这样BPT就可以有效处理SDS。近几年中VCM/UPS几乎成了现在主流的离线渲染解决方案(参见The Path to Path-Traced Movies这篇论文);当然,VCM/UPS的缺点是,因为它仍然是BPT的思路,eye subpath并不知道light subpath的情况,所以尽管它能处理SDS,但是两个subpath连接的时候形成的很多full path由于可见性(尤其对于复杂visibility的场景)而对光照贡献率很低,而MLT则很擅长处理Visibility的问题,所以Robust Light Transport Simulation via Metropolized Bidirectional Estimators这篇论文就基于VCM/UPS来使用MLT对light subpath进行采样,这样保证了两个subpath之间的连接更符合最终图像分布。这篇论文也就同时把BPT,PM和MLT三大基础算法组合在了一起! 不过目前MLT方法在工业中运用还不多。
  • 光线排序和连贯性:由于光线传输的随意性使得其并不能利用硬件的指令执行模型以及缓存系统,所以考虑光线的连贯性或者对光线进行排序是能够大大提升路径追踪效率的方法,这方面,基于连贯性(coherence)的路径追踪技术将这些数据分组成一些小的数据包,称为光线包(ray packet),这些数据包包含多个内存相邻的数据,并能能够被同一个指令执行。传统的基于光线包的技术主要是针对主要光线(Primary rays),即摄像机向场景发射出的光线,之后的光线可能向场景随处发射,并且对性能影响更大。2013年,迪斯尼的Christian Eisenacher等在一篇名为《sorted deferred shading for production path tracing》的论文中提出了一种改进方法,这种方法的核心思想是在实际计算之前对光线进行排序,这是Disney的In-house渲染器Hyperion的重要组成部分,这些技术最早用于《超能陆战队》当中。
  • 降噪技术:由于蒙特卡洛方法带来的方差,使得需要增加4倍的采样数量才能换来2倍的方差减少,所以每像素采样数是制约路径渲染器性能的重要因素。然而,光增加采样数量并不能有效的解决噪点问题,因为图像的噪点分部通常是不均匀的,所以我们非常渴望能够在方差更大的区域放置更多的采样,这样能够更有效的减少方差,从而在少量的spp条件下获得非常高的图像质量。降噪技术是目前工业当中非常重要的部分,《疯狂动物城》《海底总动员2》这些没有一部不是严重依赖于降噪技术。降噪技术的核心是适应性采样和适应性重建,这些技术将采样的过程分成过个迭代的过程,每次对采样结果进行误差分析,根据误差分布来得出一个采样分布图,用于在下一迭代中在方差更大的地方放置更多的采样。降噪技术主要有两大类方法:基于路径空间的方法,这类方法直接对路径采样的过程进行跟踪,比如使用频率域分析或者微分分析等,由于计算量比较大,工业中主要使用第二种基于图像空间的方法,这方面的核心人物是Fabrice Rousselle。

其次,处于研究中的一些热点技术:传统的蒙特卡洛方法中每个抽样之间是独立的,它并不能有效辨识这种频率变化特征,要想能够辨识图像的分布特征,我们需要了解每个路径的局部特征,即我们要考虑光线之间的相关性,这可以从多个层面改善路径追踪算法的效率。以下举几种热点技术:

  • 频率域分析:这类技术在光线追踪的过程中,还同时跟踪一条该光线(称为中心光线)对应的一个局部光照场(Local Light Field),这其实是一个像素范围内的空间-方法-时间(spatial-direction-temporal)分布,这个分布会随着光线的传输过程变化,例如表面的BRDF反射,直线传播,阴影遮挡等,如果能够跟踪这个分布的变化,就能够有效地分析图像的一些局部特征。这可以用来实现纹理过滤,适应性采样和适应性重建等很多有用的运用。频率域分析当前比较高效的实现是协方差追踪,它用一个椭圆形的高斯分布来进行这个局部光照场的分布,而这个椭圆形高斯分布可以用该局部光照场的协方差矩阵来表示,这方面的核心人物是Frédo Durand和Laurent Belcour等。
  • 流形/微分几何:流形探索技术的思路是利用费马原理能够非常有效地寻找光泽路径,它主要用于MLT中用于寻找镜面,光泽路径,但是它不能成为一种独立采样算法,因为流形探索依赖于一条已有路径;另外,流形探索在Weta还被用于在漫反射顶点处计算透过光泽的半透明体直达光源的“直接光源”计算,因此渲染焦散效果,层表面散射非常有效。这方面的核心人物是PBRT的作者之一Wenzel Jakob等。
  • 梯度域渲染:梯度域渲染技术也是与具体采样算法相对独立,可以是传统的PT,BPT或MLT,它通过在已有路径上计算梯度来提供图像的高频部分信息,最后通过泊松方程重建图像,传统的蒙特卡洛算法善于对低频部分进行采样,而筛选泊松方程的实质是梯度场充当了高频区域的采样,所以同样同等采样算法和采样数下渲染质量高得多。

以上只是些相对重要和热门的技术,当然不是全部,这些内容都会在THEGIBOOK 中探讨。

发表在 Survey | 标签为 , , , , , , | 留下评论

感谢Epic Games授权将《A Boy and His Kite》动画短片画面用作THEGIBOOK封面图片!

亲爱的读者朋友们:

我们很高兴地向您宣布:Epic Games已经正式授权将《A Boy and His Kite》动画短片中的画面用作《全局光照技术:从离线到实时渲染》的封面图片!

《A Boy and His Kite》是一部使用Unreal Engine 4制作的实时动画短片,它凭借Unreal Engine 4优秀的渲染技术获得SIGGRAPH 2015 最佳实时图形与交互奖项(BEST REAL-TIME GRAPHICS AND INTERACTIVITY AWARD),如果您还没有欣赏过这部短片,可以从这里获得更多相关信息。

本书选择这张图片作为封面有两个原因:其一是它反映当代优秀的实时图形渲染技术;其二,更主要的是我想透过这张图片传递一个寓意。这个短片展示了一个小男孩非常喜欢他的风筝,在大自然中自由地追随它,在一个无限的世界里畅游。与此相似,在这本书中除了知识以外,我也想传递一种对知识的追求精神,现在很多人看书存在很大功利心理,只求会用,不求理解,因为真正理解一种技术是需要花费很多时间成本,然而没有这种精神,本书就不会呈现出那么多丰富而细致的内容,我希望读者能够从文字中感受到这种精神:我们必须真正喜欢和热爱技术,然后才能真正享受它带来的乐趣;同时我也希望这本书像一片宽阔的草原,读者可以在上面尽情自由地学习,畅游,能够发现和得到足够多这些知识带来的乐趣。

以下是本书的一个封面草图,它不一定是最终版本,但是封面图片是确定的,您也可以帮助我们设计封面,如果您的设计最终被采纳,我将赠送一本签名成书,以及在封面加上您的创作署名,感兴趣的朋友欢迎和我联系。

除此之外,本书作为一本聚焦于全局光照算法的书籍,虽然不会重点围绕一个渲染引擎或者一个渲染引擎相关的特性来展开讨论,但是例如像Unreal Engine 4这样的渲染引擎所具有的大部分渲染特性都会出现在本书的各个部分中。特别地,本书在讨论相关内容时,几乎都是优先使用Unreal Engine 4来进行描述和演示,本书会覆盖Unreal Engine 4的绝大部分渲染相关的内容,希望能够帮助读者更好地掌握和使用Unreal Engine 4游戏引擎。

发表在 Book | 9条评论