Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,19 @@ This page contains an overview of new features, improvements, and issues resolve

## Features

The following is a list of features Unity added to version 12 of the High Definition Render Pipeline, embedded in Unity 2021.2. Each entry includes a summary of the feature and a link to any relevant documentation.
The following list of features are new to version 12 of the High Definition Render Pipeline (HDRP), as part of Unity 2021.2.

### Render the Emissive contribution of a Lit Deferred Material in a separate forward pass.

From HDRP 12.0, you can render the Emissive contribution of a Lit Material in a separate pass when the Lit Shader Mode is set to Both or Deferred in the HDRP settings. You can do this instead of using the GBuffer pass.
This can be used to fix artefacts when using [Screen Space Global Illumination](Override-Screen-Space-GI.md) - With or without Raytracing enabled - and Emissive Material with Lit Shader Mode setup as Both or Deferred. Previously it Emissive contributoin was drop, now it is keep. Same usage for the new Adaptive probe volumes.
Limitation: When Unity performs a separate pass for the Emissive contribution, it also performs an additional DrawCall. This means it uses more resources on your CPU.
Group of Materials / GameObject can be setup to use Force Emissive forward with the script "Edit/Render Pipeline/HD Render Pipeline/Force Forward Emissive on Material/Enable In Selection".
From HDRP 12.0, you can render the Emissive contribution of a Lit Material in a separate forward pass when the **Lit Shader Mode** is set to **Both** or **Deferred** in the [HDRP global settings](Default-Settings-Window.md) window. To do this, enable the new **Force Forward Emissive** property in the **Advanced options** of a [Lit Shader](Lit-Shader.md) or a [Layered Lit Shader](Layered-Lit-Shader.md). You can do this instead of using a GBuffer pass.

You can also make a group of Materials or GameObjects use Force Forward Emissive in the following Menu path: **Edit > Render Pipeline > HD Render Pipeline > Force Forward Emissive on Material > Enable In Selection**.

You can use this new behaviour to fix artefacts when you use [Screen Space Global Illumination](Override-Screen-Space-GI.md), with or without Raytracing enabled. When you enable the **Force Forward Emissive** property, Unity renders the Emissive Object and its contribution in the scene. You can use this in the same way for Adaptive probe volumes.

#### Limitations

When Unity performs a separate pass for the Emissive contribution, it also performs an additional `DrawCall`. This means it uses more resources on your CPU.

### Adding Tessellation support for ShaderGraph Master Stack

Expand All @@ -24,7 +29,7 @@ For more information about tessellation, see the [Tessellation documentation](Te

### Adding custom Velocity support for ShaderGraph Master Stack

From HDRP 12.0, you can enable custom Velocity on any HDRP [Master Stack](master-stack-hdrp.md). The option is in the Master Stack settings and adds one new input to the Vertex Block:
From HDRP 12.0, you can enable custom Velocity on any HDRP [Master Stack](master-stack-hdrp.md). This option is in the Master Stack settings and adds one new input to the Vertex Block:

* Velocity

Expand All @@ -34,62 +39,66 @@ You can use this Vertex Block to create an additional velocity for procedural ge

![](Images/HDRPFeatures-CloudLayer.png)

From HDRP 12.0, HDRP introduces a cloud system, which can be controlled through the volume framework in a similar way to the sky system.
HDRP 12.0 introduces a cloud system that you can control through the volume framework.

HDRP includes a Cloud Layer volume override which renders a cloud texture on top of the sky. For more information, see the [Cloud Layer](Override-Cloud-Layer.md) documentation.

For detailed steps on how to create your custom cloud solution, see the documentation about [creating custom clouds](Creating-Custom-Clouds.md).
For detailed steps on how to create custom clouds in your scene, see [creating custom clouds](Creating-Custom-Clouds.md).

### Lens Flares

![](Images/LensFlareSamples2.png)

From HDRP 12.0, HDRP (and URP) introduces a new Lens Flare system. You can attach a Lens Flare (SRP) component to any GameObject.
Some Lens Flare properties only appear when you attach this component to a light. Each Lens Flare can have with multiple elements that you can control individually. HDRP also provides a [new asset](lens-flare-data-driven-asset.md) and a [new component](lens-flare-data-driven-component.md) which you can attach to any GameObject.
HDRP 12.0 includes a new Lens Flare system. You can attach a Lens Flare (SRP) component to any GameObject.

Some Lens Flare properties only appear when you attach a Lens Flare (SRP) component to a light. Each Lens Flare has optional multiple elements that you can control individually. HDRP also provides a [new lens flare asset](lens-flare-data-driven-asset.md) and a [new lens flare component](lens-flare-data-driven-component.md) that you can attach to any GameObject.

### Light Anchor

![](Images/LightAnchor0.png)

From HDRP 12.0, HDRP (and URP) introduces a new [Light Anchor](light-anchor.md) component. You can attach this component to any light to control the light in Main Camera view.
From HDRP 12.0, HDRP includes a new [Light Anchor](light-anchor.md) component. You can attach this component to any light to control the light in Main Camera view.

## Improvements

### Area Lights

The AxF shader and Fabric and Hair master nodes now correctly support Area lights.
- The AxF shader and Fabric and Hair master nodes now correctly support Area lights.

### Density Volume (Local Volumetric Fog) Improvements

Density Volumes are now known as **Local Volumetric Fog**. This is a more accurate, descriptive name that removes confusion with [Volumes](Volumes.md) and makes the relation to fog clearer.
HDRP 12.0 introduces multiple improvements to Density Volumes (Local Volumetric Fog):

- Density Volumes have been renamed **Local Volumetric Fog**. This new name removes confusion with [Volumes](Volumes.md) and makes it clear that this feature creates a fog effect.

Local Volumetric Fog masks now support using 3D RenderTextures as masks. 3D mask textures now also use all four RGBA channel which allows volumetric fog to have different colors and density based on the 3D Texture.
- Local Volumetric Fog masks now support 3D RenderTextures as masks.
- 3D mask textures now use all four RGBA channels. This allows volumetric fog to have different colors and density based on the 3D Texture.

The size limit of 32x32x32 for the mask textures has also been replaced by a setting in the HDRP asset called "Max Local Volumetric Fog Resolution", under the Lighting > Volumetrics section. The upper limit for mask textures is now 256x256x256, an info box below the field tells you how much memory is allocated to store these textures. Note that increasing the resolution of the mask texture doesn't necessarily improve the quality of the volumetric, what's important is to have a good balance between the **Volumetrics** quality and the Local Volumetric Fog resolution.
- You can now change the mask texture size limit (32x32x32). To do this, use the new setting [HDRP Asset](HDRP-Asset.md) in the **Lighting > Volumetrics** section, called **Max Local Volumetric Fog Resolution** . The upper limit for mask textures is now 256x256x256. An information box below the **Max Local Volumetric Fog Resolution** field tells you how much memory Unity allocates to store these textures. When you increase the resolution of the mask texture, it doesn't always improve the quality of the volumetric fog. Instead, use this property to find a balance between the **Volumetrics** quality and the **Local Volumetric Fog** resolution.

There is a new field to change the falloff HDRP applies when it blends the volume using the Blend Distance property. You can choose either Linear which is the default and previous technique, or Exponential which is more realistic.
- There is a new field to change the falloff HDRP applies when it blends a volume using the **Blend Distance** property. You can choose the **Linear** setting, which is the default and previous technique, or the **Exponential** setting, which is more realistic.

Finally, the minimal value of the **Fog Distance** parameter was lowered to 0.05 instead of 1 and now allows thicker fog effects to be created.
- The minimal value of the **Fog Distance** parameter is 0.05 instead of 1. You can use this value to create fog effects that appear more dense.

### Dynamic Resolution Scale
This version of HDRP introduces multiple improvements to Dynamic Resolution Scaling:
- The exposure and pixel to pixel quality now match between the software and hardware modes.
- The rendering artifact that caused black edges to appear on screen when in hardware mode no longer occurs.
- The rendering artifacts that appeared when using the Lanczos filter in software mode no longer occur.
- Hardware mode now utilizes the Contrast Adaptive Sharpening filter to prevent the results from looking too pixelated. This uses FidelityFX (CAS) AMD™. For information about FidelityFX and Contrast Adaptive Sharpening, see [AMD FidelityFX](https://www.amd.com/en/technologies/radeon-software-fidelityfx).
- Fixing a corrupted scaling on dx12 hardware mode when a planar reflection probe / secondary camera is present.
- New API in DynamicResolutionHandler to handle multicamera rendering for hardware mode. Changing cameras and resetting scaling per camera should be safe.
- Hardware mode now utilizes the Contrast Adaptive Sharpening filter to prevent pixelated results. This uses FidelityFX (CAS) AMD™. For information about FidelityFX and Contrast Adaptive Sharpening, see [AMD FidelityFX](https://www.amd.com/en/technologies/radeon-software-fidelityfx).
- Fixed an issue that caused corrupted scaling on Dx12 hardware mode when a planar reflection probe or a secondary Camera is present.
- New API in `DynamicResolutionHandler` to handle multicamera rendering for hardware mode. This allows you to change Cameras and reset scaling per Camera with no issues.

### AOV API

From HDRP 12.0, The AOV API includes the following improvements:
- It is now possible to override the render buffer format that is used internally by HDRP when rendering **AOVs**. This can be done by a call to aovRequest.SetOverrideRenderFormat(true);
- There is now a world space position output buffer (see DebugFullScreen.WorldSpacePosition).
- The MaterialSharedProperty.Specular output now includes sensible information even for materials that use the metallic workflow (by converting the metallic parameter to fresnel 0).
- You can now override the render buffer format that HDRP uses internally when rendering **AOVs**. To do this, call `aovRequest.SetOverrideRenderFormat(true);`.
- This version of HDRP provides a world space position output buffer (see `DebugFullScreen.WorldSpacePosition`).
- The `MaterialSharedProperty.Specular` output now includes information for Materials that use the metallic workflow. This is done by converting the metallic parameter to fresnel 0.

### Additional Properties

From HDRP 12.0, More Options have become Additional Properties. The way to access them has also changed. The cogwheel that was present in component headers has been replaced by an entry in the contextual menu. When you enable additional properties, Unity highlights the background of each additional property for a few seconds to show you where they are.
From HDRP 12.0, **More Options** have been renamed **Additional Properties**. There is also a new way to access these properties. The cogwheel that was present in component headers has been replaced by an entry in the contextual menu. When you enable Additional Properties, Unity highlights the background of each additional property for a few seconds to show you where they are.

### More path traced materials

Expand All @@ -103,13 +112,13 @@ HDRP path tracing now supports the following Materials:

### Top level menus

From HDRP 12.0, various top level menus are now different. This is to make the top level menus more consistent between HDRP and the Universal Render Pipeline. The top level menus this change affects are:
HDRP 12.0 includes changes to some top level menus. This is to make the top level menus more consistent between HDRP and the Universal Render Pipeline. The top level menus this change affects are:

* **Window**
* **HD Render Pipeline Wizard** is now at **Window > Rendering > HDRP Wizard**
* **Graphics Compositor** is now at **Window > Rendering > Graphics Compositor**
* **Assets**
* HDRP Shader Graphs are now in **Assets > Create > Shader Graph > HDRP**
* **HDRP Shader Graphs** are now in **Assets > Create > Shader Graph > HDRP**
* **Custom FullScreen Pass** is now at **Assets > Create > Shader > HDRP Custom FullScreen Pass**
* **Custom Renderers Pass** is now at **Assets > Create > Shader > HDRP Custom Renderers Pass**
* **Post Process Pass** is now at **Assets > Create > Shader > HDRP Post Process**
Expand All @@ -123,23 +132,26 @@ From HDRP 12.0, various top level menus are now different. This is to make the t

### Decal normal blending

From HDRP 12.0, an option has been added in the HDRP asset to allow decal normals to be additively blended with the underlying object normal.
The screenshot on the left below do not use additive normal blending, whereas the screenshot on the right use the new method.
From HDRP 12.0 you can use a new option in the [HDRP Asset](HDRP-Asset.md) ( **Rendering > Decals > Additive Normal Blending**) additively blend decal normals with the GameObject's normal map.

The example image on the left below does not this method. The image on the right use the new additive normal blending method.

![](Images/HDRPFeatures-SurfGrad.png)

### Physical Camera

HDRP 12.0 includes the following physical camera improvements:
- Many physical camera properties can now be animated with keyframes using a Unity Timeline.
- Added the **Focus Distance** property to the physical camera properties. To improve compatibility with older HDRP versions, this property is only used in DoF computations if the **Focus Distance Mode** in the [Depth of Field](Post-Processing-Depth-of-Field.md) volume component is set to **Camera**. |
HDRP 12.0 includes the following physical Camera improvements:
- You can now animate many physical Camera properties with keyframes using a Unity Timeline.
- Added the **Focus Distance** property to the physical Camera properties. To improve compatibility with older HDRP versions, HDRP only includes this property in Depth of Field (DoF) computations if the **Focus Distance Mode** in the [Depth of Field](Post-Processing-Depth-of-Field.md) volume component is set to **Camera**.

### Depth Of Field

Improved the quality of the physically-based Depth Of Field.
![](Images/HDRPFeatures-BetterDoF.png)

This HDRP version includes a new shader specifically formatted for [Custom Render Textures](https://docs.unity3d.com/Manual/class-CustomRenderTexture.html) in **Assets > Create > Shader > Custom Render Texture**. To use this shader, create a new Material and assign it to the Custom Render Texture's **Material** field.
### New shader for Custom Render Textures

This HDRP version includes a new shader that is formatted for [Custom Render Textures](https://docs.unity3d.com/Manual/class-CustomRenderTexture.html) in **Assets > Create > Shader > Custom Render Texture**. To use this shader, create a new Material and assign it to the Custom Render Texture's **Material** field.

## Issues resolved

Expand Down