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. |