While browsing some code snippets in this forum, I came across the concept of a render pass. I guess the idea is to make the rendering pipeline a bit more modular and flexible. Does such a render pass consist of one full pipeline invocation (example: render pass 1: filling the G-buffer, render pass 2: reading the G-buffer, etc.) or does a render pass consist of all related pipeline invocations (example: render pass 1: deferred rendering, render pass 2: sprites, etc.)? Is the setup in its most basic form:
RenderPass::Preprocess()
RenderPass::Process() /* iterate scene data: lights, models, sprites, etc. */
RenderPass::Postprocess()
Currently bad code smells become prominent in my code: my scene has one big method doing all the culling and rendering.
↧