表面着色器非常适合用于编写与光照交互的着色器。但是,它们的默认选项是为涵盖大量的一般情况而设置的。您可以针对特定情况调整这些选项,从而加快着色器的运行速度,或至少让着色器变得更小巧:
halfasview 速度甚至更快。半矢量(光照方向和视图矢量之间)会逐顶点进行计算和标准化,并且光照函数会将半矢量视为参数,而不是视图矢量。noforwardadd 能让着色器仅完全支持前向渲染中的单一方向光。其余的光源仍然可以被视为逐顶点光源或球谐函数光源产生效果。这样可以使着色器体积更小,并确保着色器始终在一个通道中渲染,即使存在多个光源也是如此。noambient 能为着色器禁用环境光照和球谐函数光源。可以稍稍提高性能。