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:
@@ -4592,7 +4592,8 @@ InternalCall_Rendering_ScriptableRenderContext_DrawRenderersByDesc(
|
||||
uint64_t nativeHandle,
|
||||
int32_t scenePhase,
|
||||
ManagedRendererListDescData* rendererListDescData,
|
||||
MonoString* overrideMaterialPath) {
|
||||
MonoString* overrideMaterialPath,
|
||||
MonoString* shaderPassName) {
|
||||
ManagedScriptableRenderContextState* const state =
|
||||
FindManagedScriptableRenderContextState(nativeHandle);
|
||||
if (state == nullptr ||
|
||||
@@ -4626,6 +4627,13 @@ InternalCall_Rendering_ScriptableRenderContext_DrawRenderersByDesc(
|
||||
}
|
||||
}
|
||||
|
||||
const std::string shaderPassNameUtf8 =
|
||||
MonoStringToUtf8(shaderPassName);
|
||||
if (!shaderPassNameUtf8.empty()) {
|
||||
drawSettings.shaderPassName =
|
||||
Containers::String(shaderPassNameUtf8.c_str());
|
||||
}
|
||||
|
||||
return state->sceneRecorder->RecordSceneDrawSettings(
|
||||
drawSettings)
|
||||
? 1
|
||||
|
||||
Reference in New Issue
Block a user