Post Process Contrails and Temporal Bluring?

I’m trying to blend the current output of my material shader with its previous outputs using the shader node graph, the idea being that as the material animates and evolves its previous outputs persist and gradually fade. Something like a temporal motion blur or contrail effect, but internal to the material.

I’ve been searching online for hours and I can’t seem to find any way of achieving this.
I can’t find anyway of accessing previous shader buffers.

If somebody has achieved this kind of effect before I’d be interested in finding out how its done.

For some additional context, what I’d love to be able to do is output the shader to something like this virtual texture and then feed it back into the system.

This virtual texture output node doesn’t seem to have any way of pointing it to an actual virtual texture though. It has no parameters.

I’m not too particular about what a solution looks like, this is just where my head’s at right now.

Look into render targets. You’ll need a minimum of two: Current frame and last frame. You can render the current frame to one => push it to last frame slot => On next current frame render, you can compare it to the last frame. The big annoyance though is figuring out how and where to weave in the blueprint that drives it.

EDIT: Correction, you technically only need one RT and that would be for the last frame, since you can do all your math for the current frame, during the current frame. I was just playing around with it a little bit testing it. But it depends on what you’re trying to do. I vaguely remember doing something along these lines years ago for a reaction-diffusion material effect, so I think with that, I needed to keep track of other math like age/fuel/etc.

I suppose one could repurpose an unused buffer channel for it, but that’s a much much more complicated solution.

1 Like

Thanks a lot. This is great info. I’ll try this out.

But how ? It seems impossible to render post process in a render target without the use of scenecapture 2D. Personally, I need it on my camera. The “draw material on RT” don’t work too