GFX Module

The GFX module is the one taking care of displaying stuff on the screen.

Here is a basic class diagram giving an overview of how the module is organised.

The main classes of the GFX module in Kourjet

The main classes of the GFX module in Kourjet

You can clearly see on the diagram two main groups:

  • Scene Graph – These are the classes that will allow to manage logical objects in the scene. These objects are hierachically linked (parent/children) in order to allow inheritance of properties such as transformations for example. The scene objects (that can be lights, cameras, renderable object or any of your custom subclasses) are created by the scene manager (entity that allows to find objects by name for instance). They are then organised into a scene graph which can then be queried to retrieve sets of objects (for instance, objects within a view frustum, objects interseting a ray, objects colliding with a bounding sphere, …).
  • Rendering – These are the classes that actually allow to display something on the screen. A mesh is the main entity. It contains several geometries that correspond each to a level of detail of the mesh (allowing for example to select a low resolution geometry for distant objects and a high resolution object for close-by objects). Geometries hold a reference to buffers containing vertex and index data, reference to an effect (if I want to render distant objects with diffuse shading and close-by objects with normal mapping phong shading) and a reference to a material (describing the textures to use, the opacity, the reflectivity, …). Meshes and geometries are created by the mesh manager. Whereas the buffers, effects and materials are created by the renderer resource manager. The renderer can then use the geometries to display them on screen.

This is a very basic introduction to the classes composing the Kourjet GFX Module.

  1. No comments yet.

  1. May 20th, 2011
    Trackback from : fha mortgage loans