From 9db72a9423a75d0bf9396fbc2349e0f0f8b78745 Mon Sep 17 00:00:00 2001 From: Vic-Cooper Date: Tue, 21 Sep 2021 12:01:59 +0100 Subject: [PATCH] Updated What's new doc All new additions and images included. --- .../Documentation~/Images/FidelityFX-Menu.png | 3 + .../Images/LensFlareTextures.png | 3 + .../Documentation~/Images/PBHairShader.png | 3 + .../Documentation~/Images/ProbeVolumesGI.png | 3 + .../Documentation~/Images/SSGIoff.png | 3 + .../Documentation~/Images/SSGIon.png | 3 + .../Images/SpecularOcclusion.png | 3 + .../Documentation~/Images/UseMipBias.png | 3 + .../Documentation~/whats-new-12.md | 291 ++++++++++++++++-- 9 files changed, 282 insertions(+), 33 deletions(-) create mode 100644 com.unity.render-pipelines.high-definition/Documentation~/Images/FidelityFX-Menu.png create mode 100644 com.unity.render-pipelines.high-definition/Documentation~/Images/LensFlareTextures.png create mode 100644 com.unity.render-pipelines.high-definition/Documentation~/Images/PBHairShader.png create mode 100644 com.unity.render-pipelines.high-definition/Documentation~/Images/ProbeVolumesGI.png create mode 100644 com.unity.render-pipelines.high-definition/Documentation~/Images/SSGIoff.png create mode 100644 com.unity.render-pipelines.high-definition/Documentation~/Images/SSGIon.png create mode 100644 com.unity.render-pipelines.high-definition/Documentation~/Images/SpecularOcclusion.png create mode 100644 com.unity.render-pipelines.high-definition/Documentation~/Images/UseMipBias.png diff --git a/com.unity.render-pipelines.high-definition/Documentation~/Images/FidelityFX-Menu.png b/com.unity.render-pipelines.high-definition/Documentation~/Images/FidelityFX-Menu.png new file mode 100644 index 00000000000..369a8ae53fe --- /dev/null +++ b/com.unity.render-pipelines.high-definition/Documentation~/Images/FidelityFX-Menu.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9160553cdfce36dfde152a574937d972e5bc5bd3354e478cb0bceefcfa4c4649 +size 36971 diff --git a/com.unity.render-pipelines.high-definition/Documentation~/Images/LensFlareTextures.png b/com.unity.render-pipelines.high-definition/Documentation~/Images/LensFlareTextures.png new file mode 100644 index 00000000000..86e2b47d22b --- /dev/null +++ b/com.unity.render-pipelines.high-definition/Documentation~/Images/LensFlareTextures.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:649068d3a4c0f7bb1f9fff9884932a98c515f319884bee25328199d72a46831e +size 64027 diff --git a/com.unity.render-pipelines.high-definition/Documentation~/Images/PBHairShader.png b/com.unity.render-pipelines.high-definition/Documentation~/Images/PBHairShader.png new file mode 100644 index 00000000000..3c912c30152 --- /dev/null +++ b/com.unity.render-pipelines.high-definition/Documentation~/Images/PBHairShader.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ee52cd5e12eb3737f30c9da7d23cb9d15fb92616e03f7f2760c9547c9f1323a3 +size 1631704 diff --git a/com.unity.render-pipelines.high-definition/Documentation~/Images/ProbeVolumesGI.png b/com.unity.render-pipelines.high-definition/Documentation~/Images/ProbeVolumesGI.png new file mode 100644 index 00000000000..d9cacbddb40 --- /dev/null +++ b/com.unity.render-pipelines.high-definition/Documentation~/Images/ProbeVolumesGI.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ecf118022092f7b3214957908146e659b088c34c5766fc4f458d8e7d8604b5cb +size 1979924 diff --git a/com.unity.render-pipelines.high-definition/Documentation~/Images/SSGIoff.png b/com.unity.render-pipelines.high-definition/Documentation~/Images/SSGIoff.png new file mode 100644 index 00000000000..3052ea5ae7a --- /dev/null +++ b/com.unity.render-pipelines.high-definition/Documentation~/Images/SSGIoff.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6e3c3965ab58dc499a0453b32c129d10b9382be2c5ac86a95af121d7ba2f71a4 +size 2317845 diff --git a/com.unity.render-pipelines.high-definition/Documentation~/Images/SSGIon.png b/com.unity.render-pipelines.high-definition/Documentation~/Images/SSGIon.png new file mode 100644 index 00000000000..a80684aee22 --- /dev/null +++ b/com.unity.render-pipelines.high-definition/Documentation~/Images/SSGIon.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1508ec1b06f4c86ebe68b508f1f8f54cf2a58b02292e0a158e633ba1559f0ada +size 2408454 diff --git a/com.unity.render-pipelines.high-definition/Documentation~/Images/SpecularOcclusion.png b/com.unity.render-pipelines.high-definition/Documentation~/Images/SpecularOcclusion.png new file mode 100644 index 00000000000..43702a7a369 --- /dev/null +++ b/com.unity.render-pipelines.high-definition/Documentation~/Images/SpecularOcclusion.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d6966498ec24b72685caa08887ce6f153f88e49265571b7a9e76f4f9f4993d8a +size 320066 diff --git a/com.unity.render-pipelines.high-definition/Documentation~/Images/UseMipBias.png b/com.unity.render-pipelines.high-definition/Documentation~/Images/UseMipBias.png new file mode 100644 index 00000000000..420ea24db59 --- /dev/null +++ b/com.unity.render-pipelines.high-definition/Documentation~/Images/UseMipBias.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c2c7cbc6204556e0242d0647048caf0b33849420240fc954066c7aaa6a00d21b +size 32291 diff --git a/com.unity.render-pipelines.high-definition/Documentation~/whats-new-12.md b/com.unity.render-pipelines.high-definition/Documentation~/whats-new-12.md index 78a8b9fa9bb..30f2e4345d1 100644 --- a/com.unity.render-pipelines.high-definition/Documentation~/whats-new-12.md +++ b/com.unity.render-pipelines.high-definition/Documentation~/whats-new-12.md @@ -2,11 +2,11 @@ This page contains an overview of new features, improvements, and issues resolved in version 12 of the High Definition Render Pipeline (HDRP), embedded in Unity 2021.2. -## Features +## Added The following list of features are new to version 12 of the High Definition Render Pipeline (HDRP), as part of Unity 2021.2. -### Adding Tessellation support for ShaderGraph Master Stack +### Tessellation support for ShaderGraph Master Stack From HDRP 12.0, you can enable [tessellation](Tessellation.md) on any HDRP [Master Stack](master-stack-hdrp.md). The option is in the Master Stack settings and adds two new inputs to the Vertex Block: @@ -15,7 +15,7 @@ From HDRP 12.0, you can enable [tessellation](Tessellation.md) on any HDRP [Mast For more information about tessellation, see the [Tessellation documentation](Tessellation.md). -### Adding custom Velocity support for ShaderGraph Master Stack +### 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). This option is in the Master Stack settings and adds one new input to the Vertex Block: @@ -23,7 +23,7 @@ From HDRP 12.0, you can enable custom Velocity on any HDRP [Master Stack](master You can use this Vertex Block to create an additional velocity for procedural geometry (for example, generated hair strands) and to get a correct motion vector value. -### Cloud System +### Cloud Layer System ![](Images/HDRPFeatures-CloudLayer.png) @@ -33,71 +33,171 @@ HDRP includes a Cloud Layer volume override which renders a cloud texture on top For detailed steps on how to create custom clouds in your scene, see [creating custom clouds](Creating-Custom-Clouds.md). +### Volumetric Clouds volume override + +HDRP now includes a Volumetric Clouds volume override which allows you to precisely control the cloud coverage in your scene. These clouds receive realistic lighting from the sun and sky. For more information, see the [Volumetric Clouds](Override-Volumetric-Clouds.md) documentation. + +![](Images/volumetric-clouds-2.png) + +![](Images/volumetric-clouds-1.png) + ### Lens Flares ![](Images/LensFlareSamples2.png) 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](shared/lens-flare/lens-flare-asset.md) and a [new lens flare component](shared/lens-flare/lens-flare-component.md) that you can attach 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. + +HDRP includes a new Lens Flare sample that uses presets and Textures. You can see an example of the Textures included in this sample in the image below: + +![](Images/LensFlareTextures.png) ### Light Anchor +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. + ![](Images/LightAnchor0.png) -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 +## New upsampling methods -- The AxF shader and Fabric and Hair master nodes now correctly support Area lights. +HDRP includes the following upsample methods you can use to male lower resolution images appear sharper: -### Density Volume (Local Volumetric Fog) Improvements +- [**Temporal Anti-Aliasing (TAA) Upscale**](#) +- [**NVIDIA’s Deep Learning Super Sampling (DLSS) v2.2**](#) +- [**AMD’s FidelityFX Super Resolution**](#) -HDRP 12.0 introduces multiple improvements to Density Volumes (Local Volumetric Fog): +For more information about upscaling methods in HDRP, see [Dynamic Resolution](Dynamic-Resolution.md). -- 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. +### Temporal Anti-Aliasing Upsampling + +HDRP 12.0 introduces the **Temporal Anti-Aliasing (TAA) Upscale** filter in the Dynamic resolution system. + +This method uses temporal integration to produce a sharp upscaled image without sacrificing visual quality at lower resolutions. This filter is compatible with any device supported by HDRP and uses the Temporal Anti-aliasing (TAA) step in the pipeline. + +The image below displays the **Temporal Anti-Aliasing (TAA) Upscale** (A) next to the **Catmull-Rom** (B) upscaling method. + +For more information, see [Dynamic Resolution](Dynamic-Resolution.md) + +![A:TAA Upscale. B: Catmull-Rom.](Images/DynamicRes_SidebySide_AB.png) + +### NVIDIA’s Deep Learning Super Sampling + +HDRP 12.0 includes production-ready integration and support for **NVIDIA’s Deep Learning Super Sampling (DLSS)** v2.2. + +**NVIDIA Deep Learning Super Sampling (DLSS)** uses artificial intelligence to increase graphics performance and quality. You can use DLSS to: + +- run real-time ray traced worlds at high frame rates and resolutions. +- Improve the performance and quality of rasterized graphics. This is particularly useful for virtual reality (VR) applications. +- run applications at higher frame rates. This helps to remove disorientation, nausea, and other negative effects that occur at lower frame rates. + +For more information, see the [HDRP Guide on DLSS](deep-learning-super-sampling-in-hdrp.md). + +### AMD’s FidelityFX Super Resolution + +HDRP 12.0 includes production-ready integration and support of **AMD’s FidelityFX Super Resolution**. This upscale filter uses a spatial super-resolution method that balances quality and performance. For more information, see [AMD FidelityFX](https://www.amd.com/en/technologies/radeon-software-fidelityfx). + +This upscale filter has no dependencies and runs at the end of the post-processing pipeline. + +The filter also runs when at 100% screen resolution, because it can have beneficial sharpening effects. + +To enable **AMD’s FidelityFX Super Resolution**.: + +- Open the Project settings window (menu: **Edit** > **Project settings**). +- Expand the **Quality** drop down and select **HDRP.** +- Expand the **Dynamic resolution** section. +- Open the **Default Fallback Upscale Filter** drop down . +- Select **FidelityFX Super Resolution**. + +![](Images/FidelityFX-Menu.png) -- 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. -- 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 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. +## Mip Bias Support +This HDRP version introduces a new setting called **Use Mip Bias.** This setting improves the detail of any upscaling filters you use in your scene. + +To enable **Use Mip Bias**: + +- Open the Project settings window (menu: **Edit** > **Project settings**). +- Expand the **Quality** drop down and select **HDRP.** +- Expand the **Dynamic resolution** section. +- Enable the **Use Mip Bias** checkbox. + +![](Images/UseMipBias.png) + +### Probe Volumes Global Illumination (Experimental) + +![](Images/ProbeVolumesGI.png) + +HDRP 12.0 introduces an experimental version of the Probe Volume system that creates pre-computed probe-based global illumination. You can use this system to place light probes automatically and create per-pixel lighting. + +The Probe Volume system supports volumetric fog. You can also use it to improve Screen Space Global Illumination results. +This is an experimental release which is intended to gather feedback. This means it is not recommended for use in a production context. + +In its current state, use the Probe Volume system as a replacement for the per-object Light Probe system, not as a replacement for lightmaps. This feature works best in a scene that uses large, static GameObjects. + +## Updated + +### Area Lights + +The AxF shader and Fabric master stack now correctly support Area lights. Hair master stack supports Area Lights but with incorrect lighting models (GGX currently). + +### Density Volume (Local Volumetric Fog) + +HDRP 12.0 introduces multiple improvements to Density Volumes (Local Volumetric Fog): + +- Density Volumes is now named **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 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. +- You can now change the mask Texture size limit (32x32x32). To do this, use the new setting in the [HDRP Asset](HDRP-Asset.md) **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 applied 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. - 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 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. +- New API in DynamicResolutionHandler to handle multi camera rendering for hardware mode. This allows you to change Cameras and reset scaling for each Camera. +- New API in DynamicResolutionHandler that you can use to set an upscale filter at runtime. +- Removed the Bilinear and Lanczos upscale filters. + +This version of HDRP also introduces multiple fixes to Dynamic Resolution Scaling. For details, see [Fixed: Dynamic Resolution Scaling](#Fixed-Dynamic-Resolution-Scaling). ### AOV API From HDRP 12.0, The AOV API includes the following improvements: -- You can now override the render buffer format that HDRP uses internally when rendering **AOVs**. To do this, call `aovRequest.SetOverrideRenderFormat(true);`. + +- You can now override the render buffer format that HDRP uses internally when you render **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. +- The `MaterialSharedProperty.Specular` output now includes information for Materials that use the metallic workflow. To do this, the metallic parameter is now fresnel 0. ### Additional Properties -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. +From HDRP 12.0, **More Options** is now named **Additional Properties**. You can now access these properties in a new way: The cogwheel that was present in component headers is now an entry in the contextual menu. When you enable **Show Additional Properties**, Unity highlights the background of each additional property for a few seconds to show you where they are. + +You can also choose whether to hide or display + +**Additional Properties globally** in the **Core Render Pipeline** settings (menu: **Edit > Preferences > Core Render Pipeline**). To do this, use the **Additional Properties > Visibility** ndrop down. -### More path traced materials +### Path tracing improvements ![](Images/HDRPFeatures-FabricPT.png) -HDRP path tracing now supports the following Materials: +HDRP’s path tracing now supports more materials: - Fabric: Cotton/wool and silk variants. - AxF: SVBRDF and car paint variants. - Stacklit. +The Unlit material has also been updated with support for shadow mattes. + +In addition, the sky visible from camera rays now matches exactly the rasterized version, rather than relying on lower quality environment textures. + ### Top level menus 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: @@ -120,27 +220,152 @@ HDRP 12.0 includes changes to some top level menus. This is to make the top leve ### Decal normal blending -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. +![](Images/HDRPFeatures-SurfGrad.png) -The example image on the left below does not this method. The image on the right use the new additive normal blending method. +From HDRP 12.0 you can use a new option in the [HDRP Asset](HDRP-Asset.md) (**Rendering > Decals > Additive Normal Blending**) to additively blend decal normals with the GameObject's normal map. -![](Images/HDRPFeatures-SurfGrad.png) +In the image above, the example image on the left does not use this method. The image on the right uses the new additive normal blending method. ### Physical Camera HDRP 12.0 includes the following physical Camera improvements: -- You can now animate many physical Camera properties with keyframes using a Unity Timeline. +- You can now animate many physical Camera properties with keyframes using the [Unity Timeline](https://docs.unity3d.com/Packages/com.unity.timeline@1.6/manual/index.html).. - 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. +Improved the quality of the physically-based Depth Of Field in the following ways: + +- Improved depth sorting to make the Depth Of Field result closer to the path-traced result. + +- Improved how HDRP handles near defocus blur and how it blends with in-focus areas. + +- Improved support for MSAA to remove artifacts around the edges of visible GameObjects. + ![](Images/HDRPFeatures-BetterDoF.png) +### Physically Based Hair Shader +![](Images/PBHairShader.png) + +HDRP 12.0 includes a new physically-based Marschner hair shader. You can use this as an alternative to the Kajiya-Kay hair shader. This new shading model allows you to quickly create a hair material that fits any lighting scenario. For more information about this new hair shader model and its parameters, see [Hair Master Stack](master-stack-hair.md). + ### 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 +## Dynamic Render Pass Culling + +HDRP 12.0 can dynamically cull rendering passes that don’t contribute to the output frame based on the viewpoint of the active Camera. For example, if there are no GameObjects that use low resolution transparency in the current viewpoint, HDRP can skip the composition pass for GameObjects that use low resolution transparency. + +To enable this feature, go to **Edit > Project Settings > HDRP Global HDRP Settings** and enable **Dynamic Render Pass Culling**. + +## Built-in Object ID Custom Pass + +HDRP 12.0 includes a built-in custom pass that you can use to generate Object IDs and display them as colors. To use this new custom pass, create a Custom Pass volume and select the new **ObjectIDCustomPass**from the list of available custom passes. + +## Specular Occlusion + +HDRP 12.0 includes a more precise method to calculate specular occlusion based on Ambient Occlusion (AO) and Bent normals. This replaces the old method for all materials and shader graphs. + +![](Images/SpecularOcclusion.png) + +## Screen Space Global Illumination + +HDRP 12.0 improves the quality of the [Screen Space Global Illumination (SSGI)](Override-Screen-Space-GI.md) in the following ways: + +- Added a new fallback mechanic when the ray marching fails to return an intersection point based on reflection probes and the sky probe. +- Improved the denoiser HDRP uses to filter the SSGI signal. +- Improved the performance of SSRI evaluation at half-resolution, and the performance of the denoiser. +- Emissive properties work correctly by default and do not require SSGI flags. + +SSGI off: + +![](Images/SSGIoff.png) + +SSGI on: + +![](Images/SSGIon.png) + +## Ray Traced Global Illumination + +HDRP 12.0 includes the following new volume parameters for [Ray Traced Global Illumination (RTGI)](Ray-Traced-Global-Illumination.md): + +- **Ray Miss** +- **Last Bounce** + +These new parameters control the fallback method HDRP uses when RTGI interacts with the reflection probe, and the sky. + +This HDRP version also improves the quality of the RTGI denoiser.Emissive properties work correctly by default and do not require [Screen Space Global Illumination (SSGI)](Override-Screen-Space-GI.md) flags. + +This version includes a new RTGI **Tracing** option called **Mixed.** Select this option to make RTGI use a combination of ray tracing and ray marching to calculate global illumination. **Mixed** tracing only works with RTGI when you set the RTGI **Mode** to **Performance**. For more information, see [tracing modes](tracing-modes.md). + +## Ray Traced Reflections + +HDRP 12.0 includes the following new volume parameters for [Ray Traced Reflections](Ray-Traced-Reflections.md) : + +- **Ray Miss** +- **Last Bounce** + +These new parameters control the fallback method HDRP uses when Ray Traced Reflections interact with the reflection probe, and the sky. + +This version includes a new Ray Traced Reflections **Mode** option called **Mixed Ray Casting**. This new Mode is only a Select this mode to make Ray Traced Reflections evaluate ray intersections using ray marching and the GBuffer when possible. + +This version includes a new Ray Traced Reflections **Tracing** option called **Mixed**. Select this option to make Ray Traced Reflections use a combination of ray tracing and ray marching to calculate global illumination. **Mixed** tracing for Ray Traced Reflections is only compatible with [Lit shaders](Lit-Shader.md) that use [deferred rendering](Forward-And-Deferred-Rendering.md). For more information, see [tracing modes](tracing-modes.md). + +## Recursive rendering + +HDRP 12.0 includes the following new volume parameters for [Recursive Rendering](Ray-Tracing-Recursive-Rendering.md) : + +- **Ray Miss** +- **Last Bounce** + +These new parameters control the fallback method HDRP uses when Recursive Rendering interacts with the reflection probe, and the sky. + +## Conservative Depth Offset + +HDRP version 12.0 adds a new **Depth Offset** property called **Conservative** to all [Master stacks in HDRP](master-stack-hdrp.md)**.** This option makes all depth offsets positive to take advantage of the early depth test mechanic. + +The **Conservative** option only appears when you enable a Material’s **Surface options** > **Depth Offset** property. + +## Custom Pass Improvements + +This version includes the following improvements to [custom passes](Custom-Pass.md) in HDRP: + +- Added a new API to override the camera properties: `CustomPassUtils.OverrideCameraRendering`. +- You can now use `CustomPassUtils Render` functions to write directly into a `RenderTexture` instead of `RTHandle`. +- Added a search field to filter custom passes to the custom pass volume component. +- You can now use the C# API in the `CustomPassContext` to access the motion vector buffer. +- Added a new **Mode** property to the custom pass volume component called **Camera** that you can use to render a custom pass on one specific Camera. +- Added new nodes to ShaderGraph called **Custom Color Buffer** and **Custom Depth Buffer**. You can use these nodes to sample the custom color and depth buffers of custom passes. +- Added a new injection point called **AfterPostProcessBlurs** that HDRP executes after the **Depth of Field** and **Motion Blur** injection points. + +## Custom Post Process + +From HDRP 12.0 the custom post processes use the [CommandBuffer.Blit](https://docs.unity3d.com/ScriptReference/Rendering.CommandBuffer.Blit.html) function. + +You can also use the new `_CameraMotionVectorsTexture` property to access the motion vectors buffer in a shader + +To learn more about Custom Post Processes in HDRP, see the [Custom Post Process](Custom-Post-Process.md). + +## Decal Performance Improvements + +This version of HDRP introduces performance improvements for Decal Projectors: + +- Decal Projector’s processing and draw call creation now work in parallel and use burst. +- Decal Projectors no longer require the `LateUpdate` method, which caused a performance bottleneck. +- On an intel i9-8800KS CPU, the HDRP template took 0.378 ms to process all decals. The new changes improve this number to 0.025ms, which is a 15x improvement in performance. This number goes up the more decals are processed. +- These improvements mean that HDRP is now dependant on the Burst 1.5 package for HDRP. + + + +## Fixed + +### Dynamic Resolution Scaling + +This version of HDRP introduces multiple fixes to **Dynamic Resolution Scaling**: + +- 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. +- Fixed an issue that caused corrupted scaling on Dx12 hardware mode when a planar reflection probe or a secondary Camera is present. -For information on issues resolved in version 12 of HDRP, see the [changelog](https://docs.unity3d.com/Packages/com.unity.render-pipelines.high-definition@12.0/changelog/CHANGELOG.html). +For a full list of changes and updates in version 12 of HDRP, see the [changelog](https://docs.unity3d.com/Packages/com.unity.render-pipelines.high-definition@12.0/changelog/CHANGELOG.html).