Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | Related Pages

RenderDevice Class Reference

#include <render.h>

Inheritance diagram for RenderDevice:

Inheritance graph
[legend]
Collaboration diagram for RenderDevice:

Collaboration graph
[legend]
List of all members.

Detailed Description

Render device.

Platform independant pure virtual render device. Implement platform-specific methods and features in derived class. Use CreateRenderDevice() to create device, and call Open() before rendering anything.

Derived from InputDevice for easy processing of OS messages (implement Process() method)

Author:
Mattias Jansson (mattias@realityrift.com)


Public Types

enum  RENDERTARGET { INVALIDBUFFER = 0xFFFFFFFF, FRAMEBUFFER = 0x00000000, PIXELBUFFER = 0x01000000 }
 Render target identifiers. More...

enum  RENDERFRAMEFLAGS { NOFLAGS = 0x00000000, NOSORT = 0x00000001 }
 Flags passed to Begin affecting the rendering of the frame. More...

enum  CULLMODE { CULLNONE = 0, CULLBACK = 1, CULLFRONT = 2, CULLBOTH = 3 }
 Culling mode identifiers. More...

enum  STENCILOP {
  STENCILOP_KEEP = 0, STENCILOP_ZERO = 1, STENCILOP_REPLACE = 2 , STENCILOP_DECR = 4,
  STENCILOP_INVERT = 5
}
 Stencil op identifiers. More...

enum  STENCILFUNC {
  STENCILFUNC_NEVER = 0, STENCILFUNC_LESS = 1, STENCILFUNC_LEQUAL = 2, STENCILFUNC_GREATER = 3,
  STENCILFUNC_GEQUAL = 4, STENCILFUNC_EQUAL = 5, STENCILFUNC_NOTEQUAL = 6, STENCILFUNC_ALWAYS = 7
}
 Stencil test function identifiers. More...

enum  BUFFER { COLORBUFFER = 1, ZBUFFER = 2, STENCILBUFFER = 4 }
 Buffer identifiers. More...

enum  INPUTEVENTGROUP { SYSTEMINPUT = 0x00000001, KEYBOARDINPUT = 0x00000002, MOUSEINPUT = 0x00000004, JOYSTICKINPUT = 0x00000008 }
 Inputgroup identifiers. More...


Public Member Functions

virtual bool Open (const RenderWindow &rkWndData)=0
virtual void Close ()=0
virtual void Begin (const Matrix &rkViewMatrix, unsigned int uiFlags=NOFLAGS)=0
virtual void End ()=0
virtual void Render (const RenderPrimitive &rkPrimitive, unsigned int uiFlags=RenderPrimitive::NOFLAGS)=0
virtual unsigned int SetRenderTarget (unsigned int uiTarget)=0
virtual CULLMODE SetCullMode (CULLMODE eCullMode=CULLBACK)=0
virtual void SetStencilOp (STENCILOP eStencilFail, STENCILOP eZFail, STENCILOP eZPass)=0
virtual void SetStencilFunc (STENCILFUNC eFunc, unsigned int uiRefValue, unsigned int uiTestMask)=0
virtual void SetStencilMask (unsigned int uiWriteMask)=0
virtual void SetTargetMask (bool bWrite)=0
virtual void SetDefaultTextureFiltering (unsigned int uiMode)
virtual void SetDefaultMaxAnisotropy (unsigned int uiMaxAnisotropy)
virtual bool SetStorageSize (unsigned int uiVertexStorageSize, unsigned int uiPolygonStorageSize)=0
void SetPerspectiveProjection ()
virtual void SetPerspectiveProjection (float fFOV, float fZNear, float fZFar)
void SetOrthographicProjection ()
virtual void SetOrthographicProjection (float fLeft, float fTop, float fRight, float fBottom, float fZNear=0.0f, float fZFar=1.0f)
virtual void SetCustomProjection (const Matrix &rkMatrix)
virtual void SetViewport (int iX, int iY, int iWidth, int iHeight)=0
virtual void Clear (unsigned int uiTargets, const Color &rkColor, float fZValue, unsigned int uiStencilValue)=0
virtual void Flip ()=0
virtual int AddLight (Light *pkLight)=0
virtual TexturePtr LoadTexture (const std::string &rstrFilename, Texture::TEXTURETYPE eTextureType=Texture::TEX2D, Texture::TEXTUREFORMAT eTextureFormat=Texture::DEFAULT, unsigned int uiFlags=Texture::NOFLAGS, unsigned int uiFiltering=0, unsigned int uiMaxAnisotropy=1)=0
virtual TexturePtr GetTexture (const std::string &rstrName)=0
virtual TexturePtr CreateTexture (const std::string &rstrName, Texture::TEXTURETYPE eTextureType=Texture::TEX2D, Texture::TEXTUREFORMAT eTextureFormat=Texture::DEFAULT)=0
virtual VertexBufferPtr CreateVertexBuffer (unsigned int uiType=Buffer::NORMAL, unsigned int uiNumVertices=0, const VertexDeclaration *pkFormat=0, const void *pData=0)=0
virtual PolygonBufferPtr CreatePolygonBuffer (unsigned int uiType=Buffer::NORMAL, unsigned int uiNumPolygons=0, const Polygon *pkData=0, bool bStripify=false)=0
virtual PolygonStripBufferPtr CreatePolygonStripBuffer (unsigned int uiType=Buffer::NORMAL, unsigned int uiNumPolygons=0, const unsigned short *pusData=0)=0
virtual PixelBufferCreatePixelBuffer (unsigned int uiWidth, unsigned int uiHeight, unsigned int uiBPP, Texture::TEXTURETYPE eTextureType=Texture::TEX2D)=0
virtual ProgramPtr CreateProgram (Program::PROGRAMTYPE eType)=0
virtual ProgramPtr GetProgram (Program::PROGRAMTYPE eType, const std::string &rstrName)=0
const MatrixGetProjectionMatrix () const
float GetZNear () const
float GetZFar () const
unsigned int GetWidth ()
unsigned int GetHeight ()
unsigned int GetBPP ()
float GetFOV () const
const ViewportGetViewport () const
virtual std::string GetStatistics ()=0
const RenderWindowGetWindow () const
const RenderCapsGetCaps () const
Projection::PROJECTIONMODE GetProjectionMode () const
const MatrixGetViewMatrix () const
unsigned int GetDefaultTextureFiltering ()
virtual void SetMousePos (int iX, int iY)=0
virtual void CaptureMouse (bool bCapture)=0
virtual void ShowCursor (bool bShow)=0
virtual void RegisterFrameCallback (FrameCallback::FRAMECALLBACKTYPE eType, FrameCallback *pkCallback, bool bRegister)=0
virtual void QueryAdapters (std::vector< RenderAdapter > *pvkAdapters)=0
virtual void QueryResolutions (std::vector< RenderResolution > *pvkResolutions, unsigned int uiAdapter=0)=0
virtual bool Collect (InputEvent *pkEvent)=0
virtual void AddInputEventGroup (unsigned int uiInputEventGroup)
virtual void DeleteInputEventGroup (unsigned int uiInputEventGroup)
virtual bool HasInputEventGroup (unsigned int uiInputEventGroup)
bool IsActive () const
virtual void Activate ()
virtual void Deactivate ()
bool Toggle ()
bool LoadCodec (const std::string &rstrName)
ImageDataLoadImageData (File *pkFile)
ImageDataLoadImageData (const std::string &rstrFilename)
void FreeImageData (ImageData *pkImageData)
virtual void ConfigValueChange (const HashString &rstrKey)=0

Public Attributes

ShadowGeneratorm_pkShadowGenerator

Protected Member Functions

 RenderDevice (FileManager *pkFileManager, InputManager *pkInputManager)
virtual ~RenderDevice ()
virtual void SetProjection (const Matrix &rkMatrix)=0

Protected Attributes

ModulePtr m_pkModule
TexturePoolm_pkTexturePool
Projectionm_pkProjection
PerspectiveProjection m_kPerspectiveProjection
OrthographicProjection m_kOrthographicProjection
Projection m_kCustomProjection
Matrix m_kViewMatrix
RenderWindow m_kWindow
Viewport m_kViewport
CULLMODE m_eCullMode
unsigned int m_uiDefaultTextureFilter
unsigned int m_uiDefaultMaxAnisotropy
FileManagerm_pkFileManager
InputManagerm_pkManager
unsigned int m_eInputEventGroups
bool m_bActive
std::vector< ImageCodec * > m_vpkCodecs


Member Enumeration Documentation

enum RENDERTARGET
 

Render target identifiers.

Enumeration values:
INVALIDBUFFER  Invalid
FRAMEBUFFER  Frame buffer
PIXELBUFFER  Pixel buffer (ID in low 24 bits)

enum RENDERFRAMEFLAGS
 

Flags passed to Begin affecting the rendering of the frame.

Enumeration values:
NOFLAGS  No flags
NOSORT  No sorting of primitives, render in same order as calls to Render()

enum CULLMODE
 

Culling mode identifiers.

Enumeration values:
CULLNONE  No culling
CULLBACK  Cull backfacing polygons
CULLFRONT  Cull frontfacing polygons
CULLBOTH  Cull all polygons

enum STENCILOP
 

Stencil op identifiers.

Enumeration values:
STENCILOP_KEEP  Keep current value
STENCILOP_ZERO  Set to zero
STENCILOP_REPLACE  Set to reference
STENCILOP_DECR  Decrement value, clamp to zero
STENCILOP_INVERT  Bitwise inverts the current stencil buffer value

enum STENCILFUNC
 

Stencil test function identifiers.

Enumeration values:
STENCILFUNC_NEVER  Always fails
STENCILFUNC_LESS  Passes if ( ref & mask ) < ( stencil & mask )
STENCILFUNC_LEQUAL  Passes if ( ref & mask ) <= ( stencil & mask )
STENCILFUNC_GREATER  Passes if ( ref & mask ) > ( stencil & mask )
STENCILFUNC_GEQUAL  Passes if ( ref & mask ) >= ( stencil & mask )
STENCILFUNC_EQUAL  Passes if ( ref & mask ) == ( stencil & mask )
STENCILFUNC_NOTEQUAL  Passes if ( ref & mask ) != ( stencil & mask )
STENCILFUNC_ALWAYS  Always passes

enum BUFFER
 

Buffer identifiers.

Enumeration values:
COLORBUFFER  Color buffer (framebuffer, pixelbuffer)
ZBUFFER  Z buffer
STENCILBUFFER  Stencil buffer

enum INPUTEVENTGROUP [inherited]
 

Inputgroup identifiers.

Enumeration values:
SYSTEMINPUT  System input (e.g. kill, window resize)
KEYBOARDINPUT  Keyboard input (e.g. key presses)
MOUSEINPUT  Mouse input (e.g. mouse move)
JOYSTICKINPUT  Joystick input


Constructor & Destructor Documentation

RenderDevice FileManager pkFileManager,
InputManager pkInputManager
[protected]
 

Constructor, may only be called by CreateRenderDevice method

Parameters:
pkFileManager File manager
pkInputManager Input manager to link to

virtual ~RenderDevice  )  [protected, virtual]
 

Closes device


Member Function Documentation

virtual void SetProjection const Matrix rkMatrix  )  [protected, pure virtual]
 

Set projection matrix

Parameters:
rkMatrix Projection matrix

virtual bool Open const RenderWindow rkWndData  )  [pure virtual]
 

Open device, either by creating a new window internally or in an already existing window, depending on the values filled in the provided render window object. If no valid window data is provided, a new rendering window will be created (optionally fullscreen depending on the render caps filled in) with the specified dimensions.

Parameters:
rkWndData Window specification and OS specific window data
Returns:
true if successful, false if not

virtual void Close  )  [pure virtual]
 

Close device, restore settings

virtual void Begin const Matrix rkViewMatrix,
unsigned int  uiFlags = NOFLAGS
[pure virtual]
 

Begin new frame. Call this before any calls to Render

Parameters:
rkViewMatrix View matrix for this batch of render operations
uiFlags Flags for frame

virtual void End  )  [pure virtual]
 

End frame

virtual void Render const RenderPrimitive rkPrimitive,
unsigned int  uiFlags = RenderPrimitive::NOFLAGS
[pure virtual]
 

Render primitive batch

Parameters:
rkPrimitive Render primitive batch data
uiFlags Batch flags

virtual unsigned int SetRenderTarget unsigned int  uiTarget  )  [pure virtual]
 

Set current render target

Parameters:
uiTarget Render target identifier
Returns:
Previous render target identifier (you should restore this if other than INVALIDBUFFER)

virtual CULLMODE SetCullMode CULLMODE  eCullMode = CULLBACK  )  [pure virtual]
 

Set culling mode. Must be called outside Begin()-End() block

Parameters:
eCullMode Culling mode identifier
Returns:
Last culling mode

virtual void SetStencilOp STENCILOP  eStencilFail,
STENCILOP  eZFail,
STENCILOP  eZPass
[pure virtual]
 

Set stencil operations

Parameters:
eStencilFail Operation when stencil buffer test fails
eZFail Operation when stencil buffer test passes and z buffer test fails
eZPass Operation when stencil buffer test passes and z buffer test passes

virtual void SetStencilFunc STENCILFUNC  eFunc,
unsigned int  uiRefValue,
unsigned int  uiTestMask
[pure virtual]
 

Set stencil function, reference value and test mask

Parameters:
eFunc Stencil test func
uiRefValue Reference value
uiTestMask A mask that is ANDed with both the reference value and the stored stencil value when the test is done

virtual void SetStencilMask unsigned int  uiWriteMask  )  [pure virtual]
 

Set stencil write mask

Parameters:
uiWriteMask Write mask

virtual void SetTargetMask bool  bWrite  )  [pure virtual]
 

Set render target write mask

Parameters:
bWrite Write flag, if false will disable writing to render target buffer, if true enable writing to render target buffer

virtual void SetDefaultTextureFiltering unsigned int  uiMode  )  [virtual]
 

Set default texture filtering mode (affects only textures loaded after this call)

Parameters:
uiMode Texture filtering mode

virtual void SetDefaultMaxAnisotropy unsigned int  uiMaxAnisotropy  )  [virtual]
 

Set default max anisotropy (affects only textures loaded after this call)

Parameters:
uiMaxAnisotropy Max anisotropy

virtual bool SetStorageSize unsigned int  uiVertexStorageSize,
unsigned int  uiPolygonStorageSize
[pure virtual]
 

Set buffer backing storage size. You must call this method prior to an Open() call, or default sizes will be used.

Parameters:
uiVertexStorageSize Size in bytes of vertex buffer storage (default 3Mb)
uiPolygonStorageSize Size in bytes of polygon buffer storage (default 1Mb)
Returns:
true if successful, false if error (called after Open(), unable to allocate memory)

void SetPerspectiveProjection  ) 
 

Setup perspective projection (must be outside Begin()-End() block) using last perspective projection values, or if first call use default values (45.0f, 0.5f, 1000.0f)

virtual void SetPerspectiveProjection float  fFOV,
float  fZNear,
float  fZFar
[virtual]
 

Setup perspective projection (must be outside Begin()-End() block)

Parameters:
fFOV Field-of-view angle
fZNear Distance to z near clipping plane
fZFar Distance to z far clipping plane

void SetOrthographicProjection  ) 
 

Setup orthographic projection (must be outside Begin()-End() block) using last orthographic projection values, or if first call use default values (0.0f, 0.0f, 1.0f, 1.0f, 0.0f, 1.0f). Console and other orthographic objects in the engine relies on default values being set, change only if you know what you're doing :)

virtual void SetOrthographicProjection float  fLeft,
float  fTop,
float  fRight,
float  fBottom,
float  fZNear = 0.0f,
float  fZFar = 1.0f
[virtual]
 

Setup orthographic projection (must be outside Begin()-End() block). Console and other orthographic objects in the engine relies on default values being set, change only if you know what you're doing :)

Parameters:
fLeft Left clip plane
fTop Top clip plane
fRight Right clip plane
fBottom Bottom clip plane
fZNear Z near clip plane
fZFar Z far clip plane

virtual void SetCustomProjection const Matrix rkMatrix  )  [virtual]
 

Set custom projection mode (must be outside Begin()-End() block).

Parameters:
rkMatrix Projection matrix

virtual void SetViewport int  iX,
int  iY,
int  iWidth,
int  iHeight
[pure virtual]
 

Set rendering viewport (must be outside Begin()-End() block)

Parameters:
iX Starting x coordinate
iY Starting y coordinate
iWidth Width
iHeight Height

virtual void Clear unsigned int  uiTargets,
const Color rkColor,
float  fZValue,
unsigned int  uiStencilValue
[pure virtual]
 

Clear the current viewport (must be outside Begin()-End() block) for framebuffer, or for other clear targets clear the whole buffer

Parameters:
uiTargets Target bitfield (combination of NEBUFFER enums )
rkColor Color to clear color buffer with
fZValue Value to clear z buffer with
uiStencilValue Value to clear stencil buffer with

virtual void Flip  )  [pure virtual]
 

Flip buffers, flush pipeline (must be outside Begin()-End() block)

virtual int AddLight Light pkLight  )  [pure virtual]
 

Add light to rendering pipeline for this Begin()-End() block. This is implementation/hardware specific and is not guaranteed to work (max number of lights)

Parameters:
pkLight Light to add
Returns:
< 0 if failed

virtual TexturePtr LoadTexture const std::string &  rstrFilename,
Texture::TEXTURETYPE  eTextureType = Texture::TEX2D,
Texture::TEXTUREFORMAT  eTextureFormat = Texture::DEFAULT,
unsigned int  uiFlags = Texture::NOFLAGS,
unsigned int  uiFiltering = 0,
unsigned int  uiMaxAnisotropy = 1
[pure virtual]
 

Load a texture file. Implement in derived class

Parameters:
rstrFilename File name
eTextureType Texture type (2D, cubemap, ...)
eTextureFormat Requested texture format (Texture::DEFAULT if not needed)
uiFlags Load flags (default Texture::NONE)
uiFiltering Texture filtering modes (0 as default, using default set device filtering mode)
uiMaxAnisotropy Max anisotropy
Returns:
Ptr to texture

virtual TexturePtr GetTexture const std::string &  rstrName  )  [pure virtual]
 

Find texture by name

Parameters:
rstrName Texture name
Returns:
Ptr to texture

virtual TexturePtr CreateTexture const std::string &  rstrName,
Texture::TEXTURETYPE  eTextureType = Texture::TEX2D,
Texture::TEXTUREFORMAT  eTextureFormat = Texture::DEFAULT
[pure virtual]
 

Create new texture object

Parameters:
rstrName Texture name
eTextureType Texture type (2D, cubemap, ...)
eTextureFormat Requested texture format (Texture::DEFAULT if not needed)
Returns:
Ptr to texture

virtual VertexBufferPtr CreateVertexBuffer unsigned int  uiType = Buffer::NORMAL,
unsigned int  uiNumVertices = 0,
const VertexDeclaration pkFormat = 0,
const void *  pData = 0
[pure virtual]
 

Allocate a vertex buffer

Parameters:
uiType Buffer type
uiNumVertices Number of vertices
pkFormat Flexible vertex format declaration
pData Optional pointer to data to load buffer with
Returns:
Ptr to new vertex buffer

virtual PolygonBufferPtr CreatePolygonBuffer unsigned int  uiType = Buffer::NORMAL,
unsigned int  uiNumPolygons = 0,
const Polygon pkData = 0,
bool  bStripify = false
[pure virtual]
 

Allocate a polygon buffer

Parameters:
uiType Buffer type
uiNumPolygons Number of polygons
pkData Optional pointer to data to load buffer with
bStripify Stripify buffer if true
Returns:
Ptr to new polygon buffer

virtual PolygonStripBufferPtr CreatePolygonStripBuffer unsigned int  uiType = Buffer::NORMAL,
unsigned int  uiNumPolygons = 0,
const unsigned short *  pusData = 0
[pure virtual]
 

Allocate a polygon strip buffer

Parameters:
uiType Buffer type
uiNumPolygons Number of polygons
pusData Optional pointer to data to load buffer with
Returns:
Ptr to new polygon strip buffer

virtual PixelBuffer* CreatePixelBuffer unsigned int  uiWidth,
unsigned int  uiHeight,
unsigned int  uiBPP,
Texture::TEXTURETYPE  eTextureType = Texture::TEX2D
[pure virtual]
 

Create a pixel buffer for offscreen rendering

Parameters:
uiWidth Width of buffer
uiHeight Height of buffer
uiBPP Suggested bit depth (might be ignored if not found or incompatible in windowed mode)
eTextureType Target texture type (2D, cubemap, ...)
Returns:
New pixel buffer object, or null if error/unsupported

virtual ProgramPtr CreateProgram Program::PROGRAMTYPE  eType  )  [pure virtual]
 

Create a new program object, which can then be loaded and compiled

Parameters:
eType Program type (vertex or fragment)
Returns:
Pointer to the new program object

virtual ProgramPtr GetProgram Program::PROGRAMTYPE  eType,
const std::string &  rstrName
[pure virtual]
 

Find program by name and type (only successfully compiled programs are searched)

Parameters:
eType Program type
rstrName Program name
Returns:
Ptr to program

const Matrix& GetProjectionMatrix  )  const [inline]
 

Access projection matrix

Returns:
Const reference to projection matrix

float GetZNear  )  const [inline]
 

Returns:
Z near clipping plane distance

float GetZFar  )  const [inline]
 

Returns:
Z far clipping plane distance

unsigned int GetWidth  )  [inline]
 

Returns:
Width in pixels of render window

unsigned int GetHeight  )  [inline]
 

Returns:
Height in pixels of render window

unsigned int GetBPP  )  [inline]
 

Returns:
Bits per pixel of current rendering target

float GetFOV  )  const [inline]
 

Returns:
FOV angle in degrees

const Viewport& GetViewport  )  const [inline]
 

Get viewport extents

Returns:
Current viewport

virtual std::string GetStatistics  )  [pure virtual]
 

Returns:
String with statistics for last frame

const RenderWindow& GetWindow  )  const [inline]
 

Get device window data (including OS/device specific data)

Returns:
Render window object

const RenderCaps& GetCaps  )  const [inline]
 

Query caps of device

Returns:
Caps object with the current device capabilities flags

Projection::PROJECTIONMODE GetProjectionMode  )  const [inline]
 

Returns:
Current projection mode

const Matrix& GetViewMatrix  )  const [inline]
 

Returns:
Current view matrix

unsigned int GetDefaultTextureFiltering  )  [inline]
 

Get default texture filtering mode

Returns:
Default texture filtering mode

virtual void SetMousePos int  iX,
int  iY
[pure virtual]
 

Set mouse position relative window client area top-left corner.

Parameters:
iX X coordinate in pixels
iY Y coordinate in pixels

virtual void CaptureMouse bool  bCapture  )  [pure virtual]
 

Capture or release mouse from window

Parameters:
bCapture If true, capture mouse in window. If false, release mouse

virtual void ShowCursor bool  bShow  )  [pure virtual]
 

Show or hide mouse cursor

Parameters:
bShow If true, show cursor. If false, hide cursor

virtual void RegisterFrameCallback FrameCallback::FRAMECALLBACKTYPE  eType,
FrameCallback pkCallback,
bool  bRegister
[pure virtual]
 

Register/deregister frame callback

Parameters:
eType Callback type
pkCallback Callback object
bRegister If true, register new callback. If false, deregister callback

virtual void QueryAdapters std::vector< RenderAdapter > *  pvkAdapters  )  [pure virtual]
 

Query device for available adapters

Parameters:
pvkAdapters Pointer to vector receiving available adapters

virtual void QueryResolutions std::vector< RenderResolution > *  pvkResolutions,
unsigned int  uiAdapter = 0
[pure virtual]
 

Query device for available fullscreen resolutions, sorted by total area, bits per pixel, refresh rate

Parameters:
pvkResolutions Pointer to vector receiving available resolutions
uiAdapter Adapter identifier, 0 for default (primary) adapter

virtual bool Collect InputEvent pkEvent  )  [pure virtual, inherited]
 

Collect input events

Parameters:
pkEvent Event object to fill with data
Returns:
true if events was collected, false if not

virtual void AddInputEventGroup unsigned int  uiInputEventGroup  )  [inline, virtual, inherited]
 

Enable input handling for the given group(s)

Parameters:
uiInputEventGroup InputGroup(s) to enable; See INPUTGROUP (e.g. SYSTEMINPUT, KEYBOARDINPUT)

virtual void DeleteInputEventGroup unsigned int  uiInputEventGroup  )  [inline, virtual, inherited]
 

Disable input handling for the given group(s)

Parameters:
uiInputEventGroup InputGroup(s) to disable; See INPUTGROUP (e.g. SYSTEMINPUT, KEYBOARDINPUT)

virtual bool HasInputEventGroup unsigned int  uiInputEventGroup  )  [inline, virtual, inherited]
 

Check if input handling is enabled of the given group(s)

Parameters:
uiInputEventGroup InputGroup(s) to check; See INPUTGROUP (e.g. SYSTEMINPUT, KEYBOARDINPUT)
Returns:
True if input group is enabled, false otherwise

bool IsActive  )  const [inline, inherited]
 

Query state of object

Returns:
true if active, false if not

void Activate  )  [inline, virtual, inherited]
 

Activate object

void Deactivate  )  [inline, virtual, inherited]
 

Deactivate object

bool Toggle  )  [inline, inherited]
 

Toggle active state. This method does not need to be overloaded, it is only a wrapper to Activate and Deactivate

Returns:
true if activated, false if deactivated

bool LoadCodec const std::string &  rstrName  )  [inherited]
 

Register new image file type loader (codec)

Parameters:
rstrName Codec name
Returns:
true if successful, false otherwise

ImageData* LoadImageData File pkFile  )  [inherited]
 

Load texture raw data

Parameters:
pkFile File to load
Returns:
Ptr to new ImageData object for device to process

ImageData* LoadImageData const std::string &  rstrFilename  )  [inherited]
 

Load image data

Parameters:
rstrFilename Filename of image to load
Returns:
Pointer to new ImageData object

void FreeImageData ImageData pkImageData  )  [inherited]
 

Free texture raw data

Parameters:
pkImageData Image data to free, must be ptr returned by LoadImageData

virtual void ConfigValueChange const HashString rstrKey  )  [pure virtual, inherited]
 

Called when a value change in configuration repository

Parameters:
rstrKey Key name


Member Data Documentation

ModulePtr m_pkModule [protected]
 

Library module

Reimplemented from InputDevice.

TexturePool* m_pkTexturePool [protected]
 

Texture pool

Projection* m_pkProjection [protected]
 

Current projection mode object

PerspectiveProjection m_kPerspectiveProjection [protected]
 

Last perspective projection mode

OrthographicProjection m_kOrthographicProjection [protected]
 

Last orthographic projection mode

Projection m_kCustomProjection [protected]
 

Last custom projection mode

Matrix m_kViewMatrix [protected]
 

Current view matrix

RenderWindow m_kWindow [protected]
 

Render window

Viewport m_kViewport [protected]
 

Viewport

CULLMODE m_eCullMode [protected]
 

Cull mode

unsigned int m_uiDefaultTextureFilter [protected]
 

Default filtering mode

unsigned int m_uiDefaultMaxAnisotropy [protected]
 

Default max anisotropy

FileManager* m_pkFileManager [protected]
 

File manager

Reimplemented from TextureLoader.

ShadowGenerator* m_pkShadowGenerator
 

Default shadow generator

InputManager* m_pkManager [protected, inherited]
 

Manager

unsigned int m_eInputEventGroups [protected, inherited]
 

Managed input event groups

bool m_bActive [protected, inherited]
 

Active flag

std::vector< ImageCodec* > m_vpkCodecs [protected, inherited]
 

Loaders


The documentation for this class was generated from the following file:
Generated on Wed Jan 21 14:21:14 2004 for NeoEngine by doxygen 1.3.5