b486678290
Library -Artifacts
55 lines
2.3 KiB
Markdown
55 lines
2.3 KiB
Markdown
# Upgrading to version 10.0.x of the Universal Render Pipeline
|
|
|
|
This page describes how to upgrade from an older version of the Universal Render Pipeline (URP) to version 10.0.x.
|
|
|
|
## Upgrading from URP 7.2.x and later releases
|
|
|
|
1. URP 10.x.x does not support the package Post-Processing Stack v2. If your Project uses the package Post-Processing Stack v2, migrate the effects that use that package first.
|
|
|
|
### DepthNormals Pass
|
|
|
|
Starting from version 10.0.x, URP can generate a normal texture called `_CameraNormalsTexture`. To render to this texture in your custom shader, add a Pass with the name `DepthNormals`. For example, see the implementation in `Lit.shader`.
|
|
|
|
### Screen Space Ambient Occlusion (SSAO)
|
|
|
|
URP 10.0.x implements the Screen Space Ambient Occlusion (SSAO) effect.
|
|
|
|
If you intend to use the SSAO effect with your custom shaders, consider the following entities related to SSAO:
|
|
|
|
* The `_SCREEN_SPACE_OCCLUSION` keyword.
|
|
|
|
* `Input.hlsl` contains the new declaration `float2 normalizedScreenSpaceUV` in the `InputData` struct.
|
|
|
|
* `Lighting.hlsl` contains the `AmbientOcclusionFactor` struct with the variables for calculating indirect and direct occlusion:
|
|
|
|
```c++
|
|
struct AmbientOcclusionFactor
|
|
{
|
|
half indirectAmbientOcclusion;
|
|
half directAmbientOcclusion;
|
|
};
|
|
```
|
|
|
|
* `Lighting.hlsl` contains the following function for sampling the SSAO texture:
|
|
|
|
```c++
|
|
half SampleAmbientOcclusion(float2 normalizedScreenSpaceUV)
|
|
```
|
|
|
|
* `Lighting.hlsl` contains the following function:
|
|
|
|
```c++
|
|
AmbientOcclusionFactor GetScreenSpaceAmbientOcclusion(float2
|
|
normalizedScreenSpaceUV)
|
|
```
|
|
|
|
To support SSAO in custom shader, add the `DepthNormals` Pass and the `_SCREEN_SPACE_OCCLUSION` keyword the the shader. For example, see `Lit.shader`.
|
|
|
|
If your custom shader implements custom lighting functions, use the function `GetScreenSpaceAmbientOcclusion(float2 normalizedScreenSpaceUV)` to get the `AmbientOcclusionFactor` value for your lighting calculations.
|
|
|
|
## Upgrading from URP 7.0.x-7.1.x
|
|
|
|
1. Upgrade to URP 7.2.0 first. Refer to [Upgrading to version 7.2.0 of the Universal Render Pipeline](upgrade-guide-7-2-0.md).
|
|
|
|
2. URP 8.x.x does not support the package Post-Processing Stack v2. If your Project uses the package Post-Processing Stack v2, migrate the effects that use that package first.
|