Hi,
Subscribe to a postprocessing pass in a view extension break split screen.
void FTestViewExtension::SubscribeToPostProcessingPass(EPostProcessingPass Pass, const FSceneView & InView, FPostProcessingPassDelegateArray & InOutPassCallbacks, bool bIsPassEnabled)
{
if (Pass == EPostProcessingPass::Tonemap)
{
InOutPassCallbacks.Add(FAfterPassCallbackDelegate::CreateRaw(this, &FTestViewExtension::TestPostProcessPass_RenderThread));
}
}
FScreenPassTexture FTestViewExtension::TestPostProcessPass_RenderThread(FRDGBuilder & GraphBuilder, const FSceneView & View, const FPostProcessMaterialInputs & Inputs)
{
return Inputs.ReturnUntouchedSceneColorForPostProcessing(GraphBuilder);
}
This empty pass seem to put all players views on the first player split.
See this screenshot :
[Image Removed]
How can I add a post-processing pass without breaking the split screen?
Best regards,
Jérémy
[Attachment Removed]
Steps to Reproduce
Minimal project to observe the issue :
https://github.com/jealvcim/ViewExtension\_TestPostProcess
[Attachment Removed]
Hi,
thanks for the repro scene. According to [this UDN [Content removed] the issue disappears by setting ShowFlag.Temporal to 0 and then to 2 again (please let me know if this works on your end as well). I’m still investigating if this is a known bug, if not I’ll file a bug report.
Edit: updated missing link
Thanks,
Sam
[Attachment Removed]
Hi,
After some more investigation, hooking into EPostProcessingPass::MotionBlur instead of EPostProcessingPass::Tonemap brings the image back. It should return a valid SceneColor for all player views.
Does this work for your use case?
These cases might be relevant as well:
[Content removed]
[Content removed]
Sam
[Attachment Removed]
Hi,
Thank you for your replies. ShowFlag and EPostProcessingPass::MotionBlur, both of your solutions work.
Jérémy
[Attachment Removed]
Good to hear. I’ll close this case, but feel free to reopen if you have further questions.
Best,
Sam
[Attachment Removed]