Class HDRenderUtilities
Various utilities to perform rendering with HDRP
Namespace: UnityEngine.Rendering.HighDefinition
Syntax
public static class HDRenderUtilities
Methods
ComputeCameraSettingsFromProbeSettings(ProbeSettings, ProbeCapturePositionSettings, out CameraSettings, out CameraPositionSettings, UInt64, Single, Single)
Compute the camera settings from the probe settings
Declaration
public static void ComputeCameraSettingsFromProbeSettings(ProbeSettings settings, ProbeCapturePositionSettings position, out CameraSettings cameraSettings, out CameraPositionSettings cameraPositionSettings, ulong overrideSceneCullingMask, float referenceFieldOfView = 90F, float referenceAspect = 1F)
Parameters
| Type | Name | Description | 
|---|---|---|
| ProbeSettings | settings | The probe settings.  | 
| ProbeCapturePositionSettings | position | The probe position.  | 
| CameraSettings | cameraSettings | The produced camera settings.  | 
| CameraPositionSettings | cameraPositionSettings | The produced camera position.  | 
| UInt64 | overrideSceneCullingMask | Override of the scene culling mask.  | 
| Single | referenceFieldOfView | The reference field of view.  | 
| Single | referenceAspect | The reference aspect ratio.  | 
CreatePlanarProbeDepthRenderTarget(Int32)
Create the depth texture used as target for a realtime planar reflection probe.
Declaration
public static RenderTexture CreatePlanarProbeDepthRenderTarget(int planarSize)
Parameters
| Type | Name | Description | 
|---|---|---|
| Int32 | planarSize | The size of the texture  | 
Returns
| Type | Description | 
|---|---|
| RenderTexture | The texture used as planar reflection probe target  | 
CreatePlanarProbeRenderTarget(Int32, GraphicsFormat)
Create the texture used as target for a realtime planar reflection probe.
Declaration
public static RenderTexture CreatePlanarProbeRenderTarget(int planarSize, GraphicsFormat format)
Parameters
| Type | Name | Description | 
|---|---|---|
| Int32 | planarSize | The size of the texture  | 
| GraphicsFormat | format | The planar probe format. It must match the format set in the asset.  | 
Returns
| Type | Description | 
|---|---|
| RenderTexture | The texture used as planar reflection probe target  | 
CreateReflectionProbeRenderTarget(Int32)
Create the texture used as target for a realtime reflection probe.
Declaration
[Obsolete("Use CreateReflectionProbeRenderTarget with explicit format instead", true)]
public static RenderTexture CreateReflectionProbeRenderTarget(int cubemapSize)
Parameters
| Type | Name | Description | 
|---|---|---|
| Int32 | cubemapSize | The cubemap size.  | 
Returns
| Type | Description | 
|---|---|
| RenderTexture | The texture to use as reflection probe target.  | 
CreateReflectionProbeRenderTarget(Int32, GraphicsFormat)
Create the texture used as target for a realtime reflection probe.
Declaration
public static RenderTexture CreateReflectionProbeRenderTarget(int cubemapSize, GraphicsFormat format)
Parameters
| Type | Name | Description | 
|---|---|---|
| Int32 | cubemapSize | The cubemap size.  | 
| GraphicsFormat | format | The cubemap format. It must match the format set in the asset.  | 
Returns
| Type | Description | 
|---|---|
| RenderTexture | The texture to use as reflection probe target.  | 
CreateReflectionProbeTarget(Int32)
Create the texture target for a baked reflection probe.
Declaration
public static Cubemap CreateReflectionProbeTarget(int cubemapSize)
Parameters
| Type | Name | Description | 
|---|---|---|
| Int32 | cubemapSize | The size of the cubemap.  | 
Returns
| Type | Description | 
|---|---|
| Cubemap | The target cubemap.  | 
GenerateRenderingSettingsFor(ProbeSettings, ProbeCapturePositionSettings, List<CameraSettings>, List<CameraPositionSettings>, UInt64, Boolean, Single, Single)
Generate the camera render settings and camera position to use to render a probe.
Declaration
public static void GenerateRenderingSettingsFor(ProbeSettings settings, ProbeCapturePositionSettings position, List<CameraSettings> cameras, List<CameraPositionSettings> cameraPositions, ulong overrideSceneCullingMask, bool forceFlipY = false, float referenceFieldOfView = 90F, float referenceAspect = 1F)
Parameters
| Type | Name | Description | 
|---|---|---|
| ProbeSettings | settings | The probe settings to use.  | 
| ProbeCapturePositionSettings | position | The probe position to use.  | 
| List<CameraSettings> | cameras | Will receives the camera settings.  | 
| List<CameraPositionSettings> | cameraPositions | Will receives the camera position settings.  | 
| UInt64 | overrideSceneCullingMask | Override of the scene culling mask.  | 
| Boolean | forceFlipY | Whether to force the Y axis flipping.  | 
| Single | referenceFieldOfView | The reference field of view.  | 
| Single | referenceAspect | The reference aspect ratio.  | 
Render(CameraSettings, CameraPositionSettings, Texture, UInt32)
Perform a rendering into target.
Declaration
public static void Render(CameraSettings settings, CameraPositionSettings position, Texture target, uint staticFlags = 0U)
Parameters
| Type | Name | Description | 
|---|---|---|
| CameraSettings | settings | Settings for the camera.  | 
| CameraPositionSettings | position | Position for the camera.  | 
| Texture | target | Target to render to.  | 
| UInt32 | staticFlags | Only used in the Editor fo cubemaps. This is bitmask of StaticEditorFlags only objects with these flags will be rendered  | 
Examples
How to perform standard rendering:
class StandardRenderingExample
{
    public void Render()
    {
        // Copy default settings
        var settings = CameraRenderSettings.Default;
        // Adapt default settings to our custom usage
        settings.position.position = new Vector3(0, 1, 0);
        settings.camera.frustum.fieldOfView = 60.0f;
        // Get our render target
        var rt = new RenderTexture(128, 128, 1, GraphicsFormat.B8G8R8A8_SNorm);
        HDRenderUtilities.Render(settings, rt);
        // Do something with rt
        rt.Release();
    }
}
How to perform a cubemap rendering:
class CubemapRenderExample
{
    public void Render()
    {
        // Copy default settings
        var settings = CameraRenderSettings.Default;
        // Adapt default settings to our custom usage
        settings.position.position = new Vector3(0, 1, 0);
        settings.camera.physical.iso = 800.0f;
        // Frustum settings are ignored and driven by the cubemap rendering
        // Get our render target
        var rt = new RenderTexture(128, 128, 1, GraphicsFormat.B8G8R8A8_SNorm)
        {
            dimension = TextureDimension.Cube
        };
        // The TextureDimension is detected and the renderer will perform a cubemap rendering.
        HDRenderUtilities.Render(settings, rt);
        // Do something with rt
        rt.Release();
    }
}
Render(ProbeSettings, ProbeCapturePositionSettings, Texture, Boolean, Boolean, UInt32, Single, Single)
Performs a rendering of a probe.
Declaration
public static void Render(ProbeSettings settings, ProbeCapturePositionSettings position, Texture target, bool forceFlipY = false, bool forceInvertBackfaceCulling = false, uint staticFlags = 0U, float referenceFieldOfView = 90F, float referenceAspect = 1F)
Parameters
| Type | Name | Description | 
|---|---|---|
| ProbeSettings | settings | The probe settings to use.  | 
| ProbeCapturePositionSettings | position | The probe position to use.  | 
| Texture | target | The texture to render into.  | 
| Boolean | forceFlipY | Whether to force Y axis flipping.  | 
| Boolean | forceInvertBackfaceCulling | Whether to force the backface culling inversion.  | 
| UInt32 | staticFlags | The static flags filters to use.  | 
| Single | referenceFieldOfView | The reference field of view.  | 
| Single | referenceAspect | The reference aspect.  | 
Render(ProbeSettings, ProbeCapturePositionSettings, Texture, out CameraSettings, out CameraPositionSettings, Boolean, Boolean, UInt32, Single, Single)
Render a probe
Declaration
public static void Render(ProbeSettings settings, ProbeCapturePositionSettings position, Texture target, out CameraSettings cameraSettings, out CameraPositionSettings cameraPositionSettings, bool forceFlipY = false, bool forceInvertBackfaceCulling = false, uint staticFlags = 0U, float referenceFieldOfView = 90F, float referenceAspect = 1F)
Parameters
| Type | Name | Description | 
|---|---|---|
| ProbeSettings | settings | The probe settings to use  | 
| ProbeCapturePositionSettings | position | The probe position to use  | 
| Texture | target | The target texture.  | 
| CameraSettings | cameraSettings | The camera settings used during the rendering  | 
| CameraPositionSettings | cameraPositionSettings | The camera position settings used during the rendering.  | 
| Boolean | forceFlipY | Whether to force the Y axis flipping.  | 
| Boolean | forceInvertBackfaceCulling | Whether to force the backface culling inversion.  | 
| UInt32 | staticFlags | The static flag to use during the rendering.  | 
| Single | referenceFieldOfView | The reference field of view.  | 
| Single | referenceAspect | The reference aspect ratio.  |