半年以上没有更新了,修修改改,Graphenix渲染过程。

    首先是深度pass,这个pass可以只做depth write,虽然也可以通过其它方式在lighting阶段重建某个空间中的
position来计算,不过我在这里直接输出了eyespace的position,因为后面可以省下很多力气重算位置,而且如果
拆成两个pass,速度甚至会下降。
眼空间position:


Gbuffer pass,全部在eyespace做。
normal:


deffuse:


specularcolor and power:


emissive:


    lighting阶段6个光源,一个directionallight和5个spotlight,比较耗,只计算了一个灯的阴影,使用
VSM,VSM可以产生softshadow,但是需要全部receiver也作为caster,对地形阴影计算有些不利,而且
也很难利用GBuffer来改进。

vsm texture

    lighting阶段得到source如下:


hdr pass
bright:


star:  bloom忘记抓图,算了,呵呵


tonemap放大了:


    然后是ssao,据说crytek所用的ssao有做了blur,我在这里没有做blur所以白边比较明显,实际上ssao可以在得到深度之后任何时候进行。
ssao:


最终结果:感觉还可以,反射还没有加。