The Nebula Device 3: Graphics::GraphicsServer Class Reference

The Nebula Device 3

Graphics::GraphicsServer Class Reference

#include <graphicsserver.h>

Inheritance diagram for Graphics::GraphicsServer:

Core::RefCounted


Detailed Description

The graphics server maintains a the "graphics world" consisting of one or more "stages" and one or more "views" which are attached to the stages.

(C) 2007 Radon Labs GmbH

Public Member Functions

 GraphicsServer ()
 constructor
virtual ~GraphicsServer ()
 destructor
void Open ()
 open the graphics server
void Close ()
 close the graphics server
bool IsOpen () const
 return true if graphics server is open
Ptr< StageCreateStage (const Util::StringAtom &name, const Ptr< StageBuilder > &stageBuilder)
 create a stage object
void DiscardStage (const Ptr< Stage > &stage)
 discard a stage object
void DiscardAllStages ()
 discard all stage objects
bool HasStage (const Util::StringAtom &name) const
 return true if a stage exists by name
const Ptr< Stage > & GetStageByName (const Util::StringAtom &name) const
 lookup a stage by name
const Util::Array
< Ptr< Stage > > & 
GetStages () const
 get all stages
Ptr< ViewCreateView (const Core::Rtti &viewClass, const Util::StringAtom &name, bool isDefaultView=false)
 create a view object
void DiscardView (const Ptr< View > &view)
 discard a view object
void DiscardAllViews ()
 discard all view objects
bool HasView (const Util::StringAtom &name) const
 return true if a view exists by name
const Ptr< View > & GetViewByName (const Util::StringAtom &name) const
 lookup a view by name
const Util::Array
< Ptr< View > > & 
GetViews () const
 get all views
void SetDefaultView (const Ptr< View > &defView)
 set the default view
const Ptr< View > & GetDefaultView () const
 get the default view
IndexT GetFrameCount () const
 get unique frame counter, updated in OnFrame()
void OnFrame (Timing::Time curTime)
 call per-frame, this renders the default view
Math::line ComputeWorldMouseRay (const Math::float2 &mousePos, float length, const Math::matrix44 &viewMatrix, const Math::matrix44 &invProjMatrix, float nearPlane)
 FIXME: this does not belong here!!! move into dedicated RenderUtil class and make static method!
int GetRefCount () const
 get the current refcount
void AddRef ()
 increment refcount by one
void Release ()
 decrement refcount and destroy object if refcount is zero
bool IsInstanceOf (const Rtti &rtti) const
 return true if this object is instance of given class
bool IsInstanceOf (const Util::String &className) const
 return true if this object is instance of given class by string
bool IsInstanceOf (const Util::FourCC &classFourCC) const
 return true if this object is instance of given class by fourcc
bool IsA (const Rtti &rtti) const
 return true if this object is instance of given class, or a derived class
bool IsA (const Util::String &rttiName) const
 return true if this object is instance of given class, or a derived class, by string
bool IsA (const Util::FourCC &rttiFourCC) const
 return true if this object is instance of given class, or a derived class, by fourcc
const Util::StringGetClassName () const
 get the class name
Util::FourCC GetClassFourCC () const
 get the class FourCC code

Static Public Member Functions

static void DumpRefCountingLeaks ()
 dump refcounting leaks, call at end of application (NEBULA3_DEBUG builds only!)

Member Function Documentation

line Graphics::GraphicsServer::ComputeWorldMouseRay ( const Math::float2 mousePos,
float  length,
const Math::matrix44 viewMatrix,
const Math::matrix44 invProjMatrix,
float  nearPlane 
)

FIXME: this does not belong here!!! move into dedicated RenderUtil class and make static method!

Utility function which computes a ray in world space between the eye and the current mouse position on the near plane.

int Core::RefCounted::GetRefCount (  )  const [inline, inherited]

get the current refcount

Return the current refcount of the object.

void Core::RefCounted::AddRef (  )  [inline, inherited]

increment refcount by one

Increment the refcount of the object.

void Core::RefCounted::Release (  )  [inline, inherited]

decrement refcount and destroy object if refcount is zero

Decrement the refcount and destroy object if refcount is zero.

const Util::String & Core::RefCounted::GetClassName (  )  const [inline, inherited]

get the class name

Get the class name of the object.

Util::FourCC Core::RefCounted::GetClassFourCC (  )  const [inline, inherited]

get the class FourCC code

Get the class FourCC of the object.

void Core::RefCounted::DumpRefCountingLeaks (  )  [static, inherited]

dump refcounting leaks, call at end of application (NEBULA3_DEBUG builds only!)

This method should be called as the very last before an application exits.