Assassin's Creed:When the Animals or Npc behind trees or something other, how to write a shder?

Actually, I found that it’s hard to add a post shader for our demo using render codes.

I searched engine codes and found somthing that maybe useful,like these:

virtual void RegisterPostOpaqueRenderDelegate(const FPostOpaqueRenderDelegate& PostOpaqueRenderDelegate) override;
virtual void RegisterOverlayRenderDelegate(const FPostOpaqueRenderDelegate& OverlayRenderDelegate) override;
virtual void RenderPostOpaqueExtensions(const FSceneView& View, FRHICommandListImmediate& RHICmdList, FSceneRenderTargets& SceneContext) override;
virtual void RenderOverlayExtensions(const FSceneView& View, FRHICommandListImmediate& RHICmdList, FSceneRenderTargets& SceneContext) override;

But how to use the RegisterPostOpaqueRenderDelegate?I can’t fount anywhere to create a FPostOpaqueRenderDelegate.

Are there some doc or tutorial about how to add a overlap shader without BP? I found that ue4 seems not friendly for new render programers.

If you know or you’re finding it know, please let me know.Thank you guys.

You can make material and then make that domain to be post process material. Then just add that to post process Blendables.

The material editor must be fit this shader.Although I don’t know how to make it.I’m not familar with the editor now.
I had payed more than two weeks to find out how to add a post process shader after having finished it using HLSL,but I failed to move it onto UE4.I can’t get the rt and the depth/stencil gbuffer properly.

I think you are over complicating it. Take a look at this article. Pretty sure you can use custom depth to get this kind of effect.

Thank you.It really worked.
Enable “Render customDepth pass” for the scene objects(staticMeshActor) I want,add a “PostProcess Volume” with details:“Blendable”-> add this metarial,I delete some unuseful op.

this pre one

But, I need to know how to add a post process without any BP(including material editor). I now hlsl much than BP.Most time I’m using a Cpp and DX to finish to a shader which can write a special effect I want and be debugged well

m_pMergeSkeletalComponent->SetRenderCustomDepth(true);