59 lines
2.5 KiB
Markdown
59 lines
2.5 KiB
Markdown
|
# Upgrading to version 10.1.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.1.x.
|
||
|
|
||
|
## Upgrading from URP 10.0.x
|
||
|
|
||
|
1. URP 10.1.x does not have breaking changes compared with URP 10.0.x. To upgrade URP to version 10.1.x, install the new version of the package.
|
||
|
|
||
|
## 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.
|