[sig12][PhysicalBasedRender]Beyond a simple Physically Based Blinn-phong model in real time

来源:互联网 发布:js下拉菜单显示选项 编辑:程序博客网 时间:2024/05/29 03:31

http://blog.selfshadow.com/publications/s2012-shading-course/gotanda/s2012_pbs_beyond_blinn_slides_v2.pdf

http://blog.selfshadow.com/publications/s2012-shading-course/gotanda/s2012_pbs_beyond_blinn_notes_v2.pdf

tri-ace带来。

在10年介绍了他们的物理光照模型之后,今年更进一步,在console可以承受的realtime的基础上,在:

  • 多层材质
  • diffuse lighting
  • 皮肤
有了进一步的探索。
本文的知识拓展作用大于实践意义,diffuse lighting部分不错,但是如sweeney说的,这个对电影画质的逼近太小了,小到作为渲染程序员也看不出其中的优劣,甚至难以分辨那个是那个。

多层材质

多层材质中的内层,涉及到光线被第一层吸收,这个吸收也包括fresnel部分。
吸收部分原本是有总结好的公式,但是太费了,所以tri-ace做了一些简化(tri-ace特别擅长做这个,画曲线,做简化)

fresnel也是,一个正版,tri-ace也做了一次简化:

在做image based lighting的时候,diffuse计算的光吸收也要进行一些半球积分计算。

最后效率上,单层是3ms的情况,多层是4.28ms--真的是性价比比较低的feature。

DiffuseLighting
在physicallighting中,我们一般认为diffuse lighting是lambertian,也就是它是和视线无关,只和normal与light dir有关的半球积分的值。
但是实际情况是,很多材质的diffuse并不是lambertian的。
tri-ace选oren-nayar model作为研究的模型,这个模型下的difuse有更好的”哑光“感,不再是和视线无关,计算中的一些要素和specular lighting非常类似:带有shadowing/masking factor, 有inter-reflect现象。
依照tri-ace的惯例,使用的模型肯定是太费的,需要做出些简化。
最后的结果是:

shi:是shiness。

皮肤:
在皮肤上做了些文章,但是比较乏善可陈,直接看个图:

原创粉丝点击