Render Engine improvements - Steelhead-Games/CharmQuarkEngine-wiki GitHub Wiki

Passing textures between passes

Right now, passing render textures between different rendering passes has some issues.

  • Ownership is not clearly defined, despite a certain pass needing to reallocate the render texture it writes to on a resize event
  • Passing render textures between different passes is extremely clunky
  • Passing render textures between features is even more clunky

What should we do about it?

I'm not sure exactly how I want this to be handled, but some well defined and easily extendable render texture manager that only holds writable frames could be a good spot. It might even be possible to reuse the normal texture manager. The exact implications aren't super clear but it would allow for a couple things

  • Tons of code reuse. From what I can think of it'd be almost the exact same system as any other texture manager from a purely architectural standpoint
  • Easier to debug render textures since they're available to be used on anything else in the system