Material LOD vs Quality Switch

When working with materials LOD will take care of reducing the texture size, but there are often times when things like normal maps, noise, etc aren’t needed a long distance. I’ve seen this get used with position vs camera position and removing maps or altering maps depending on distance (kind of like material LOD, without having to have a duplicate material). My question then, is which is the best coarse of action?

  1. World Position vs Camera inside the Material
  2. Quality Switch
  3. Use 2 different materials in the LODs
  4. Something else?

Thanks!

I would suggest if you want to make your LODs as cheap as possible you disable certain effects using static switch parameters and apply the cheaper material instance to the LODs. Quality switches are different because they will only be all on or off globally depending on the settings. You don’t get the same control over LODs; they are more to say “we are never going to show this effect on console or low detail mode”.

Doing this dynamically using cameraposition distance can be done but generally it will be hard to recover the instructions lost by adding more logic so I would use that only for cases where it is clearly a win, such as a very expensive material that stands out in profiling and then only if you need to fade the effect out smoothly.