@@ -34,65 +34,34 @@ public static void CombineRendererEvents(bool isDeferred, int msaaSampleCount, E
34
34
combinedEvent = Combine ( combinedEvent , rendererEvent ) ;
35
35
}
36
36
37
- /// <summary>
38
- /// Returns True if <see cref="UniversalRendererData"/> will require rendering layers texture.
39
- /// </summary>
40
- /// <param name="universalRendererData"></param>
41
- /// <param name="msaaSampleCount">Event at which rendering layers texture needs to be created</param>
42
- /// <param name="combinedEvent">Event at which rendering layers texture needs to be created</param>
43
- /// <param name="combinedMaskSize">The mask size of rendering layers texture</param>
44
- public static bool RequireRenderingLayers ( UniversalRendererData universalRendererData , int msaaSampleCount , out Event combinedEvent , out MaskSize combinedMaskSize )
45
- {
46
- combinedEvent = Event . Opaque ;
47
- combinedMaskSize = MaskSize . Bits8 ;
48
-
49
- bool isDeferred = universalRendererData . renderingMode == RenderingMode . Deferred ;
50
- bool result = false ;
51
- foreach ( var rendererFeature in universalRendererData . rendererFeatures )
52
- {
53
- if ( rendererFeature . isActive )
54
- {
55
- result |= rendererFeature . RequireRenderingLayers ( isDeferred , universalRendererData . accurateGbufferNormals , out Event rendererEvent , out MaskSize rendererMaskSize ) ;
56
- combinedEvent = Combine ( combinedEvent , rendererEvent ) ;
57
- combinedMaskSize = Combine ( combinedMaskSize , rendererMaskSize ) ;
58
- }
59
- }
60
-
61
- // Rendering layers can not use MSAA resolve, because it encodes integer
62
- if ( msaaSampleCount > 1 && combinedEvent == Event . Opaque && ! isDeferred )
63
- combinedEvent = Event . DepthNormalPrePass ;
64
-
65
- // Make sure texture has enough bits to encode all rendering layers in urp global settings
66
- if ( UniversalRenderPipelineGlobalSettings . instance )
67
- {
68
- int count = RenderingLayerMask . GetRenderingLayerCount ( ) ;
69
- MaskSize maskSize = GetMaskSize ( count ) ;
70
- combinedMaskSize = Combine ( combinedMaskSize , maskSize ) ;
71
- }
72
-
73
- return result ;
74
- }
75
-
76
37
/// <summary>
77
38
/// Returns True if <see cref="UniversalRenderer"/> will require rendering layers texture.
78
39
/// </summary>
79
40
/// <param name="universalRenderer"></param>
80
- /// <param name="rendererFeatures">Event at which rendering layers texture needs to be created </param>
81
- /// <param name="msaaSampleCount">Event at which rendering layers texture needs to be created </param>
41
+ /// <param name="rendererFeatures">List of renderer features used by the renderer </param>
42
+ /// <param name="msaaSampleCount">MSAA sample count </param>
82
43
/// <param name="combinedEvent">Event at which rendering layers texture needs to be created</param>
83
44
/// <param name="combinedMaskSize">The mask size of rendering layers texture</param>
84
45
public static bool RequireRenderingLayers ( UniversalRenderer universalRenderer , List < ScriptableRendererFeature > rendererFeatures , int msaaSampleCount , out Event combinedEvent , out MaskSize combinedMaskSize )
46
+ {
47
+ RenderingMode renderingMode = universalRenderer . renderingModeActual ;
48
+ bool accurateGBufferNormals = universalRenderer . accurateGbufferNormals ;
49
+ return RequireRenderingLayers ( rendererFeatures , renderingMode , accurateGBufferNormals , msaaSampleCount ,
50
+ out combinedEvent , out combinedMaskSize ) ;
51
+ }
52
+
53
+ internal static bool RequireRenderingLayers ( List < ScriptableRendererFeature > rendererFeatures , RenderingMode renderingMode , bool accurateGbufferNormals , int msaaSampleCount , out Event combinedEvent , out MaskSize combinedMaskSize )
85
54
{
86
55
combinedEvent = Event . Opaque ;
87
56
combinedMaskSize = MaskSize . Bits8 ;
88
57
89
- bool isDeferred = universalRenderer . renderingModeActual == RenderingMode . Deferred ;
58
+ bool isDeferred = renderingMode == RenderingMode . Deferred ;
90
59
bool result = false ;
91
60
foreach ( var rendererFeature in rendererFeatures )
92
61
{
93
62
if ( rendererFeature . isActive )
94
63
{
95
- result |= rendererFeature . RequireRenderingLayers ( isDeferred , universalRenderer . accurateGbufferNormals , out Event rendererEvent , out MaskSize rendererMaskSize ) ;
64
+ result |= rendererFeature . RequireRenderingLayers ( isDeferred , accurateGbufferNormals , out Event rendererEvent , out MaskSize rendererMaskSize ) ;
96
65
combinedEvent = Combine ( combinedEvent , rendererEvent ) ;
97
66
combinedMaskSize = Combine ( combinedMaskSize , rendererMaskSize ) ;
98
67
}
0 commit comments