67 lines
3.0 KiB
Markdown
67 lines
3.0 KiB
Markdown
|
# Upgrading to version 11.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 11.0.x.
|
|||
|
|
|||
|
## Upgrading from URP 10.0.x–10.2.x
|
|||
|
|
|||
|
1. The file names of the following Shader Graph shaders were renamed. The new file names do not have spaces:<br/>`Autodesk Interactive`<br/>`Autodesk Interactive Masked`<br/>`Autodesk Interactive Transparent`
|
|||
|
|
|||
|
If your code uses the `Shader.Find()` method to search for the shaders, remove spaces from the shader names, for example, `Shader.Find("AutodeskInteractive)`.
|
|||
|
|
|||
|
## Upgrading from URP 7.2.x and later releases
|
|||
|
|
|||
|
1. URP 11.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.
|
|||
|
|
|||
|
### Shadow Normal Bias
|
|||
|
|
|||
|
In 11.0.x the formula used to apply Shadow Normal Bias has been slightly fix in order to work better with punctual lights.
|
|||
|
As a result, to match exactly shadow outlines from earlier revisions, the parameter might to be adjusted in some scenes. Typically, using 1.4 instead of 1.0 for a Directional light is usually enough.
|
|||
|
|
|||
|
|
|||
|
## 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.
|