From 1ba32d2280b788cd8fac414e62842dd381a5832c Mon Sep 17 00:00:00 2001 From: Lewis Jordan Date: Thu, 14 Jan 2021 12:51:40 +0000 Subject: [PATCH 1/2] Added information about using recursive rendering and other effects --- .../Documentation~/Ray-Traced-Shadows.md | 10 ++++++++-- .../Documentation~/Ray-Tracing-Recursive-Rendering.md | 5 +++++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/Documentation~/Ray-Traced-Shadows.md b/com.unity.render-pipelines.high-definition/Documentation~/Ray-Traced-Shadows.md index 7f7cd3ab255..8e5c57b7413 100644 --- a/com.unity.render-pipelines.high-definition/Documentation~/Ray-Traced-Shadows.md +++ b/com.unity.render-pipelines.high-definition/Documentation~/Ray-Traced-Shadows.md @@ -131,5 +131,11 @@ Ray-traced shadows offer an alternative to the [exponential variance shadow map] | - **Denoiser Radius** | Controls the radius of the spatio-temporal filter. | -## Notes -Ray-traced shadows do not support the **Two Sided** option for the Mesh Renderer's **Cast Shadows** property. To use double-sided shadows for a mesh, open the Mesh Renderer's Material in the Inspector and, in the **Surface Options** section, enable the **Double-Sided** property. \ No newline at end of file +## Limitations + +#### Two Sided +Ray-traced shadows do not support the **Two Sided** option for the Mesh Renderer's **Cast Shadows** property. To use double-sided shadows for a mesh, open the Mesh Renderer's Material in the Inspector and, in the **Surface Options** section, enable the **Double-Sided** property. + +#### Recursive Rendering + +GameObjects HDRP renders using [recursive rendering](Ray-Tracing-Recursive-Rendering.md) cannot receive ray-traced shadows. If you enable both effects, HDRP renders rasterized [shadows](Shadows-in-HDRP.md) on recursively rendered GameObjects. diff --git a/com.unity.render-pipelines.high-definition/Documentation~/Ray-Tracing-Recursive-Rendering.md b/com.unity.render-pipelines.high-definition/Documentation~/Ray-Tracing-Recursive-Rendering.md index c60d45f0c46..313a5e6c21c 100644 --- a/com.unity.render-pipelines.high-definition/Documentation~/Ray-Tracing-Recursive-Rendering.md +++ b/com.unity.render-pipelines.high-definition/Documentation~/Ray-Tracing-Recursive-Rendering.md @@ -27,6 +27,10 @@ You can also do this for Shader Graph master nodes: 1. In the Project window, double-click on the Shader to open it in Shader Graph. 2. In the **Graph Settings** tab of the **Graph Inspector**, go to **Surface Options** and enable **Recursive Rendering (Preview)**. +It is best practice to use recursive rendering in situations that require multi-bounced reflection and refraction, for example car headlights. Although recursive rendering also produces ray-traced reflections in more simple scenarios, like for a mirror or a puddle, it is best practice to use [ray-traced reflections](Ray-Traced-Reflections.md) her for performance reasons. + +Since recursive rendering uses an independent render pass, HDRP cannot render any other ray-traced effects on recursively rendered GameObjects. For example, it cannot render effects such as ray-traced subsurface scattering or ray-traced shadows. + ## Properties | Property | Description | @@ -35,3 +39,4 @@ You can also do this for Shader Graph master nodes: | **Max Depth** | Controls the maximum number of times a ray can reflect or refract before it stops and returns the final color. Increasing this value increases execution time exponentially. | | **Ray Length** | Controls the length of the rays that HDRP uses for ray tracing. If a ray doesn't find an intersection, then the ray returns the color of the sky. | | **Min Smoothness** | Defines the threshold at which reflection rays are not cast if the smoothness value of the target surface is inferior to the one defined by the parameter. | + From 574da2174666d7d48e9547c1f0b674fdb62b902b Mon Sep 17 00:00:00 2001 From: Lewis Jordan Date: Thu, 14 Jan 2021 13:30:59 +0000 Subject: [PATCH 2/2] Fixed formatting --- .../Documentation~/Ray-Traced-Shadows.md | 4 ++-- .../Documentation~/Ray-Tracing-Recursive-Rendering.md | 3 +-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/Documentation~/Ray-Traced-Shadows.md b/com.unity.render-pipelines.high-definition/Documentation~/Ray-Traced-Shadows.md index 8e5c57b7413..a2ec2de6caa 100644 --- a/com.unity.render-pipelines.high-definition/Documentation~/Ray-Traced-Shadows.md +++ b/com.unity.render-pipelines.high-definition/Documentation~/Ray-Traced-Shadows.md @@ -133,9 +133,9 @@ Ray-traced shadows offer an alternative to the [exponential variance shadow map] ## Limitations -#### Two Sided +#### Double-sided shadows Ray-traced shadows do not support the **Two Sided** option for the Mesh Renderer's **Cast Shadows** property. To use double-sided shadows for a mesh, open the Mesh Renderer's Material in the Inspector and, in the **Surface Options** section, enable the **Double-Sided** property. -#### Recursive Rendering +#### Recursive rendering GameObjects HDRP renders using [recursive rendering](Ray-Tracing-Recursive-Rendering.md) cannot receive ray-traced shadows. If you enable both effects, HDRP renders rasterized [shadows](Shadows-in-HDRP.md) on recursively rendered GameObjects. diff --git a/com.unity.render-pipelines.high-definition/Documentation~/Ray-Tracing-Recursive-Rendering.md b/com.unity.render-pipelines.high-definition/Documentation~/Ray-Tracing-Recursive-Rendering.md index 313a5e6c21c..201d007c577 100644 --- a/com.unity.render-pipelines.high-definition/Documentation~/Ray-Tracing-Recursive-Rendering.md +++ b/com.unity.render-pipelines.high-definition/Documentation~/Ray-Tracing-Recursive-Rendering.md @@ -27,7 +27,7 @@ You can also do this for Shader Graph master nodes: 1. In the Project window, double-click on the Shader to open it in Shader Graph. 2. In the **Graph Settings** tab of the **Graph Inspector**, go to **Surface Options** and enable **Recursive Rendering (Preview)**. -It is best practice to use recursive rendering in situations that require multi-bounced reflection and refraction, for example car headlights. Although recursive rendering also produces ray-traced reflections in more simple scenarios, like for a mirror or a puddle, it is best practice to use [ray-traced reflections](Ray-Traced-Reflections.md) her for performance reasons. +It is best practice to use recursive rendering in situations that require multi-bounced reflection and refraction, for example car headlights. Although recursive rendering also produces ray-traced reflections in more simple scenarios, like for a mirror or a puddle, it is best practice to use [ray-traced reflections](Ray-Traced-Reflections.md) here for performance reasons. Since recursive rendering uses an independent render pass, HDRP cannot render any other ray-traced effects on recursively rendered GameObjects. For example, it cannot render effects such as ray-traced subsurface scattering or ray-traced shadows. @@ -39,4 +39,3 @@ Since recursive rendering uses an independent render pass, HDRP cannot render an | **Max Depth** | Controls the maximum number of times a ray can reflect or refract before it stops and returns the final color. Increasing this value increases execution time exponentially. | | **Ray Length** | Controls the length of the rays that HDRP uses for ray tracing. If a ray doesn't find an intersection, then the ray returns the color of the sky. | | **Min Smoothness** | Defines the threshold at which reflection rays are not cast if the smoothness value of the target surface is inferior to the one defined by the parameter. | -