123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- using System;
- using Unity.Collections;
-
- namespace UnityEngine.Rendering.Universal
- {
- /// <summary>
- /// Class that holds settings related to lights.
- /// </summary>
- public class UniversalLightData : ContextItem
- {
- /// <summary>
- /// Holds the main light index from the <c>VisibleLight</c> list returned by culling. If there's no main light in the scene, <c>mainLightIndex</c> is set to -1.
- /// The main light is the directional light assigned as Sun source in light settings or the brightest directional light.
- /// <seealso cref="CullingResults"/>
- /// </summary>
- public int mainLightIndex;
-
- /// <summary>
- /// The number of additional lights visible by the camera.
- /// </summary>
- public int additionalLightsCount;
-
- /// <summary>
- /// Maximum amount of lights that can be shaded per-object. This value only affects forward rendering.
- /// </summary>
- public int maxPerObjectAdditionalLightsCount;
-
- /// <summary>
- /// List of visible lights returned by culling.
- /// </summary>
- public NativeArray<VisibleLight> visibleLights;
-
- /// <summary>
- /// True if additional lights should be shaded in vertex shader, otherwise additional lights will be shaded per pixel.
- /// </summary>
- public bool shadeAdditionalLightsPerVertex;
-
- /// <summary>
- /// True if mixed lighting is supported.
- /// </summary>
- public bool supportsMixedLighting;
-
- /// <summary>
- /// True if box projection is enabled for reflection probes.
- /// </summary>
- public bool reflectionProbeBoxProjection;
-
- /// <summary>
- /// True if blending is enabled for reflection probes.
- /// </summary>
- public bool reflectionProbeBlending;
-
- /// <summary>
- /// True if light layers are enabled.
- /// </summary>
- public bool supportsLightLayers;
-
- /// <summary>
- /// True if additional lights enabled.
- /// </summary>
- public bool supportsAdditionalLights;
-
- /// <inheritdoc/>
- public override void Reset()
- {
- mainLightIndex = -1;
- additionalLightsCount = 0;
- maxPerObjectAdditionalLightsCount = 0;
- visibleLights = default;
- shadeAdditionalLightsPerVertex = false;
- supportsMixedLighting = false;
- reflectionProbeBoxProjection = false;
- reflectionProbeBlending = false;
- supportsLightLayers = false;
- supportsAdditionalLights = false;
- }
- }
- }
|