G3DKit.info - renderer questions
Brent Gulanowski <[email protected]> Wed, 30 Oct 2002 16:20:38 -0500
| Newsgroups | gmane.comp.gnu.3dkit.general |
|---|---|
| Message-ID | <[email protected]> |
> When traversing/rendering a scene graph, an render engine is passed. > This > engine uses a render action which processes state handling, attribute > evaluation etc. Concrete engines and actions are not provided by the > RenderKit itself but by separate bundles. This is a little unclear to me. I can't tell what's doing what. When the renderer is loaded, I'm guessing some object from RK holds a reference to it: maybe some kind of overall manager for RK (main point of contact for the application?). For DRAW/CULL/UPDATE/ISECT actions, the renderer is passed to the graph itself, or to some graph manager? When you say "engine uses a render action", do you mean that a render action method exposed by the renderer protocol, is implemented by the renderer, and is called by RK? That sounds like what you mean. But I might have it completely backwards... > > Each renderer maps actions to tasks, if possible. Otherwise a default > fallback task is performed (on the respective category). > > Tasks interface with a low level rendering API such as OpenGL while > renderers should be implemented in a generic way. This approach I like, except I would have used the words in exactly the opposite way. An action is specific, while a task is general (sometimes even abstract) -- different actions can be used to accomplish the same task. E.g.: drawing is a task, while submitting triangles to OpenGL is an action. The same task can be accomplished by a very different action, such as a person sketching on a piece of paper. -- Brent Gulanowski [email protected] http://inkubator.idevgames.com/ Working together to make great software.