渲染

基于物理的渲染 – 理论篇(三)

菲涅尔方程(Fresnel)定义的是在不同观察方向上,表面上被反射的光除以被折射的光的比例。在一束光击中了表面的一瞬间,菲涅尔根据表面与观察方向之间的夹角,计算得到光被反射的百分比。根据这个比例和能量守恒定律我们可以直接知道剩余的能量就是会被折射的能量。

零基础学习渲染--PBR(基于物理渲染)

PBR(Physicallly-Based-Rendering), 基于物理的渲染,有时也叫PBS(Physicallly-Based-Shading)。为什么叫基于物理的,因为目标是基于与现实世界的物理原理基本相符的理论构成渲染技术。这样美术就可以直接以物理参数为依据来编写材质,不论光照如何材质看上去都是正确的。

基于物理的渲染 – 理论篇(二)

双向反射分布函数是一个使用入射光方向ωi作为输入参数的函数,输出参数为出射光ωo,表面法线为n,参数a表示的是微表面的粗糙度。BRDF函数是近似的计算在一个给定了属性的不透明表面上,每个单独的光线对最终的反射光有多少贡献。

基于物理的渲染 – 理论篇(一)

基于物理的渲染,英文缩写PBR,是一个渲染技术的集合,包含多种或多或少的利用物理来更真实的模拟现实世界的渲染技术,基于物理的渲染的目的是利用更接近实际物理理论的光照计算,生成比以前的Phong、Blinn-Phong算法更真实的画面,这项技术的好处不只是让画面看起来更好看了,也让我们可以简单的通过改变物体的几个物理属性就能渲染出想要的效果,而不用担心光照错误,这是非PBR渲染无法比拟的优势。

Unity Shader前向渲染

前向渲染是通过深度缓冲和颜色缓冲来实现的,使用深度缓冲来决定一个片元是否可见,如果可见,则更新颜色缓冲区中的颜色值。如果场景中有n个物体受m个光源的影响,那么要渲染整个场景,则需要n*m个pass,如果m较多的话,这个开销还是比较大的。

ShadowMap 中的 Shadow Asne

阴影技术中最简单的一种(其他的可以算作他的变种)是所谓的shadow mapping(适用于平行光)。它需要事先为场景中的物体,在以光源为视角的视口内,渲染一张深度图。在那个视口里,只有最靠近光源的片元才能将自己的深度写入这张深度图。