Class ProbeReferenceVolume
The reference volume for the Probe Volume system. This defines the structure in which volume assets are loaded into. There must be only one, hence why it follow a singleton pattern.
Namespace: UnityEngine.Rendering
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
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 |
|---|---|
| Boolean |
lightingScenario
The active lighting scenario.
Declaration
public string lightingScenario { get; set; }
Property Value
| Type | Description |
|---|---|
| String |
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 |
|---|---|
| Int32 |
probeVolumesWeight
Global probe volumes weight. Allows for fading out probe volumes influence falling back to ambient probe.
Declaration
public float probeVolumesWeight { get; set; }
Property Value
| Type | Description |
|---|---|
| Single |
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 |
|---|---|
| Single |
shBands
Declaration
public ProbeVolumeSHBands shBands { get; }
Property Value
| Type | Description |
|---|---|
| ProbeVolumeSHBands |
subdivisionDebugColors
Colors that can be used for debug visualization of the brick structure subdivision.
Declaration
public Color[] subdivisionDebugColors { get; }
Property Value
| Type | Description |
|---|---|
| UnityEngine.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 |
|---|---|
| Single |
Methods
BlendLightingScenario(String, Single)
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. |
| Single | 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 |
|---|---|
| Boolean |
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 |
|---|---|
| Int32 | 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. |
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)
Render Probe Volume related debug
Declaration
public void RenderDebug(Camera camera)
Parameters
| Type | Name | Description |
|---|---|---|
| UnityEngine.Camera | camera | The UnityEngine.Camera |
SetEnableStateFromSRP(Boolean)
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 |
|---|---|---|
| Boolean | srpEnablesPV | The value of the new enabled |
SetNumberOfCellsLoadedPerFrame(Int32)
Set the number of cells that are loaded per frame when needed.
Declaration
public void SetNumberOfCellsLoadedPerFrame(int numberOfCells)
Parameters
| Type | Name | Description |
|---|---|---|
| Int32 | numberOfCells |
UpdateCellStreaming(CommandBuffer, Camera)
Updates the cell streaming for a UnityEngine.Camera
Declaration
public void UpdateCellStreaming(CommandBuffer cmd, Camera camera)
Parameters
| Type | Name | Description |
|---|---|---|
| UnityEngine.Rendering.CommandBuffer | cmd | The UnityEngine.Rendering.CommandBuffer |
| UnityEngine.Camera | camera | The UnityEngine.Camera |
UpdateConstantBuffer(CommandBuffer, ProbeVolumeShadingParameters)
Update the constant buffer used by Probe Volumes in shaders.
Declaration
public void UpdateConstantBuffer(CommandBuffer cmd, ProbeVolumeShadingParameters parameters)
Parameters
| Type | Name | Description |
|---|---|---|
| UnityEngine.Rendering.CommandBuffer | cmd | A command buffer used to perform the data update. |
| ProbeVolumeShadingParameters | parameters | Parameters to be used when sampling the probe volume. |