本章中介绍了一个的简化的uberlight(可理解为“全能光照”)实现,此光照shader根据Ronen Barzel(1997,1999)提出的照明模型编写而成。而该模型的超集已由Pixar动画开发,并应用于《玩具总动员》、《怪物公司》、《海底总动员》等一系列的迪士尼电影中。本章所对该光照模型的尝试,旨在提供一套全面的光照控制参数,以涵盖灯光美术师日常使用的大部分效果。

首先,该章中呈现的Shader只模拟光照场景光源的形成和控制,不包括如何模拟表面细节和光反射行为的复杂性。

大体上,用于电影产品的照明模型会进行两种操作,类似于显示在这里的伪代码:

color illuminationModel()
{
   Computer the surface characteristic
   For each light
   {
        Evaluate the light source (评估光源)
        Compute the surface response(计算表面响应)

   }
}

首先,通过这些方式计算表面着色信息:运行各种纹理查找(texture lookups),在网格上插值(interpolating values over the mesh),计算程序模式(computing procedural
patterns)等。然后在照明物体的每个光源上循环,计算出它的贡献。我们通过对每个光线计算光的颜色,然后计算表面对照明的响应来进行上述操作。

原文中给出了一个Shader源代码,该Shader用于计算塑料(plastic)材质在只有一个光源贡献的反射模型。,可以很容易将它扩展为更通用的多光源和更多表面的解决方案。

该Shader为美术师提供了各个方面的照明控制:选择(指定物体是否响应接受光照),颜色,形状,阴影和纹理,而阴影选项中包括明暗度、色调、反射、阴影贴图、阴影模糊等参数。

 

下面两幅图说明了uberlight 的使用效果。照明来自Pixar短片“Geri's Game”中的人物头部。

GPU Gems1 - 10 电影级的光照

 图 (a)Geri由一个光源照明;(b)改变光的权重,修改反射高光对比度;(c)改变阴影颜色,加强阴影;(d)改变谷仓形状(类似窗户一样的遮挡物),创建更戏剧化的姿态;(e)使用一块模糊的纹理cookie,丰富图像;(f)夸大透射的cookie的对比,创建像外星人一样的效果

GPU Gems1 - 10 电影级的光照

                                              (a)常态 (b)黑色电影(noir)的高反差 (c)柔和的光线

要点总结

 灯光的分布塑形:超级椭圆和基于距离的变形

 阴影贴图

 纹理投射cookies

 

相关文章:

  • 2021-05-31
  • 2021-09-06
  • 2021-05-23
  • 2021-12-09
  • 2021-05-17
  • 2022-12-23
  • 2022-01-16
  • 2022-12-23
猜你喜欢
  • 2021-10-15
  • 2021-05-21
  • 2021-07-07
  • 2021-04-27
  • 2022-01-22
  • 2021-11-07
  • 2022-01-07
相关资源
相似解决方案