CSGXGraphicsEngine Class Reference

#include <graphicsctx.hpp>

Inheritance diagram for CSGXGraphicsEngine:

CSGXEngine CGameObject CGameHandler COpenGLEngine CWin32OpenGLEngine

List of all members.

Public Types

enum  tMultiSceneSplit { eSceneSplitHorizontal, eSceneSplitVertical }

Public Member Functions

virtual void initialize ()
virtual void set2DMode ()
virtual void set3DMode ()
virtual tUINT32 getScreenWidth () const
virtual tUINT32 getScreenHeight () const
virtual tUINT32 getViewportWidth () const
virtual tUINT32 getViewportHeight () const
virtual void setDisplaySurface (CSGXDrawSurface *pSurface)
virtual void setExtendedSurface (CSGXDrawSurface *pSurface)
virtual CSGXDrawSurfacegetDisplaySurface ()
virtual CSGXDrawSurfacegetExtendedSurface ()
virtual void setScreenSize (const tINT32 width, const tINT32 height)
virtual void setBackgroundColor (const sgxColorRGB &col)
virtual tBOOL transformToScreen (sgxVector2 &screen, const sgxVector3 &world)
virtual void renderScene ()
virtual void refresh ()
virtual void beginScene ()
virtual void drawScene ()
virtual void endScene ()
virtual void preBeginScene ()
virtual void doBeginScene ()
virtual void postBeginScene ()
virtual void preDrawScene ()
virtual void doDrawScene ()
virtual void postDrawScene ()
virtual void preEndScene ()
virtual void doEndScene ()
virtual void postEndScene ()
virtual void blit ()
virtual void setMultiScene (tUINT32 split, tMultiSceneSplit orientation=eSceneSplitHorizontal)
virtual tUINT32 getMultiSceneWindows ()
virtual void updateViewports ()
virtual void release ()
virtual void clearFrameBuffer ()
virtual void clearZBuffer ()
virtual void refreshZBuffer ()
virtual void flushClearBuffer ()
virtual void setRenderBuffer (tUINT32 id)
virtual tUINT32 getCurrentScene () const
virtual CSGXTexturegrabFrame ()
virtual void * frameAlloc (tMEM_SIZE size)
virtual void update (const tREAL32 telaps)
virtual void preUpdateScene (const tREAL32 telaps)
virtual void doUpdateScene (const tREAL32 telaps)
virtual void postUpdateScene (const tREAL32 telaps)
virtual void setCamera (const sgxVector3 &from, const sgxVector3 &to)
virtual void setCamera (const CSGXCamera &camera)
virtual void setCamera (tUINT32 camera_view, const CSGXCamera &camera)
virtual void getCamera (CSGXCamera &camera) const
virtual void getCamera (tUINT32 camera_view, CSGXCamera &camera) const
virtual void set2DCamera (const sgxVector2 &atPosition, const sgxVector2 &upVector=sgxVector2::UnitMinusY)
SGX_INLINE CViewFrustumFrustum ()
SGX_INLINE const CViewFrustumFrustum () const
virtual void updateViewTransform (const sgxMatrix44 &view)
virtual void updateProjectionTransform (const sgxMatrix44 &projection)
virtual void updateViewProjectionTransform ()
virtual void drawPolygon (const sgxGfxPolygon &poly, const sgxMatrix43 &transform)
virtual void drawMesh (const CStaticMesh &mesh, const sgxMatrix43 &transform)
virtual void drawPolygonImpl (const sgxGfxPolygon &poly, const sgxMatrix43 &transform)
virtual void drawAlphaPolygonImpl (const sgxGfxPolygon &poly, const sgxMatrix43 &transform)
virtual void drawPrimitiveCuboidImpl (const sgxGfxCuboid &cuboid, const sgxMatrix43 &transform)
virtual void drawPrimitiveSphereImpl (const sgxGfxSphere &sphere, const sgxMatrix43 &transform)
virtual void updateAnimatedMesh (CAnimatedMesh &animmesh, const tREAL32 telaps)
virtual void drawAnimatedMesh (const CAnimatedMesh &animmesh, const sgxMatrix43 &transform)
virtual CSGXLightgetLight (const tUINT32 &idx) const
virtual void destroyLights ()
virtual tUINT32 getMaxLights () const
virtual tUINT32 getLightsInRange (const sgxVector< CSGXLight * > lights, const sgxVector3 &pos) const
virtual void drawSprite (const CGraphicSprite &sprite, const sgxVector3 &pos)
virtual void drawSprite (const CGraphicSprite &sprite, const sgxMatrix43 &transform)
virtual void drawSky ()
virtual void drawWorldSceneGraph ()
virtual void drawObjectsInWorld ()
virtual void drawOverlays ()
virtual void preDrawObjectsInWorld ()
virtual void postDrawObjectsInWorld ()
virtual tBOOL isAlphaSortable (const CSGXTexture *pTexture)
virtual tBOOL isAlphaSortable (const sgxColorRGBA &col)
virtual tBOOL isAlphaSortable (const sgxGfxPolygon &poly)
virtual void setColor (const sgxColorRGB &col)
virtual void getColor (sgxColorRGB &col) const
virtual void setColor (const sgxColorRGBA &col)
virtual void getColor (sgxColorRGBA &col) const
virtual void setPrimitiveMode (const tPrimitiveMode &mode)
virtual tPrimitiveMode getPrimitiveMode () const
virtual void setFoggingMode (const sgxFogging &fog)
virtual sgxFogging getFoggingMode () const
virtual void drawPrimitiveCuboid (const sgxGfxCuboid &cuboid, const sgxMatrix43 &transform)
virtual void drawPrimitiveCuboid (const CSGXTexture **pTextures, const sgxMatrix43 &transform, const sgxVector3 &minpos, const sgxVector3 &maxpos)
virtual void drawPrimitiveSphere (const sgxGfxSphere &sphere, const sgxMatrix43 &transform)
virtual void drawLine3D (const sgxVector3 &from, const sgxVector3 &to)
virtual void drawTriStrip (const CSGXTexture *pTexture, const sgxVector< sgxPolyVtx > &vtx)
virtual void drawQuadStrip (const CSGXTexture *pTexture, const sgxVector< sgxPolyVtx > &vtx)
virtual void drawSkyBox (const CSGXTexture **pTextures, const sgxMatrix43 &transform, const sgxVector3 &minpos, const sgxVector3 &maxpos)
virtual void drawAlphaFaces ()
virtual void drawRect2D (const sgxVector2 &from, const sgxVector2 &to)
virtual void drawRect2D (const sgxVector2 &center, const tREAL32 size)
virtual void drawRect2D (const sgxVector2 &pt1, const sgxVector2 &pt2, const sgxVector2 &pt3, const sgxVector2 &pt4)
virtual void drawFont (const sgxString &textString, const sgxVector2 &pos)
virtual void convertMesh (CStaticMesh &mesh)
virtual void convertPolygon (sgxGfxPolygon &poly)
virtual void convertAnimatedMesh (CAnimatedMesh &animmesh)

Static Public Member Functions

static CSGXGraphicsEngineget ()
static CSGXGraphicsEnginecreate ()

Protected Member Functions

virtual void addAlphaSorter (const CSGXAlphaSortData *pData)
virtual void addAlphaSorter (const sgxGfxPolygon &poly, const sgxMatrix43 &transform)
virtual void addAlphaSorter (const sgxGfxSphere &sphere, const sgxMatrix43 &transform)
virtual void addAlphaSorter (const sgxGfxCuboid &cuboid, const sgxMatrix43 &transform)
 CSGXGraphicsEngine ()
virtual CSGXLightCreateLight ()

Protected Attributes

CFaceBufferm_pAlphaFaces
CFrameBlockm_pFrameBlock
CViewFrustumm_pFrustum
CSGXDrawSurfacem_pDisplaySurface
CSGXDrawSurfacem_pExtendedSurface
tINT32 m_ScreenWidth
tINT32 m_ScreenHeight
tUINT32 m_CurrentScene
tBOOL m_bProjectViewDirty
sgxMatrix44 m_ViewTransform
sgxMatrix44 m_ProjectionTransform
sgxMatrix44 m_ProjectViewTransform
sgxVector< sgxStateViewportm_Viewport
sgxVector< sgxStateCameram_ViewCamera
sgxStateColorRGB m_BackgroundColor
sgxStateBool m_ClearZBuffer
sgxStateColorRGB m_ClearBufferColor
sgxStatePrimitiveMode m_PrimitiveMode
sgxStateColorRGBA m_PrimitiveColor
sgxStateFogging m_Fogging
sgxStateRenderMode m_RenderMode
sgxVector< CSGXLight * > m_Lights
CStatisticsOptions m_EngineStats
sgxViewport m_ViewportData [15]
tUINT32 m_SplitScreenWindows
tMultiSceneSplit m_SplitScreenOrientation

Static Protected Attributes

static CSGXGraphicsEnginem_pSingleton


Member Enumeration Documentation

Enumerator:
eSceneSplitHorizontal 
eSceneSplitVertical 


Constructor & Destructor Documentation

CSGXGraphicsEngine::CSGXGraphicsEngine (  )  [protected]


Member Function Documentation

static CSGXGraphicsEngine* CSGXGraphicsEngine::get (  )  [static]

static CSGXGraphicsEngine* CSGXGraphicsEngine::create (  )  [static]

virtual void CSGXGraphicsEngine::initialize (  )  [virtual]

Reimplemented from CSGXEngine.

Reimplemented in COpenGLEngine.

virtual void CSGXGraphicsEngine::set2DMode (  )  [virtual]

Reimplemented in COpenGLEngine.

virtual void CSGXGraphicsEngine::set3DMode (  )  [virtual]

Reimplemented in COpenGLEngine.

virtual tUINT32 CSGXGraphicsEngine::getScreenWidth (  )  const [virtual]

virtual tUINT32 CSGXGraphicsEngine::getScreenHeight (  )  const [virtual]

virtual tUINT32 CSGXGraphicsEngine::getViewportWidth (  )  const [virtual]

virtual tUINT32 CSGXGraphicsEngine::getViewportHeight (  )  const [virtual]

virtual void CSGXGraphicsEngine::setDisplaySurface ( CSGXDrawSurface pSurface  )  [virtual]

virtual void CSGXGraphicsEngine::setExtendedSurface ( CSGXDrawSurface pSurface  )  [virtual]

virtual CSGXDrawSurface* CSGXGraphicsEngine::getDisplaySurface (  )  [virtual]

virtual CSGXDrawSurface* CSGXGraphicsEngine::getExtendedSurface (  )  [virtual]

virtual void CSGXGraphicsEngine::setScreenSize ( const tINT32  width,
const tINT32  height 
) [virtual]

virtual void CSGXGraphicsEngine::setBackgroundColor ( const sgxColorRGB col  )  [virtual]

virtual tBOOL CSGXGraphicsEngine::transformToScreen ( sgxVector2 screen,
const sgxVector3 world 
) [virtual]

virtual void CSGXGraphicsEngine::renderScene (  )  [virtual]

virtual void CSGXGraphicsEngine::refresh (  )  [virtual]

Reimplemented in COpenGLEngine.

virtual void CSGXGraphicsEngine::beginScene (  )  [virtual]

virtual void CSGXGraphicsEngine::drawScene (  )  [virtual]

virtual void CSGXGraphicsEngine::endScene (  )  [virtual]

virtual void CSGXGraphicsEngine::preBeginScene (  )  [virtual]

virtual void CSGXGraphicsEngine::doBeginScene (  )  [virtual]

Reimplemented in COpenGLEngine.

virtual void CSGXGraphicsEngine::postBeginScene (  )  [virtual]

virtual void CSGXGraphicsEngine::preDrawScene (  )  [virtual]

Reimplemented in COpenGLEngine.

virtual void CSGXGraphicsEngine::doDrawScene (  )  [virtual]

Reimplemented in COpenGLEngine.

virtual void CSGXGraphicsEngine::postDrawScene (  )  [virtual]

virtual void CSGXGraphicsEngine::preEndScene (  )  [virtual]

virtual void CSGXGraphicsEngine::doEndScene (  )  [virtual]

virtual void CSGXGraphicsEngine::postEndScene (  )  [virtual]

virtual void CSGXGraphicsEngine::blit (  )  [virtual]

Reimplemented in COpenGLEngine.

virtual void CSGXGraphicsEngine::setMultiScene ( tUINT32  split,
tMultiSceneSplit  orientation = eSceneSplitHorizontal 
) [virtual]

virtual tUINT32 CSGXGraphicsEngine::getMultiSceneWindows (  )  [virtual]

virtual void CSGXGraphicsEngine::updateViewports (  )  [virtual]

virtual void CSGXGraphicsEngine::release (  )  [virtual]

Reimplemented from CSGXEngine.

virtual void CSGXGraphicsEngine::clearFrameBuffer (  )  [virtual]

virtual void CSGXGraphicsEngine::clearZBuffer (  )  [virtual]

virtual void CSGXGraphicsEngine::refreshZBuffer (  )  [virtual]

virtual void CSGXGraphicsEngine::flushClearBuffer (  )  [virtual]

Reimplemented in COpenGLEngine.

virtual void CSGXGraphicsEngine::setRenderBuffer ( tUINT32  id  )  [virtual]

Reimplemented in COpenGLEngine.

virtual tUINT32 CSGXGraphicsEngine::getCurrentScene (  )  const [virtual]

virtual CSGXTexture* CSGXGraphicsEngine::grabFrame (  )  [virtual]

Reimplemented in COpenGLEngine.

virtual void* CSGXGraphicsEngine::frameAlloc ( tMEM_SIZE  size  )  [virtual]

virtual void CSGXGraphicsEngine::update ( const tREAL32  telaps  )  [virtual]

Reimplemented from CSGXEngine.

virtual void CSGXGraphicsEngine::preUpdateScene ( const tREAL32  telaps  )  [virtual]

virtual void CSGXGraphicsEngine::doUpdateScene ( const tREAL32  telaps  )  [virtual]

virtual void CSGXGraphicsEngine::postUpdateScene ( const tREAL32  telaps  )  [virtual]

Reimplemented in COpenGLEngine.

virtual void CSGXGraphicsEngine::setCamera ( const sgxVector3 from,
const sgxVector3 to 
) [virtual]

virtual void CSGXGraphicsEngine::setCamera ( const CSGXCamera camera  )  [virtual]

virtual void CSGXGraphicsEngine::setCamera ( tUINT32  camera_view,
const CSGXCamera camera 
) [virtual]

virtual void CSGXGraphicsEngine::getCamera ( CSGXCamera camera  )  const [virtual]

virtual void CSGXGraphicsEngine::getCamera ( tUINT32  camera_view,
CSGXCamera camera 
) const [virtual]

virtual void CSGXGraphicsEngine::set2DCamera ( const sgxVector2 atPosition,
const sgxVector2 upVector = sgxVector2::UnitMinusY 
) [virtual]

SGX_INLINE CViewFrustum* CSGXGraphicsEngine::Frustum (  )  [inline]

SGX_INLINE const CViewFrustum* CSGXGraphicsEngine::Frustum (  )  const [inline]

virtual void CSGXGraphicsEngine::updateViewTransform ( const sgxMatrix44 view  )  [virtual]

virtual void CSGXGraphicsEngine::updateProjectionTransform ( const sgxMatrix44 projection  )  [virtual]

virtual void CSGXGraphicsEngine::updateViewProjectionTransform (  )  [virtual]

virtual void CSGXGraphicsEngine::drawPolygon ( const sgxGfxPolygon poly,
const sgxMatrix43 transform 
) [virtual]

virtual void CSGXGraphicsEngine::drawMesh ( const CStaticMesh mesh,
const sgxMatrix43 transform 
) [virtual]

virtual void CSGXGraphicsEngine::drawPolygonImpl ( const sgxGfxPolygon poly,
const sgxMatrix43 transform 
) [virtual]

Reimplemented in COpenGLEngine.

virtual void CSGXGraphicsEngine::drawAlphaPolygonImpl ( const sgxGfxPolygon poly,
const sgxMatrix43 transform 
) [virtual]

Reimplemented in COpenGLEngine.

virtual void CSGXGraphicsEngine::drawPrimitiveCuboidImpl ( const sgxGfxCuboid cuboid,
const sgxMatrix43 transform 
) [virtual]

Reimplemented in COpenGLEngine.

virtual void CSGXGraphicsEngine::drawPrimitiveSphereImpl ( const sgxGfxSphere sphere,
const sgxMatrix43 transform 
) [virtual]

Reimplemented in COpenGLEngine.

virtual void CSGXGraphicsEngine::updateAnimatedMesh ( CAnimatedMesh animmesh,
const tREAL32  telaps 
) [virtual]

Reimplemented in COpenGLEngine.

virtual void CSGXGraphicsEngine::drawAnimatedMesh ( const CAnimatedMesh animmesh,
const sgxMatrix43 transform 
) [virtual]

Reimplemented in COpenGLEngine.

virtual CSGXLight& CSGXGraphicsEngine::getLight ( const tUINT32 &  idx  )  const [virtual]

virtual void CSGXGraphicsEngine::destroyLights (  )  [virtual]

virtual tUINT32 CSGXGraphicsEngine::getMaxLights (  )  const [virtual]

Reimplemented in COpenGLEngine.

virtual tUINT32 CSGXGraphicsEngine::getLightsInRange ( const sgxVector< CSGXLight * >  lights,
const sgxVector3 pos 
) const [virtual]

virtual void CSGXGraphicsEngine::drawSprite ( const CGraphicSprite sprite,
const sgxVector3 pos 
) [virtual]

virtual void CSGXGraphicsEngine::drawSprite ( const CGraphicSprite sprite,
const sgxMatrix43 transform 
) [virtual]

virtual void CSGXGraphicsEngine::drawSky (  )  [virtual]

virtual void CSGXGraphicsEngine::drawWorldSceneGraph (  )  [virtual]

virtual void CSGXGraphicsEngine::drawObjectsInWorld (  )  [virtual]

virtual void CSGXGraphicsEngine::drawOverlays (  )  [virtual]

virtual void CSGXGraphicsEngine::preDrawObjectsInWorld (  )  [virtual]

virtual void CSGXGraphicsEngine::postDrawObjectsInWorld (  )  [virtual]

virtual tBOOL CSGXGraphicsEngine::isAlphaSortable ( const CSGXTexture pTexture  )  [virtual]

virtual tBOOL CSGXGraphicsEngine::isAlphaSortable ( const sgxColorRGBA col  )  [virtual]

virtual tBOOL CSGXGraphicsEngine::isAlphaSortable ( const sgxGfxPolygon poly  )  [virtual]

virtual void CSGXGraphicsEngine::setColor ( const sgxColorRGB col  )  [virtual]

virtual void CSGXGraphicsEngine::getColor ( sgxColorRGB col  )  const [virtual]

virtual void CSGXGraphicsEngine::setColor ( const sgxColorRGBA col  )  [virtual]

virtual void CSGXGraphicsEngine::getColor ( sgxColorRGBA col  )  const [virtual]

virtual void CSGXGraphicsEngine::setPrimitiveMode ( const tPrimitiveMode &  mode  )  [virtual]

virtual tPrimitiveMode CSGXGraphicsEngine::getPrimitiveMode (  )  const [virtual]

virtual void CSGXGraphicsEngine::setFoggingMode ( const sgxFogging fog  )  [virtual]

virtual sgxFogging CSGXGraphicsEngine::getFoggingMode (  )  const [virtual]

virtual void CSGXGraphicsEngine::drawPrimitiveCuboid ( const sgxGfxCuboid cuboid,
const sgxMatrix43 transform 
) [virtual]

virtual void CSGXGraphicsEngine::drawPrimitiveCuboid ( const CSGXTexture **  pTextures,
const sgxMatrix43 transform,
const sgxVector3 minpos,
const sgxVector3 maxpos 
) [virtual]

Reimplemented in COpenGLEngine.

virtual void CSGXGraphicsEngine::drawPrimitiveSphere ( const sgxGfxSphere sphere,
const sgxMatrix43 transform 
) [virtual]

virtual void CSGXGraphicsEngine::drawLine3D ( const sgxVector3 from,
const sgxVector3 to 
) [virtual]

Reimplemented in COpenGLEngine.

virtual void CSGXGraphicsEngine::drawTriStrip ( const CSGXTexture pTexture,
const sgxVector< sgxPolyVtx > &  vtx 
) [virtual]

Reimplemented in COpenGLEngine.

virtual void CSGXGraphicsEngine::drawQuadStrip ( const CSGXTexture pTexture,
const sgxVector< sgxPolyVtx > &  vtx 
) [virtual]

Reimplemented in COpenGLEngine.

virtual void CSGXGraphicsEngine::drawSkyBox ( const CSGXTexture **  pTextures,
const sgxMatrix43 transform,
const sgxVector3 minpos,
const sgxVector3 maxpos 
) [virtual]

Reimplemented in COpenGLEngine.

virtual void CSGXGraphicsEngine::drawAlphaFaces (  )  [virtual]

Reimplemented in COpenGLEngine.

virtual void CSGXGraphicsEngine::drawRect2D ( const sgxVector2 from,
const sgxVector2 to 
) [virtual]

Reimplemented in COpenGLEngine.

virtual void CSGXGraphicsEngine::drawRect2D ( const sgxVector2 center,
const tREAL32  size 
) [virtual]

virtual void CSGXGraphicsEngine::drawRect2D ( const sgxVector2 pt1,
const sgxVector2 pt2,
const sgxVector2 pt3,
const sgxVector2 pt4 
) [virtual]

Reimplemented in COpenGLEngine.

virtual void CSGXGraphicsEngine::drawFont ( const sgxString &  textString,
const sgxVector2 pos 
) [virtual]

virtual void CSGXGraphicsEngine::convertMesh ( CStaticMesh mesh  )  [virtual]

virtual void CSGXGraphicsEngine::convertPolygon ( sgxGfxPolygon poly  )  [virtual]

Reimplemented in COpenGLEngine.

virtual void CSGXGraphicsEngine::convertAnimatedMesh ( CAnimatedMesh animmesh  )  [virtual]

Reimplemented in COpenGLEngine.

virtual void CSGXGraphicsEngine::addAlphaSorter ( const CSGXAlphaSortData pData  )  [protected, virtual]

virtual void CSGXGraphicsEngine::addAlphaSorter ( const sgxGfxPolygon poly,
const sgxMatrix43 transform 
) [protected, virtual]

virtual void CSGXGraphicsEngine::addAlphaSorter ( const sgxGfxSphere sphere,
const sgxMatrix43 transform 
) [protected, virtual]

virtual void CSGXGraphicsEngine::addAlphaSorter ( const sgxGfxCuboid cuboid,
const sgxMatrix43 transform 
) [protected, virtual]

virtual CSGXLight* CSGXGraphicsEngine::CreateLight (  )  [protected, virtual]


Member Data Documentation

sgxVector<CSGXLight *> CSGXGraphicsEngine::m_Lights [protected]


The documentation for this class was generated from the following file:

Generated on Thu Aug 14 14:36:35 2008 for The SGX Core by  doxygen 1.5.6