docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Class ProbeReferenceVolume

    The reference volume for the Adaptive Probe Volumes system. This defines the structure in which volume assets are loaded into. There must be only one, hence why it follow a singleton pattern.

    Inheritance
    object
    ProbeReferenceVolume
    Inherited Members
    object.Equals(object)
    object.Equals(object, object)
    object.GetHashCode()
    object.GetType()
    object.MemberwiseClone()
    object.ReferenceEquals(object, object)
    object.ToString()
    Namespace: UnityEngine.Rendering
    Assembly: Unity.RenderPipelines.Core.Runtime.dll
    Syntax
    public class ProbeReferenceVolume

    Fields

    checksDuringBakeAction

    An action that is used by the SRP to perform checks every frame during baking.

    Declaration
    public Action checksDuringBakeAction
    Field Value
    Type Description
    Action

    k_DebugPanelName

    Name of debug panel for Probe Volume

    Declaration
    public static readonly string k_DebugPanelName
    Field Value
    Type Description
    string

    retrieveExtraDataAction

    An action that is used by the SRP to retrieve extra data that was baked together with the bake

    Declaration
    public Action<ProbeReferenceVolume.ExtraDataActionInput> retrieveExtraDataAction
    Field Value
    Type Description
    Action<ProbeReferenceVolume.ExtraDataActionInput>

    Properties

    currentBakingSet

    The active baking set.

    Declaration
    public ProbeVolumeBakingSet currentBakingSet { get; }
    Property Value
    Type Description
    ProbeVolumeBakingSet

    instance

    Get the instance of the probe reference volume (singleton).

    Declaration
    public static ProbeReferenceVolume instance { get; }
    Property Value
    Type Description
    ProbeReferenceVolume

    isInitialized

    Is Probe Volume initialized.

    Declaration
    public bool isInitialized { get; }
    Property Value
    Type Description
    bool

    lightingScenario

    The active lighting scenario.

    Declaration
    public string lightingScenario { get; set; }
    Property Value
    Type Description
    string

    loadMaxCellsPerFrame

    Set to true to stream as many cells as possible every frame.

    Declaration
    public bool loadMaxCellsPerFrame { get; set; }
    Property Value
    Type Description
    bool

    memoryBudget

    Get the memory budget for the Probe Volume system.

    Declaration
    public ProbeVolumeTextureMemoryBudget memoryBudget { get; }
    Property Value
    Type Description
    ProbeVolumeTextureMemoryBudget

    numberOfCellsBlendedPerFrame

    Maximum number of cells that are blended per frame.

    Declaration
    public int numberOfCellsBlendedPerFrame { get; set; }
    Property Value
    Type Description
    int

    otherScenario

    The lighting scenario APV is blending toward.

    Declaration
    public string otherScenario { get; }
    Property Value
    Type Description
    string

    scenarioBlendingFactor

    The blending factor currently used to blend probe data. A value of 0 means blending is not active.

    Declaration
    public float scenarioBlendingFactor { get; set; }
    Property Value
    Type Description
    float

    shBands

    The ProbeVolumeSHBands

    Declaration
    public ProbeVolumeSHBands shBands { get; }
    Property Value
    Type Description
    ProbeVolumeSHBands

    skyOcclusion

    Whether APV handles sky dynamically (with baked sky occlusion) or fully statically.

    Declaration
    public bool skyOcclusion { get; }
    Property Value
    Type Description
    bool

    skyOcclusionShadingDirection

    Bake sky shading direction.

    Declaration
    public bool skyOcclusionShadingDirection { get; }
    Property Value
    Type Description
    bool

    subdivisionDebugColors

    Colors that can be used for debug visualization of the brick structure subdivision.

    Declaration
    public Color[] subdivisionDebugColors { get; }
    Property Value
    Type Description
    Color[]

    turnoverRate

    Percentage of cells loaded in the blending pool that can be replaced by out of date cells.

    Declaration
    public float turnoverRate { get; set; }
    Property Value
    Type Description
    float

    Methods

    BindAPVRuntimeResources(CommandBuffer, bool)

    Bind the global APV resources

    Declaration
    public void BindAPVRuntimeResources(CommandBuffer cmdBuffer, bool isProbeVolumeEnabled)
    Parameters
    Type Name Description
    CommandBuffer cmdBuffer

    Command buffer

    bool isProbeVolumeEnabled

    True if APV is enabled

    BlendLightingScenario(string, float)

    Allows smooth transitions between two lighting scenarios. This only affects the runtime data used for lighting.

    Declaration
    public void BlendLightingScenario(string otherScenario, float blendingFactor)
    Parameters
    Type Name Description
    string otherScenario

    The name of the scenario to load.

    float blendingFactor

    The factor used to interpolate between the active scenario and otherScenario. Accepted values range from 0 to 1 and will progressively blend from the active scenario to otherScenario.

    Cleanup()

    Cleanup the Probe Volume system.

    Declaration
    public void Cleanup()

    DataHasBeenLoaded()

    Returns whether any brick data has been loaded.

    Declaration
    public bool DataHasBeenLoaded()
    Returns
    Type Description
    bool

    True if brick data is present, otherwise false.

    EnableMaxCellStreaming(bool)

    Enable streaming as many cells per frame as possible.

    Declaration
    public void EnableMaxCellStreaming(bool value)
    Parameters
    Type Name Description
    bool value

    True to enable streaming as many cells per frame as possible.

    GetProbeSamplingDebugResources(Camera, out GraphicsBuffer, out Vector2)

    Returns the resources used for APV probe sampling debug mode

    Declaration
    public bool GetProbeSamplingDebugResources(Camera camera, out GraphicsBuffer resultBuffer, out Vector2 coords)
    Parameters
    Type Name Description
    Camera camera

    The camera for which to evaluate the debug mode

    GraphicsBuffer resultBuffer

    The buffer that should be filled with position and normal

    Vector2 coords

    The screen space coords to sample the position and normal

    Returns
    Type Description
    bool

    True if the pipeline should write position and normal at coords in resultBuffer

    GetRuntimeResources()

    Get the resources that are bound to the runtime shaders for sampling Adaptive Probe Volume data.

    Declaration
    public ProbeReferenceVolume.RuntimeResources GetRuntimeResources()
    Returns
    Type Description
    ProbeReferenceVolume.RuntimeResources

    The resources to bind to runtime shaders.

    GetVideoMemoryCost()

    Get approximate video memory impact, in bytes, of the system.

    Declaration
    public int GetVideoMemoryCost()
    Returns
    Type Description
    int

    An approximation of the video memory impact, in bytes, of the system

    Initialize(in ProbeVolumeSystemParameters)

    Initialize the Probe Volume system

    Declaration
    public void Initialize(in ProbeVolumeSystemParameters parameters)
    Parameters
    Type Name Description
    ProbeVolumeSystemParameters parameters

    Initialization parameters.

    IsProbeSamplingDebugEnabled()

    Checks if APV sampling debug is enabled

    Declaration
    public bool IsProbeSamplingDebugEnabled()
    Returns
    Type Description
    bool

    True if APV sampling debug is enabled

    PerformPendingOperations()

    Perform all the operations that are relative to changing the content or characteristics of the probe reference volume.

    Declaration
    public void PerformPendingOperations()

    RenderDebug(Camera, Texture)

    Render Probe Volume related debug

    Declaration
    public void RenderDebug(Camera camera, Texture exposureTexture)
    Parameters
    Type Name Description
    Camera camera

    The Camera

    Texture exposureTexture

    Texture containing the exposure value for this frame.

    RenderFragmentationOverlay(RenderGraph, TextureHandle, TextureHandle, DebugOverlay)

    Render a debug view showing fragmentation of the GPU memory.

    Declaration
    public void RenderFragmentationOverlay(RenderGraph renderGraph, TextureHandle colorBuffer, TextureHandle depthBuffer, DebugOverlay debugOverlay)
    Parameters
    Type Name Description
    RenderGraph renderGraph

    The RenderGraph responsible for executing this pass.

    TextureHandle colorBuffer

    The color buffer where the overlay will be rendered.

    TextureHandle depthBuffer

    The depth buffer used for depth-testing the overlay.

    DebugOverlay debugOverlay

    The debug overlay manager to orchestrate multiple overlays.

    SetActiveBakingSet(ProbeVolumeBakingSet)

    Set the currently active baking set. Can be used when loading additively two scenes belonging to different baking sets to control which one is active.

    Declaration
    public void SetActiveBakingSet(ProbeVolumeBakingSet bakingSet)
    Parameters
    Type Name Description
    ProbeVolumeBakingSet bakingSet

    The baking set to load.

    SetActiveScene(Scene)

    Loads the baking set the given scene is part of if it exists.

    Declaration
    public void SetActiveScene(Scene scene)
    Parameters
    Type Name Description
    Scene scene

    The scene for which to load the baking set.

    SetEnableStateFromSRP(bool)

    Communicate to the Probe Volume system whether the SRP enables Probe Volume. It is important to keep in mind that this is not used by the system for anything else but book-keeping, the SRP is still responsible to disable anything Probe volume related on SRP side.

    Declaration
    public void SetEnableStateFromSRP(bool srpEnablesPV)
    Parameters
    Type Name Description
    bool srpEnablesPV

    The value of the new enabled

    SetNumberOfCellsLoadedPerFrame(int)

    Set the number of cells that are loaded per frame when needed. This number is capped at 10.

    Declaration
    public void SetNumberOfCellsLoadedPerFrame(int numberOfCells)
    Parameters
    Type Name Description
    int numberOfCells

    Number of cells to be loaded per frame.

    SetVertexSamplingEnabled(bool)

    Communicate to the Probe Volume system whether the SRP uses per vertex sampling

    Declaration
    public void SetVertexSamplingEnabled(bool value)
    Parameters
    Type Name Description
    bool value

    True for vertex sampling, false for pixel sampling

    UpdateCellStreaming(CommandBuffer, Camera)

    Updates the cell streaming for a Camera

    Declaration
    public void UpdateCellStreaming(CommandBuffer cmd, Camera camera)
    Parameters
    Type Name Description
    CommandBuffer cmd

    The CommandBuffer

    Camera camera

    The Camera

    UpdateShaderVariablesProbeVolumes(CommandBuffer, ProbeVolumesOptions, int, bool)

    Update the constant buffer used by Probe Volumes in shaders.

    Declaration
    public bool UpdateShaderVariablesProbeVolumes(CommandBuffer cmd, ProbeVolumesOptions probeVolumeOptions, int taaFrameIndex, bool supportRenderingLayers = false)
    Parameters
    Type Name Description
    CommandBuffer cmd

    A command buffer used to perform the data update.

    ProbeVolumesOptions probeVolumeOptions

    probe volume options from the active volume stack

    int taaFrameIndex

    TAA frame index

    bool supportRenderingLayers

    Are rendering layers supported

    Returns
    Type Description
    bool

    True if successful

    Extension Methods

    ReflectionUtils.GetField(object, string)
    ReflectionUtils.GetFields(object)
    ReflectionUtils.Invoke(object, string, params object[])
    ReflectionUtils.SetField(object, string, object)
    AnalyticsUtils.ToNestedColumnWithDefault<T>(T, T, bool)
    AnalyticsUtils.ToNestedColumn<T>(T, T)
    In This Article
    Back to top
    Copyright © 2024 Unity Technologies — Trademarks and terms of use
    • Legal
    • Privacy Policy
    • Cookie Policy
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)