feat(srp): add shader pass selection for scene draws
- let DrawingSettings carry an optional shaderPassName across managed and native scene draw APIs - allow RenderObjectsRendererFeature to author explicit ForwardLit or Unlit scene draws - exercise the new scene draw pass selection seam in the project render pipeline probe
This commit is contained in:
@@ -782,7 +782,8 @@ namespace XCEngine
|
||||
ulong nativeHandle,
|
||||
int scenePhase,
|
||||
ref Rendering.RendererListDesc rendererListDesc,
|
||||
string overrideMaterialPath);
|
||||
string overrideMaterialPath,
|
||||
string shaderPassName);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall)]
|
||||
internal static extern bool
|
||||
|
||||
@@ -3,16 +3,22 @@ namespace XCEngine.Rendering
|
||||
public struct DrawingSettings
|
||||
{
|
||||
public string overrideMaterialPath;
|
||||
public string shaderPassName;
|
||||
|
||||
public bool hasOverrideMaterial =>
|
||||
!string.IsNullOrEmpty(
|
||||
overrideMaterialPath);
|
||||
|
||||
public bool hasShaderPassName =>
|
||||
!string.IsNullOrEmpty(
|
||||
shaderPassName);
|
||||
|
||||
public static DrawingSettings CreateDefault()
|
||||
{
|
||||
return new DrawingSettings
|
||||
{
|
||||
overrideMaterialPath = string.Empty
|
||||
overrideMaterialPath = string.Empty,
|
||||
shaderPassName = string.Empty
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -107,6 +107,8 @@ namespace XCEngine.Rendering
|
||||
(int)scenePhase,
|
||||
ref rendererListDesc,
|
||||
drawingSettings.overrideMaterialPath ??
|
||||
string.Empty,
|
||||
drawingSettings.shaderPassName ??
|
||||
string.Empty);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user