Microsplat Terrain Surface Fragment
Microsplat Terrain Surface Fragment
#if _DEBUG_OUTPUT_ALBEDO
o.Albedo = l.Albedo;
#elif _DEBUG_OUTPUT_NORMAL
o.Albedo = float3(l.Normal.xy * 0.5 + 0.5, l.Normal.z);
#elif _DEBUG_OUTPUT_SMOOTHNESS
o.Albedo = l.Smoothness.xxx;
#elif _DEBUG_OUTPUT_METAL
o.Albedo = l.Metallic.xxx;
#elif _DEBUG_OUTPUT_AO
o.Albedo = l.Occlusion.xxx;
#elif _DEBUG_OUTPUT_EMISSION
o.Albedo = l.Emission;
#elif _DEBUG_OUTPUT_HEIGHT
o.Albedo = l.Height.xxx;
#else
#if _BDRFLAMBERT
o.Albedo = l.Albedo;
o.Normal = l.Normal;
o.Emission = l.Emission;
o.Specular = l.Occlusion;
o.Gloss = l.Smoothness;
#else
o.Albedo = l.Albedo;
o.Normal = l.Normal;
o.Smoothness = l.Smoothness;
o.Metallic = l.Metallic;
o.Occlusion = l.Occlusion;
o.Emission = l.Emission;
#endif
o.Alpha = l.Alpha;
#endif