`
tulunta
  • 浏览: 359233 次
文章分类
社区版块
存档分类
最新评论

[gpugems]image based lighting

 
阅读更多

http://http.developer.nvidia.com/GPUGems/gpugems_ch19.html

有相当年纪的文章了,不过可以清晰化几个概念:

  • image based lighting:是一种简化的cg光照技术(相比raytracing这种),就是把周围的光照信息存到一个image里面,然后使用这个image来lighting。典型我们常说的使用cubemap,envmap这种来做光照,均属此列。
    • 一般我们讨论specular lighting,diffuse lighting更多的是在讨论直接光照(比如太阳光这种直接光照)而IBL(image based lighting)则关心周围的光照
  • IBL(image based lighting)diffuse lighting,这个就是要绕着normal做一个半球积分,用这个结果来做lighting
  • IBL lighting,这里就是直接的一个reflect,不像diffuse是一个半球积分,由于是image based lighting,需要按照reflect的方向去sample cubemap,所以这里也不涉及到一般常说的分布(pow(dot(n,h),specPower))
    • 发展到现在,gloss的不同会sample不同mipmap的cubemap
    • 另外会受gloss影响的是fresnel项,这里常用的是一个schlick fresnel approximation:
      • 但是这个其实是一个对金属类材质的近似,如果是其他类型的材质,还是需要在那个“5”上做一些改变:

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics