体渲染中的重要物理量消光系数(Extinction Coefficient)等于吸收系数(Absorption Coefficients)+散射系数,由于前文我们说了吸收现象可以忽略,所以大气渲染中的散射系数就是消光系数;F称为相位函数,是控制散射方向的几何项,跟T一样也是个无量纲的比值,根据不同方向散射的光子数比例多少,我们又可以把散射分为各向同性散射(I...
Nishita的文章成果就到这里,论优化程度其实已经相当高了,下文的继续优化可能或是优化不太明显或者是有损的了,所以Nishita的文章既是实现大气体渲染的开山鼻祖又同时提供了兼顾效率的优化措施,在大气渲染的发展史上具有重要的里程碑意义。 至此我们已也经得到了一种基于物理的且可行性较高的天空颜色渲染方案。就个人而...
本书实现的渲染引擎名为pbrt,是一个基于光线追踪的PBR渲染引擎。光线追踪(ray tracing),简单地来说就是从最终渲染图片出发,像是在摄像机前放了一块比如说1280x720大小的屏幕,然后连接摄像机(将摄像机当成一个点)和屏幕上每一个像素,就像是从摄像机发射了一条光线那样,去计算这条光线跟场景中什么物体相交,计算...
SurfaceInteraction类中包含了交点的几何信息,这个类保存了许多跟点有关的计算需要用到的几何信息,这样在计算的时候就不用去管这个点在哪个物体上,所以你会看到:这个类居然连TM的Shape、BSDF、BSSRDF指针都有啊! 好了,不吐槽了,正经的。 SurfaceInteraction类的成员包括: Point2f uv;Vector3f dpdu,dpdv;Normal3f ...
从颜色属性到光谱 在过往所学的渲染中,物体总有一个颜色属性,表示物体发出或者反射的是什么光,比如应用最广泛的冯氏着色模型。但是,现实世界中,物体表面的物理性质不是这样的,这就要涉及到一个概念:光谱。 光谱是物体表面发出或者反射的所有波长的电磁波的图谱。真实的物理情况是,当一束白光找到物体表面时,物体会反...
还是跟之前一样,本文是阅读《基于物理的渲染:从理论到实践》的总结,文中不会涉及到方方面面,只会整理笔者认为重要的一两个点。本文关注的重点是误差,尤其是舍入误差(Rounding Error),主要来源书中的3.9节。 由于作者水平所限,文中如果有错误或者没有解释到位的地方,还请读者不吝指正。
继续阅读《基于物理的渲染:从理论到实践》一书,遇到了多线程的代码,发现自己看不懂它的代码,于是找了本书补充了一下多线程的知识,终于理解了pbrt中的代码,在此把学到的东西整理一下,希望能对读者有所帮助。 提起多线程,总有一种熟悉的陌生感,为什么呢?因为我们可以从很多地方听到线程的概念,比如4核8线程之类的...