87 lines
3.2 KiB
C#
87 lines
3.2 KiB
C#
using System;
|
|
|
|
namespace UnityEngine.Rendering.HighDefinition
|
|
{
|
|
/// <summary>
|
|
/// Context used when executing custom passes
|
|
/// </summary>
|
|
public struct CustomPassContext
|
|
{
|
|
/// <summary>
|
|
/// Scriptable Render Context, used for any SRP related operations.
|
|
/// </summary>
|
|
public readonly ScriptableRenderContext renderContext;
|
|
|
|
/// <summary>
|
|
/// Command Buffer, used to enqueue graphic commands to the GPU.
|
|
/// </summary>
|
|
public readonly CommandBuffer cmd;
|
|
|
|
/// <summary>
|
|
/// HdCamera, HDRP data related to the rendering camera. Use the camera property to access the Camera class.
|
|
/// </summary>
|
|
public readonly HDCamera hdCamera;
|
|
|
|
/// <summary>
|
|
/// Result of the culling either of the camera or the custom pass if AggregateCullingParameters is used.
|
|
/// </summary>
|
|
public CullingResults cullingResults;
|
|
|
|
/// <summary>
|
|
/// Camera culling results, not modified by the custom pass culling.
|
|
/// </summary>
|
|
public readonly CullingResults cameraCullingResults;
|
|
|
|
/// <summary>
|
|
/// Camera color buffer.
|
|
/// </summary>
|
|
public readonly RTHandle cameraColorBuffer;
|
|
|
|
/// <summary>
|
|
/// Camera depth buffer.
|
|
/// </summary>
|
|
public readonly RTHandle cameraDepthBuffer;
|
|
|
|
/// <summary>
|
|
/// Camera normal buffer.
|
|
/// </summary>
|
|
public readonly RTHandle cameraNormalBuffer;
|
|
|
|
/// <summary>
|
|
/// Lazy handle to the custom color buffer, not allocated if not used.
|
|
/// </summary>
|
|
public readonly Lazy<RTHandle> customColorBuffer;
|
|
|
|
/// <summary>
|
|
/// Lazy handle to the custom depth buffer, not allocated if not used.
|
|
/// </summary>
|
|
public readonly Lazy<RTHandle> customDepthBuffer;
|
|
|
|
/// <summary>
|
|
/// Material Property Block, unique for each custom pass instance.
|
|
/// </summary>
|
|
public readonly MaterialPropertyBlock propertyBlock;
|
|
|
|
internal CustomPassContext(
|
|
ScriptableRenderContext renderContext, CommandBuffer cmd,
|
|
HDCamera hdCamera, CullingResults cullingResults,
|
|
CullingResults cameraCullingResults,
|
|
RTHandle cameraColorBuffer, RTHandle cameraDepthBuffer,
|
|
RTHandle cameraNormalBuffer, Lazy<RTHandle> customColorBuffer,
|
|
Lazy<RTHandle> customDepthBuffer, MaterialPropertyBlock propertyBlock)
|
|
{
|
|
this.renderContext = renderContext;
|
|
this.cmd = cmd;
|
|
this.hdCamera = hdCamera;
|
|
this.cullingResults = cullingResults;
|
|
this.cameraCullingResults = cameraCullingResults;
|
|
this.cameraColorBuffer = cameraColorBuffer;
|
|
this.cameraDepthBuffer = cameraDepthBuffer;
|
|
this.customColorBuffer = customColorBuffer;
|
|
this.cameraNormalBuffer = cameraNormalBuffer;
|
|
this.customDepthBuffer = customDepthBuffer;
|
|
this.propertyBlock = propertyBlock;
|
|
}
|
|
}
|
|
}
|