using System; namespace UnityEngine.Rendering.Universal { #region Material Settings /// /// Debug material modes. /// [GenerateHLSL] public enum DebugMaterialMode { /// No material debug. None, /// Display material albedo. Albedo, /// Display material specular. Specular, /// Display material alpha. Alpha, /// Display material smoothness. Smoothness, /// Display material ambient occlusion. AmbientOcclusion, /// Display material emission. Emission, /// Display material normal (world space). NormalWorldSpace, /// Display material normal (tangent space). NormalTangentSpace, /// Display evaluated lighting complexity. LightingComplexity, /// Display material metallic. Metallic, /// Display material sprite mask. SpriteMask, } /// /// Debug mode for displaying vertex attributes interpolated from vertex to pixel shader. /// [GenerateHLSL] public enum DebugVertexAttributeMode { /// No vertex attribute debug. None, /// Display texture coordinate 0. Texcoord0, /// Display texture coordinate 1. Texcoord1, /// Display texture coordinate 2. Texcoord2, /// Display texture coordinate 3. Texcoord3, /// Display vertex color. Color, /// Display tangent. Tangent, /// Display normal. Normal, } /// /// Debug mode for validating out-of-range values of different material channels. /// [GenerateHLSL] public enum DebugMaterialValidationMode { /// No material debug validation override. None, /// Validate albedo values according to validation settings. Albedo, /// Validate metallic values according to validation settings. Metallic } #endregion #region Rendering Settings /// /// Debug mode for displaying intermediate render targets. /// [GenerateHLSL] public enum DebugFullScreenMode { /// No intermediate render target displayed. None, /// Display depth buffer contents. Depth, /// Display the shadow map from additional lights. AdditionalLightsShadowMap, /// Display the main shadow map. MainLightShadowMap, } /// /// Debug mode that overrides how the renderer behaves. /// [GenerateHLSL] public enum DebugSceneOverrideMode { /// No debug override. None, /// Visualize overdraw by drawing geometry using a semitransparent material. Areas that look opaque contain more overdraw. Overdraw, /// Render using wireframe only. Wireframe, /// Render using a constant fill color and wireframe. SolidWireframe, /// Render shaded geometry in addition to wireframe. ShadedWireframe, } /// /// Debug modes for texture mipmaps. /// [GenerateHLSL] public enum DebugMipInfoMode { /// No mipmap debug. None, /// Display the mipmap level sampled. Level, /// Display the amount of mip levels available. Count, /// Display the mip ratio. Ratio } /// /// Mode that controls if post-processing is allowed. /// /// /// When "Auto" is used, post-processing can be either on or off, depending on other active debug modes. /// [GenerateHLSL] public enum DebugPostProcessingMode { /// Post-processing disabled. Disabled, /// Post-processing is either on or off, depending on other debug modes. Auto, /// Post-processing enabled. Enabled }; /// /// Debug modes for validating illegal output values. /// [GenerateHLSL] public enum DebugValidationMode { /// No validation. None, /// Highlight all pixels containing NaN (not a number), infinite or negative values. [InspectorName("Highlight NaN, Inf and Negative Values")] HighlightNanInfNegative, /// Highlight all pixels with values outside the specified range. [InspectorName("Highlight Values Outside Range")] HighlightOutsideOfRange } /// /// The channels used by DebugValidationMode.HighlightOutsideOfRange. /// /// /// When "RGB" is used, the pixel's RGB value is first converted to a luminance value. /// Individual channels (R, G, B, and A) are tested individually against the range. /// [GenerateHLSL] public enum PixelValidationChannels { /// Use luminance calculated from RGB channels as the value to validate. RGB, /// Validate the red channel value. R, /// Validate the green channel value. G, /// Validate the blue channel value. B, /// Validate the alpha channel value. A } #endregion #region Lighting settings /// /// Debug modes for lighting. /// [GenerateHLSL] public enum DebugLightingMode { /// No lighting debug mode. None, /// Display shadow cascades using different colors. ShadowCascades, /// Display lighting result without applying normal maps. LightingWithoutNormalMaps, /// Display lighting result (including normal maps). LightingWithNormalMaps, /// Display only reflections. Reflections, /// Display only reflections with smoothness. ReflectionsWithSmoothness, } /// /// Debug mode that allows selective disabling of individual lighting components. /// [GenerateHLSL, Flags] public enum DebugLightingFeatureFlags { /// The debug mode is not active. None, /// Display contribution from global illumination. GlobalIllumination = 0x1, /// Display contribution from the main light. MainLight = 0x2, /// Display contribution from additional lights. AdditionalLights = 0x4, /// Display contribution from vertex lighting. VertexLighting = 0x8, /// Display contribution from emissive objects. Emission = 0x10, /// Display contribution from ambient occlusion. AmbientOcclusion = 0x20, } #endregion }