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

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


Gbuffer pass,全部在eyespace做。
normal:
DeferShading + VSM + HDR + SSAO

deffuse:
DeferShading + VSM + HDR + SSAO

specularcolor and power:
DeferShading + VSM + HDR + SSAO

emissive:
DeferShading + VSM + HDR + SSAO

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

    lighting阶段得到source如下:
DeferShading + VSM + HDR + SSAO

hdr pass
bright:
DeferShading + VSM + HDR + SSAO

star:  bloom忘记抓图,算了,呵呵
DeferShading + VSM + HDR + SSAO

tonemap放大了:
DeferShading + VSM + HDR + SSAO

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

最终结果:感觉还可以,反射还没有加。
DeferShading + VSM + HDR + SSAO

相关文章:

  • 2021-06-27
  • 2021-10-03
  • 2021-06-16
  • 2022-12-23
  • 2021-04-17
  • 2022-12-23
猜你喜欢
  • 2022-02-04
  • 2022-01-21
  • 2022-12-23
  • 2021-08-15
  • 2021-06-02
  • 2021-12-30
相关资源
相似解决方案