[技术]Lightmap Generation

说是Lightmap Generation,其实更多的是direct lighting,具体可参考Lightmap Generation;

传统的lightmap生成是通过每像素Tracing大量的射线,在场景中进行弹射,最后累积每根光线的在lightmap的贡献;这种方法在GPU上很难实现,除非是很小的场景,或者易于参数化表示的场景;主要还是场景信息很难在GPU上表达,并且很难在GPU上对大场景进行高效的Tracing;

然而,如果lightmap只需要记录一次弹射的光照,光栅化就可以被充分用来进行加速;并不是都每条光线(即每个个像素)去选择随机的方向进行发射,而是随机选择一个方向,然后每条光线(即每个像素)都沿这个方向进行光照计算;两种方法都可以得到同样的光照结果,但是第二种方法可以直接利用光栅化求得,对硬件更加友好;通过多次光栅化结果的平均,就可以收敛到最终稳定的结果;

虽说此方法只能计算直接光照,但是用此方法来计算光照是非常不划算的,因为本来直接光照就可以在光栅化里直接计算;该方法性价比较高的地方在于,可以计算可见性,也就是我们常说的Shadow;对于球面光源和面光源,各顶点的阴影是很难实时计算的,采用本方法就可求得面光源的软阴影,以及环境光的软阴影(AO);

结果如下图所示:
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值