From 1c5419693713ba32ed473b43041f1fed5a2a3419 Mon Sep 17 00:00:00 2001 From: Lewis Jordan Date: Mon, 6 Jul 2020 15:40:45 +0100 Subject: [PATCH 1/3] Added what's new page and relevant images --- .../Documentation~/Images/CustomPass_API.png | 3 + .../Images/HDRPFeatures-CloudLayer.png | 3 + .../Images/HDRPFeatures-IESProfiles.png | 3 + .../Documentation~/Images/LightDebugView.png | 3 + .../Documentation~/Images/Path-traced-SSS.png | 3 + .../Documentation~/Images/Path-traced-fog.png | 3 + .../Images/PlanarReflectionFiltering.png | 3 + .../Documentation~/Images/aov_example.png | 4 +- .../Documentation~/TableOfContents.md | 2 + .../Documentation~/whats-new-10-0.md | 237 ++++++++++++++++++ .../Documentation~/whats-new.md | 4 + 11 files changed, 266 insertions(+), 2 deletions(-) create mode 100644 com.unity.render-pipelines.high-definition/Documentation~/Images/CustomPass_API.png create mode 100644 com.unity.render-pipelines.high-definition/Documentation~/Images/HDRPFeatures-CloudLayer.png create mode 100644 com.unity.render-pipelines.high-definition/Documentation~/Images/HDRPFeatures-IESProfiles.png create mode 100644 com.unity.render-pipelines.high-definition/Documentation~/Images/LightDebugView.png create mode 100644 com.unity.render-pipelines.high-definition/Documentation~/Images/Path-traced-SSS.png create mode 100644 com.unity.render-pipelines.high-definition/Documentation~/Images/Path-traced-fog.png create mode 100644 com.unity.render-pipelines.high-definition/Documentation~/Images/PlanarReflectionFiltering.png create mode 100644 com.unity.render-pipelines.high-definition/Documentation~/whats-new-10-0.md create mode 100644 com.unity.render-pipelines.high-definition/Documentation~/whats-new.md diff --git a/com.unity.render-pipelines.high-definition/Documentation~/Images/CustomPass_API.png b/com.unity.render-pipelines.high-definition/Documentation~/Images/CustomPass_API.png new file mode 100644 index 00000000000..361c465e879 --- /dev/null +++ b/com.unity.render-pipelines.high-definition/Documentation~/Images/CustomPass_API.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6093c925da152dfd7a39b1f7e330ffa757ec8ff901fd323f462cee46b905206d +size 232146 diff --git a/com.unity.render-pipelines.high-definition/Documentation~/Images/HDRPFeatures-CloudLayer.png b/com.unity.render-pipelines.high-definition/Documentation~/Images/HDRPFeatures-CloudLayer.png new file mode 100644 index 00000000000..19dbecd37e7 --- /dev/null +++ b/com.unity.render-pipelines.high-definition/Documentation~/Images/HDRPFeatures-CloudLayer.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f7f50114b7166e2db225a66a46d7849e5e12416c9c199175bbe3f8c4c893bb18 +size 506959 diff --git a/com.unity.render-pipelines.high-definition/Documentation~/Images/HDRPFeatures-IESProfiles.png b/com.unity.render-pipelines.high-definition/Documentation~/Images/HDRPFeatures-IESProfiles.png new file mode 100644 index 00000000000..f5a13240fac --- /dev/null +++ b/com.unity.render-pipelines.high-definition/Documentation~/Images/HDRPFeatures-IESProfiles.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5f2a8283b1fbce469faf6a92559a99d7a1cc9d79fdc797ff1fcccf49139c7a59 +size 234434 diff --git a/com.unity.render-pipelines.high-definition/Documentation~/Images/LightDebugView.png b/com.unity.render-pipelines.high-definition/Documentation~/Images/LightDebugView.png new file mode 100644 index 00000000000..88826dabd12 --- /dev/null +++ b/com.unity.render-pipelines.high-definition/Documentation~/Images/LightDebugView.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ba425d47a2e368bcbb6db50c7e2ef44a923a5f5fbbe1218d0a909dcdfd63cdff +size 220762 diff --git a/com.unity.render-pipelines.high-definition/Documentation~/Images/Path-traced-SSS.png b/com.unity.render-pipelines.high-definition/Documentation~/Images/Path-traced-SSS.png new file mode 100644 index 00000000000..81f5ac755ea --- /dev/null +++ b/com.unity.render-pipelines.high-definition/Documentation~/Images/Path-traced-SSS.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cf9d5b2af5bb6bb1987dfe8f661bec4eb11a35177ff33cb54fd9cc97b56fbfdb +size 1286718 diff --git a/com.unity.render-pipelines.high-definition/Documentation~/Images/Path-traced-fog.png b/com.unity.render-pipelines.high-definition/Documentation~/Images/Path-traced-fog.png new file mode 100644 index 00000000000..e384e9982fe --- /dev/null +++ b/com.unity.render-pipelines.high-definition/Documentation~/Images/Path-traced-fog.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d7703e0c3107a38ce7d1cffef9bc04c62a5127b7c5348c41fd7563c684962604 +size 634467 diff --git a/com.unity.render-pipelines.high-definition/Documentation~/Images/PlanarReflectionFiltering.png b/com.unity.render-pipelines.high-definition/Documentation~/Images/PlanarReflectionFiltering.png new file mode 100644 index 00000000000..08f42ff695b --- /dev/null +++ b/com.unity.render-pipelines.high-definition/Documentation~/Images/PlanarReflectionFiltering.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:59d28ff1edc408514687554126d537addebce47e46dbd729bf94dca88c9530c3 +size 830881 diff --git a/com.unity.render-pipelines.high-definition/Documentation~/Images/aov_example.png b/com.unity.render-pipelines.high-definition/Documentation~/Images/aov_example.png index ef3c8384ddf..4dc12dc6ef5 100644 --- a/com.unity.render-pipelines.high-definition/Documentation~/Images/aov_example.png +++ b/com.unity.render-pipelines.high-definition/Documentation~/Images/aov_example.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0c9979af1a6a84124bcf96266f99560991e5ae6dfd26d7e44690f566ae27321e -size 3072921 +oid sha256:9ef088b9c0bc504b20623c610eec39bf7a7b8f625552f35f4ec252dc46676f0c +size 281337 diff --git a/com.unity.render-pipelines.high-definition/Documentation~/TableOfContents.md b/com.unity.render-pipelines.high-definition/Documentation~/TableOfContents.md index d770e610e54..a9da7cb555c 100644 --- a/com.unity.render-pipelines.high-definition/Documentation~/TableOfContents.md +++ b/com.unity.render-pipelines.high-definition/Documentation~/TableOfContents.md @@ -1,4 +1,6 @@ * [High Definition Render Pipeline](index) +* [What's new](whats-new.md) + * [10.0](whats-new-10-0.md) * Features * [Features List](HDRP-Features) * [Comparison with the Built-in Render Pipeline](Feature-Comparison) diff --git a/com.unity.render-pipelines.high-definition/Documentation~/whats-new-10-0.md b/com.unity.render-pipelines.high-definition/Documentation~/whats-new-10-0.md new file mode 100644 index 00000000000..2577ec64df8 --- /dev/null +++ b/com.unity.render-pipelines.high-definition/Documentation~/whats-new-10-0.md @@ -0,0 +1,237 @@ +# What's new in version 10.0 + +This page contains an overview of new features, improvements, and issues resolved in version 10 of the High Definition Render Pipeline. + +## Features + +The following is a list of features Unity added to version 10.0 of the High Definition Render Pipeline. Each entry includes a summary of the feature and a link to any relevant documentation. + +### IES Profiles and light cookies + +![](Images/HDRPFeatures-IESProfiles.png) + +HDRP now supports the Illuminating Engineering Society's (IES) file format for describing the distribution of light from a light source. HDRP supports the IES profile for Point, Spot (Cone, Pyramid, and Box), and rectangular Area [Lights](Light-Component.md). You can also mix the IES profile with [cookies](https://docs.unity3d.com/Manual/Cookies.html) and even use the profile and cookie mix for [light map baking](https://docs.unity3d.com/Manual/LightMode-Baked.html). + +### Exposure + +#### Histogram exposure + +HDRP's exposure implementation can now compute a histogram of the image which allows you to select high and low percentile values to discard. Discarding outlying values in the shadows or highlights helps to calculate a more stable exposure. + +For more information on this feature, see [Exposure](Override-Exposure.md). + +#### New metering mode + +It is often best to not consider the whole screen as input for the auto-exposure algorithm so HDRP's exposure implementation now includes a metering mask. This includes a texture-based mask and a procedural mode. + +For more information about this feature, see [Exposure](Override-Exposure.md). + +#### Debug modes + +HDRP now includes new debug modes that can help you to set the correct exposure for your Scene. + +For more information about the debug modes, see [Exposure](Override-Exposure.md) and [Render Pipeline Debug](Render-Pipeline-Debug-Window.md). + +### Path tracing + +#### Path-traced depth of field + +![](Images/Path-traced-DOF.png) + +This version of HDRP includes a new depth of field mode for producing path-traced images with high-quality defocus blur. Compared to post-processed depth of field, this mode works correctly with multiple layers of transparency and does not produce any artifacts, apart from noise typical in path traced images (which you can mitigate by increasing the sample count and/or using an external denoising tool). + +For more information about this feature, see [Depth-of-field](Post-Processing-Depth-of-Field.md). + +#### Accumulation motion blur and path tracer convergence APIs + +![](Images/Path_tracing_recording.png) +HDRP now includes a recording API which you can use to render effects such as high-quality accumulation motion blur and converged path-traced images. These techniques create the final "converged" frame by combining information from multiple intermediate sub-frames. The new API allows your scripts to extract the properly converged final frames and do further processing or save them to disk. + +For information about this feature and for some example scripts, see [Multiframe rendering and accumulation documentation](Accumulation.md). + +#### Path-traced sub-surface scattering + +![](Images/Path-traced-SSS.png) + +Path tracing now supports subsurface scattering (SSS), using a random walk approach. To use it, enable path tracing and set up SSS in the same way as you would for HDRP materials. + +For information on SSS in HDRP, see [subsurface scattering](Subsurface-Scattering.md). + +#### Path-traced fog +![](Images/Path-traced-fog.png) + +Path tracing now supports fog absorption. Like SSS, to use this feature, enable path tracing and set up fog in the same way as you would for standard fog in HDRP. + +For information on fog in HDRP, see [fog](Override-Fog.md). + +#### Support for shader graph in path tracing + +Path tracing now supports Lit and Unlit Shader Graph nodes. + +Note that the graph should not contain nodes that rely on screen-space differentials (ddx, ddy). Nodes that compute the differences between the current pixel and a neighboring one do not compute correctly when you use ray tracing. + +### Scalability settings + +This version of HDRP includes scalability settings for fog and subsurface scattering. These settings allow for more control over the performance and quality of volumetric lighting. + +### Screen-space global illumination + +This version of HDRP introduces screen-space global illumination (SSGI) as a fallback for ray-traced global illumination (RTGI). It is an algorithm that accesses indirect diffuse lighting the environment generates. It works in the same way as the [Screen Space Reflection override](Override-Screen-Space-Reflection.md) in that it uses ray marching to calculate the result. + +Since this feature is a fallback for RTGI, for more information, see [Ray-traced Global Illumination](Ray-Traced-Global-Illumination.md). + +### Custom Pass AOV Export + +![img](Images/aov_example.png) +This feature allows you to export arbitrary data from custom pass injection points using an extension of the Arbitrary Output Variables (AOV) API in HDRP. An example use-case is for exporting “Object IDs” that are rendered with a custom pass. For information about the feature and example scripts, see the [AOV documentation](AOVs.md). + +### Debug modes + +#### Light debug view + +![](Images/LightDebugView.png) + +To help you to debug lighting in your Scene, HDRP now includes various lighting debug view modes that allow you to separate the various components of the light into multiple parts. These debug modes are also available in the [AOV](AOVs.md) API to allow recorders to export them. The new lighting debug modes are: + +- Diffuse +- Specular +- Direct diffuse +- Direct specular +- Indirect diffuse +- Reflection +- Refraction + +#### Light Layer debug mode + +HDRP now includes a new [light layer](Light-Layers.md) debug mode which can display the light layers assigned to each GameObject or can highlight GameObjects which match the light layers of a specific Light. + +For more information, see the Lighting panel section in the [HDRP debug window](Render-Pipeline-Debug-Window.md). + +### Alpha to Mask + +This version of HDRP adds support for alpha to mask (or alpha to coverage) to all HDRP and Shader Graph shaders. + +For more information, see the Alpha to Mask property in [Alpha Clipping](Alpha-Clipping.md). + +### Range attenuation for box-shaped spotlights + +This version of HDRP adds a range attenuation checkbox to box-shaped spotlights, which makes the Light shine uniformly across its range. + +For more information, see the [Light component documentation](Light-Component.md). + +### Parallax occlusion mapping for emissive maps + +This version of HDRP adds support for emissive maps with parallax occlusion mapping. + +### Fabric material examples + +HDRP now includes a new sample that contains example fabric materials. You can use these materials as references to more quickly develop fabric materials for your application. + +### HDRI Flowmap + +The [HDRI Sky](Override-HDRI-Sky.md) override now contains a new property to allow you to apply a flowmap to the sky cubemap. + +For more information, see the [HDRI Sky documentation](Override-HDRI-Sky.md). + +### Cloud Layer Override (in preview) + +![](Images/HDRPFeatures-CloudLayer.png) + +This feature allows you to blend a texture with any sky available in the HDRP [volume system](Volumes.md). You can also use a flow map to apply a distortion effect, like wind. + +For information about the feature, see the [Cloud Layer documentation](Override-Cloud-Layer.md). For an example of integration in a custom sky, see the [Custom Sky documentation](Creating-a-Custom-Sky.md) + +### Graphics Compositor (in Preview) + +![](Images/Compositor-HDRPTemplateWithLogo.png) +The Graphics Compositor allows real-time compositing operations between layers of 3D content, static images, and videos. + +The tool support three types of compositing techniques: + +- Graph-based compositions, guided from a Shader Graph. +- Camera stacking compositions, where multiple cameras render to the same render target, the result of which can then be used in graph-based composition. +- 3D composition, where you insert composition layers into a 3D Scene to allow for effects like reflections/refractions between composited layers on 3D GameObject. + +Overall, this tool allows you to compose a final frame by mixing images and videos with 3D content in real-time inside Unity, without the need of an external compositing tool. + +For information about the feature, see the [HDRP Compositor documentation](Compositor-Main.md). + +## Improvements + +The following is a list of improvements Unity made to the High Definition Render Pipeline in version 10.0. Each entry includes a summary of the improvement and, if relevant, a link to any documentation. + +### Ray tracing + +#### Fallback for transparents + +Before this version, if transparent GameObjects were set up for [recursive rendering](Ray-Tracing-Recursive-Rendering.md) and you did not use recursive rendering in your Scene, they would disappear. Also, if they were not refractive, they would appear opaque. Now, HDRP has a set off fallbacks so the visuals of transparent GameObjects are coherent with and without recursive rendering and refraction. + +#### Shadow quality + +The denoiser for [ray-traced shadows](Ray-Traced-Shadows.md) now produces higher quality shadows. + +#### Colored shadows + +HDRP now supports colored ray-traced shadows for transparent and transmissive GameObjects. + +For more information, see [ray-traced shadows](Ray-Traced-Shadows.md). + +#### Screen-space reflection and ray-traced reflection + +HDRP's screen-space reflection (SSR) and ray-traced reflection (RTR) solutions now support transparent materials. This is useful for transparent surfaces such as windows or water. + +### Scene view Camera properties + +The HDRP-specific Scene view Camera properties, such as anti-aliasing mode and stop NaNs, are no longer in the preferences window and are instead in the [Scene view camera](https://docs.unity3d.com/Manual/SceneViewCamera.html) settings menu. + +For information on HDRP's Scene view Camera properties, see [Scene view Camera](Scene-View-Camera.md). + +### Compute shaders now use multi-compile + +HDRP, being a high-end modern renderer, contains a lot of compute shader passes. Up until now, to define variations of some compute shaders, HDRP had to manually declare new kernels for each variation. From this version, every compute shader in HDRP uses Unity's multi-compile API which makes maintenance easier, but more importantly allows HDRP to strip shaders that you do not need to improve compilation times. + +### Planar reflection probe filtering + +![](Images/PlanarReflectionFiltering.png) + +Planar reflection probe filtering is a process that combines the result of planar reflection and surfaces smoothness. Up until this version, the implementation for planar reflection probe filtering did not always produce results of fantastic quality. This version of HDRP includes a new implementation that is closer to being physically-based and improves on the image quality significantly. + +### Platform stability + +In the past, HDRP experienced stability issues for DirectX12, Vulkan, Metal, Linux. This version includes improvements to stability on these platforms. + +### Lightloop optimization + +In terms of performance, one of the most resource intensive operations for HDRP is processing lights before it sends them to the GPU. For many high-end projects that include a lot of lights in their Scene, this is particularly problematic. This version of HDRP introduces an optimization that reduces the resource intensity of the light loop by up to 80% which drastically improves CPU performance in the vast majority of cases. + +### Temporal anti-aliasing + +HDRP's previous temporal anti-aliasing (TAA) solution suffered from typical TAA artifacts. The image would look blurry while moving and ghosting artifacts were often present. The new implementation improves significantly on both of these issues and also offers more customizability. + +### AxF mapping modes + +You can now control the texture mapping mode for all textures in the [AxF Shader](AxF-Shader.md). You can choose between planar, triplanar, or different uv sets. + +For more information about this improvement, see [AxF Shader](AxF-Shader.md). + +### Exposure + +#### Exposure curve mapping + +Before this version, to set the minimum and maximum limit for auto-exposure, you had to use fixed values and, because of this, the exposure values fluctuated too much. Now you can use curves for these limits which helps to produce a more stable exposure. + +#### Custom mid-grey point + +Auto-exposure systems calculate the average scene luminance and try to map this to an average grey value. There is no fixed standard for this grey value and it differs between camera manufacturers. To provide the maximum possible customization, HDRP now allows you to choose the grey value from a selection of the most common middle grey value in industry. + +### Custom Pass API + +![](Images/CustomPass_API.png) + +From this version, within the rendering of your main Camera, you can now render GameObjects from another point of view (a disabled camera for example). The new API also comes with built-in support for rendering Depth, Normal and Tangent into an RTHandle. + +You can also use this Camera override to render some GameObjects with a different field of view, like arms in a first-person application. + +## Issues resolved + +For information on issues resolved in version 10 of HDRP, see the [changelog](https://docs.unity3d.com/Packages/com.unity.render-pipelines.high-definition@10.0/changelog/CHANGELOG.html). \ No newline at end of file diff --git a/com.unity.render-pipelines.high-definition/Documentation~/whats-new.md b/com.unity.render-pipelines.high-definition/Documentation~/whats-new.md new file mode 100644 index 00000000000..f06e44e0e91 --- /dev/null +++ b/com.unity.render-pipelines.high-definition/Documentation~/whats-new.md @@ -0,0 +1,4 @@ +# What's new in the High Definition Render Pipeline + +This section contains information about changes to the High Definition Render Pipeline. Each page contains a list of new features and, if relevant, a list of improvements and a list of resolved issues. + From bb3eeacb6b8e04078818484e1350da37fdbb0cbd Mon Sep 17 00:00:00 2001 From: Lewis Jordan Date: Mon, 6 Jul 2020 15:57:36 +0100 Subject: [PATCH 2/3] Update whats-new-10-0.md --- .../Documentation~/whats-new-10-0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/com.unity.render-pipelines.high-definition/Documentation~/whats-new-10-0.md b/com.unity.render-pipelines.high-definition/Documentation~/whats-new-10-0.md index 2577ec64df8..c742ccba74a 100644 --- a/com.unity.render-pipelines.high-definition/Documentation~/whats-new-10-0.md +++ b/com.unity.render-pipelines.high-definition/Documentation~/whats-new-10-0.md @@ -1,6 +1,6 @@ # What's new in version 10.0 -This page contains an overview of new features, improvements, and issues resolved in version 10 of the High Definition Render Pipeline. +This page contains an overview of new features, improvements, and issues resolved in version 10 of the High Definition Render Pipeline (HDRP). ## Features From f27cb5aeee8c080a2089e076b85749e8f6fd59a4 Mon Sep 17 00:00:00 2001 From: Lewis Jordan Date: Mon, 6 Jul 2020 17:12:19 +0100 Subject: [PATCH 3/3] Added decal layers and eye shader graph --- .../Documentation~/whats-new-10-0.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/com.unity.render-pipelines.high-definition/Documentation~/whats-new-10-0.md b/com.unity.render-pipelines.high-definition/Documentation~/whats-new-10-0.md index c742ccba74a..8c354ab3b30 100644 --- a/com.unity.render-pipelines.high-definition/Documentation~/whats-new-10-0.md +++ b/com.unity.render-pipelines.high-definition/Documentation~/whats-new-10-0.md @@ -127,6 +127,14 @@ This version of HDRP adds support for emissive maps with parallax occlusion mapp HDRP now includes a new sample that contains example fabric materials. You can use these materials as references to more quickly develop fabric materials for your application. +### Decal layers + +This version of HDRP introduces decal layers which allow you to specify which decals affect which Materials on a layer by layer basis. + +### Eye Shader Graph + +HDRP now includes an eye Shader Graph which you can use to create a realistic eye Material. There are also new HDRP-specific Shader Graph nodes which allow you to more easier customize this eye Shader Graph. + ### HDRI Flowmap The [HDRI Sky](Override-HDRI-Sky.md) override now contains a new property to allow you to apply a flowmap to the sky cubemap.