Shader Level of Detail(LOD)

#Unity Shader LOD 官方说明(个人翻译)

只有当编写的Shader或者SubShader中,指定了低于默认LOD数值的LOD值时,才会起作用。

通常,LOD允许设置无限个等级,也就是说,在用户设备支持的情况下,所有LOD的Shader都是可以使用的。但在某些时候,你可能想要主动放弃一些shader细节,即使硬件可以支持这些效果。例如,有些便宜的显卡虽然可支持所有的特效,但运行速度会很慢。所以在这种情况下,你可能不想使用“视差正映射法”(parallax normal mapping)。

Shader LOD值既可以设置给单个Shader的使用(使用 Shader.maximumLOD),也可以设为全局,应用到所有的shader上(使用 Shader.globalMaximumLOD)。

在自定义的Shader中,可以使用“LOD”命令来设置任意SubShader的LOD值。

Unity内置Shader的默认LOD值如下:

  • VertexLit kind of shaders = 100
  • Decal, Reflective VertexLit = 150
  • Diffuse = 200
  • Diffuse Detail, Reflective Bumped Unlit, Reflective Bumped VertexLit = 250
  • Bumped, Specular = 300
  • Bumped Specular = 400
  • Parallax = 500
  • Parallax Specular = 600

原文地址:Shader Level of Detail

你可能感兴趣的:(Shader Level of Detail(LOD))