refactor(srp): move recording helpers into universal extensions
This commit is contained in:
@@ -20,6 +20,12 @@ namespace Gameplay
|
||||
public bool HasPublicContextStageColorData;
|
||||
public bool HasPublicCameraRequestContextHasDirectionalShadow;
|
||||
public bool HasPublicCameraRequestContextClearDirectionalShadow;
|
||||
public bool HasUniversalContextRecordSceneExtension;
|
||||
public bool HasUniversalContextRecordOpaqueScenePhaseExtension;
|
||||
public bool HasUniversalContextRecordBeforeOpaqueInjectionExtension;
|
||||
public bool HasUniversalContextRecordShaderVectorFullscreenPassExtension;
|
||||
public bool HasUniversalCameraRequestContextHasDirectionalShadowExtension;
|
||||
public bool HasUniversalCameraRequestContextClearDirectionalShadowExtension;
|
||||
public bool HasPublicPipelineAssetConfigureCameraFramePlan;
|
||||
public bool HasPlanningContextType;
|
||||
public bool HasRendererFeatureConfigureCameraFramePlan;
|
||||
@@ -38,6 +44,16 @@ namespace Gameplay
|
||||
typeof(ScriptableRenderPipelineAsset);
|
||||
System.Type rendererFeatureType =
|
||||
typeof(ScriptableRendererFeature);
|
||||
System.Type universalAssemblyType =
|
||||
typeof(ScriptableRendererFeature);
|
||||
System.Reflection.Assembly universalAssembly =
|
||||
universalAssemblyType.Assembly;
|
||||
System.Type renderContextExtensionsType =
|
||||
universalAssembly.GetType(
|
||||
"XCEngine.Rendering.Universal.ScriptableRenderContextExtensions");
|
||||
System.Type cameraRequestContextExtensionsType =
|
||||
universalAssembly.GetType(
|
||||
"XCEngine.Rendering.Universal.ScriptableRenderPipelineCameraRequestContextExtensions");
|
||||
|
||||
HasPublicContextRecordScene =
|
||||
contextType.GetMethod(
|
||||
@@ -87,6 +103,36 @@ namespace Gameplay
|
||||
cameraRequestContextType.GetMethod(
|
||||
"ClearDirectionalShadow",
|
||||
PublicInstanceMethodFlags) != null;
|
||||
HasUniversalContextRecordSceneExtension =
|
||||
renderContextExtensionsType != null &&
|
||||
renderContextExtensionsType.GetMethod(
|
||||
"RecordScene",
|
||||
BindingFlags.Static | BindingFlags.Public) != null;
|
||||
HasUniversalContextRecordOpaqueScenePhaseExtension =
|
||||
renderContextExtensionsType != null &&
|
||||
renderContextExtensionsType.GetMethod(
|
||||
"RecordOpaqueScenePhase",
|
||||
BindingFlags.Static | BindingFlags.Public) != null;
|
||||
HasUniversalContextRecordBeforeOpaqueInjectionExtension =
|
||||
renderContextExtensionsType != null &&
|
||||
renderContextExtensionsType.GetMethod(
|
||||
"RecordBeforeOpaqueInjection",
|
||||
BindingFlags.Static | BindingFlags.Public) != null;
|
||||
HasUniversalContextRecordShaderVectorFullscreenPassExtension =
|
||||
renderContextExtensionsType != null &&
|
||||
renderContextExtensionsType.GetMethod(
|
||||
"RecordShaderVectorFullscreenPass",
|
||||
BindingFlags.Static | BindingFlags.Public) != null;
|
||||
HasUniversalCameraRequestContextHasDirectionalShadowExtension =
|
||||
cameraRequestContextExtensionsType != null &&
|
||||
cameraRequestContextExtensionsType.GetMethod(
|
||||
"HasDirectionalShadow",
|
||||
BindingFlags.Static | BindingFlags.Public) != null;
|
||||
HasUniversalCameraRequestContextClearDirectionalShadowExtension =
|
||||
cameraRequestContextExtensionsType != null &&
|
||||
cameraRequestContextExtensionsType.GetMethod(
|
||||
"ClearDirectionalShadow",
|
||||
BindingFlags.Static | BindingFlags.Public) != null;
|
||||
HasPublicPipelineAssetConfigureCameraFramePlan =
|
||||
pipelineAssetType.GetMethod(
|
||||
"ConfigureCameraFramePlan",
|
||||
|
||||
Reference in New Issue
Block a user