Skip to main content
GameDev.net gamedev.net
🔒 Locked

Renderer design

Started by JorenJoestar Apr 4, 2009 at 12:30 PM 0 replies 900+ views
Original Post
JorenJoestar
JorenJoestar
Hello everybody, I'm here to discuss an idea I was developing for the new renderer design of my engine. The goal is a rendering pipeline that can be customizable maybe at startup with some informations in a file. The target is PC platform (for now). The pipeline is the way the scene it is rendered. Only a pipeline per time can be rendered, so you can create different pipelines for different situations (menus, in-game). Every pipeline is a sequence of Stages, and each stage can produce a new buffer or use the previous buffer. The stages can be custom-made and DRAW a stage of the scene. For example, if I'm using Shadows and some post-process effect (motion blur, hdr) I can create a ShadowGeneration Stage, a Reflection Stage, a Material Stage and a PostProcess Stage. Each one create its own buffer that will be used in some way (the Material Stage uses the Reflection and ShadowGeneration buffers to render the various materials, water and walls for examples). The basic draw operations of the stage is 'draw with shader' that applies a shader to all a render list (like a shadow generation, or a post process (even if it's only 1 element, the framebuffer)) and a 'draw with materials' that sorts and uses the different materials of the object to draw themselves. Each pipeline has different Render Lists which will be used by the stages, and the current camera. The real work of the Renderer is to ask the current pipeline to draw, and it will do the same with all the different stages. One or more culler will influence the content of the different pipelines. I'm working on a lightmapper with radiosity now, and also on a pipeline "light-prepass", but I'm stucked because I don't know if this design is good or not. I want to hear you, and I'm glad if someone could find something useful in these ideas. Thank you!
---------------------------------------http://badfoolprototype.blogspot.com/

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.