内容慢慢写,先上几张图
色彩图
法线图
在世界坐标系中计算光照会比较方便,所以用一张纹理来保存法线。保存世界坐标系的法线需要 xyz 三个数值,如果用一张RGBA的纹理来存储,就会多出一个字节,来留作它用。当然也可以将法线转换到视图空间,这样只要保存x和y两个值,z值可以在计算光照时,根据xy值计算出来。原理在于视图空间记录下的法线都是面向观察者的,背面不需要渲染,所以可以确定平方根的符号。这样一来,节省了一个字节,可以用来干点别的。
材质参数图
材质参数就是对一个物体表面的反光特性的数值化描述,包含漫反射强度、高光强度、高光硬度、镜面反射强度、表面粗糙度、发光强度等等。但一张纹理没法保存超过4个数值,所以需要忽略部分参数。具体忽略哪些,这个要看光照计算的算法了。刚刚在法线图中节省下来的两个字节,可以用上了。
深度图
这个不用说了,正常非延时渲染也是少不了的。用于遮挡和产生远处的雾化效果。其实还有一个重要的作用,就是我们需要利用深度值与像素坐标来还原出像素的世界坐标,用于光照计算和阴影计算。
最终合成图
{{comment.name}}{{comment.time | fDateTime}}
{{reply.name}}{{reply.time | fDateTime}}