Skip to content

Commit c7a892c

Browse files
arttu-peltonenEvergreen
authored andcommitted
Unify SRP default resource access to new internal GraphicsSettings API
This PR addresses [GFXFOUND-318](https://jira.unity3d.com/browse/GFXFOUND-318) The PR unifies accessing of RP Default Resources while avoiding breaking API or adding new API surface. It is a necessary step in preparation to future architectural changes. - Add module-internal `DefaultMaterialType` and `DefaultShaderType` - Add module-internal `GraphicsSettings.GetDefaultMaterial` and `GraphicsSettings.GetDefaultShader` APIs - Remove URP's own `Universal.DefaultMaterialType` - Retrieve `Sprite-Lit-Default.shader` through the default material reference - Cleanup ScriptableRendererContext, remove all string-based scripting invocations
1 parent 00c9099 commit c7a892c

File tree

3 files changed

+17
-34
lines changed

3 files changed

+17
-34
lines changed

Packages/com.unity.render-pipelines.universal/Runtime/2D/Renderer2DDataAuthoring.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,10 @@ public partial class Renderer2DData
1010

1111
internal override Shader GetDefaultShader()
1212
{
13-
return Shader.Find("Universal Render Pipeline/2D/Sprite-Lit-Default");
13+
if (!GraphicsSettings.TryGetRenderPipelineSettings<Renderer2DResources>(out var resources))
14+
return null;
15+
16+
return resources.defaultLitMaterial.shader;
1417
}
1518

1619
internal override Material GetDefaultMaterial(DefaultMaterialType materialType)

Packages/com.unity.render-pipelines.universal/Runtime/Data/UniversalRenderPipelineAsset.DefaultResources.cs

Lines changed: 13 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,16 @@
33

44
namespace UnityEngine.Rendering.Universal
55
{
6+
internal enum DefaultMaterialType
7+
{
8+
Default,
9+
Particle,
10+
Terrain,
11+
Sprite,
12+
SpriteMask,
13+
Decal
14+
}
15+
616
public partial class UniversalRenderPipelineAsset
717
{
818
#region Materials
@@ -21,11 +31,11 @@ Material GetMaterial(DefaultMaterialType materialType)
2131
{
2232
return materialType switch
2333
{
24-
DefaultMaterialType.Standard => defaultMaterials.defaultMaterial,
34+
DefaultMaterialType.Default => defaultMaterials.defaultMaterial,
2535
DefaultMaterialType.Particle => defaultMaterials.defaultParticleUnlitMaterial,
2636
DefaultMaterialType.Terrain => defaultMaterials.defaultTerrainLitMaterial,
2737
DefaultMaterialType.Decal => defaultMaterials.defaultDecalMaterial,
28-
_ => null,// Unity Builtin Default
38+
_ => null
2939
};
3040
}
3141
}
@@ -40,7 +50,7 @@ Material GetMaterial(DefaultMaterialType materialType)
4050
/// Returns the default Material.
4151
/// </summary>
4252
/// <returns>Returns the default Material.</returns>
43-
public override Material defaultMaterial => GetMaterial(DefaultMaterialType.Standard);
53+
public override Material defaultMaterial => GetMaterial(DefaultMaterialType.Default);
4454

4555
/// <summary>
4656
/// Returns the default particle Material.
@@ -60,24 +70,6 @@ Material GetMaterial(DefaultMaterialType materialType)
6070
/// <returns>Returns the default terrain Material.</returns>
6171
public override Material defaultTerrainMaterial => GetMaterial(DefaultMaterialType.Terrain);
6272

63-
/// <summary>
64-
/// Returns the default UI Material.
65-
/// </summary>
66-
/// <returns>Returns the default UI Material.</returns>
67-
public override Material defaultUIMaterial => GetMaterial(DefaultMaterialType.UnityBuiltinDefault);
68-
69-
/// <summary>
70-
/// Returns the default UI overdraw Material.
71-
/// </summary>
72-
/// <returns>Returns the default UI overdraw Material.</returns>
73-
public override Material defaultUIOverdrawMaterial => GetMaterial(DefaultMaterialType.UnityBuiltinDefault);
74-
75-
/// <summary>
76-
/// Returns the default UIETC1 supported Material for this asset.
77-
/// </summary>
78-
/// <returns>Returns the default UIETC1 supported Material.</returns>
79-
public override Material defaultUIETC1SupportedMaterial => GetMaterial(DefaultMaterialType.UnityBuiltinDefault);
80-
8173
/// <summary>
8274
/// Returns the default material for the 2D renderer.
8375
/// </summary>
@@ -96,7 +88,6 @@ Material GetMaterial(DefaultMaterialType materialType)
9688
/// <returns>Returns the Material containing the Unity decal shader.</returns>
9789
public Material decalMaterial => GetMaterial(DefaultMaterialType.Decal);
9890

99-
10091
#endregion
10192

10293
#region Shaders

Packages/com.unity.render-pipelines.universal/Runtime/Data/UniversalRenderPipelineAsset.cs

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -223,17 +223,6 @@ public enum Downsampling
223223
_4xBilinear
224224
}
225225

226-
internal enum DefaultMaterialType
227-
{
228-
Standard,
229-
Particle,
230-
Terrain,
231-
Sprite,
232-
UnityBuiltinDefault,
233-
SpriteMask,
234-
Decal
235-
}
236-
237226
/// <summary>
238227
/// Options for light rendering mode.
239228
/// </summary>

0 commit comments

Comments
 (0)