Investigate using the Nebula Device (http://nebuladevice.sourceforge.net
) as a rendering back-end for WorldFoundry
Although Nebula offers many capabilities, Nebula is flexible enough so that it can be easily used as a rendering-only back end (see http://nebuladevice.sourceforge.net
, look on the Nebula Wiki for BoxBallDemo
located at http://nebuladevice.sourceforge.net/cgi-bin/twiki/view/Nebula/BoxBallDemo
, it is a good simple example of using Nebula as a redering-only back end). Nebula is powerful enough to add some additional visual flash to WorldFoundry
(lens flares, particle trails, sky box, multitexturing). Combining WorldFoundry
's toolset and game objects with Nebula rendering is a goal worth investigating.
- This could probably be done by writing a new NebulaRenderer, just like there is currently a GLRenderer and a DirectXRenderer.
- However Nebula renders entire meshes (to use Nebula terminology, "visual hierarchy nodes"), not individual polygons, so WorldFoundry would need to be modified to (a) generate a Nebula visual hierarchy containing all visual objects in the world (b) tell Nebula in each frame which visual nodes need to be rendered. It would be extremely inefficient to have each visual object node contain only one polygon; typically each visual object node contains an entire mesh with hundreds or thousands of polygons. Since the level of granularity of access to the Nebula rendering engine is the visual object node, WorldFoundry needs to operate at a higher-level of abstraction (mesh or visual node level, not polygon level) with a Nebula rendering back end.'
-- this just means modifying files in the gfx directory as well as in the renderer sub-directories (gl, software, directx), the game portion of the engine only deals with entire visual objects (called RenderObject
Useful Nebula links about how to architecturally use Nebula
Examples using Nebula