NL3D::UDriver Class Reference

Game Interface for window Driver, first object to create. More...

#include <u_driver.h>

Inherited by NL3D::CDriverUser.

List of all members.

Classes

struct  CMode
 A Graphic Mode descriptor. More...

Public Types

enum  TMessageBoxId {
  okId = 0, yesId, noId, abortId,
  retryId, cancelId, ignoreId, idCount
}
 

Message Box enums.

More...
enum  TMessageBoxType {
  okType = 0, okCancelType, yesNoType, abortRetryIgnoreType,
  yesNoCancelType, retryCancelType, typeCount
}
enum  TMessageBoxIcon {
  noIcon = 0, handIcon, questionIcon, exclamationIcon,
  asteriskIcon, warningIcon, errorIcon, informationIcon,
  stopIcon, iconCount
}
enum  TPolygonMode { Filled = 0, Line, Point }
 

Polygon Mode.

More...
enum  TCullMode { CCW = 0, CW }
enum  TStencilOp {
  keep = 0, zero, replace, incr,
  decr, invert
}
enum  TStencilFunc {
  never = 0, less, lessequal, equal,
  notequal, greaterequal, greater, always
}
typedef std::vector< CModeTModeList

Public Member Functions

virtual bool isLost () const =0
virtual bool supportMADOperator () const =0
virtual bool supportBloomEffect () const =0
virtual uint64 getSwapBufferCounter ()=0
Object



 UDriver ()
virtual ~UDriver ()
Disable Hardware Feature



virtual void disableHardwareVertexProgram ()=0
 Disable some Feature that may be supported by the Hardware Call before setDisplay() to work properly.
virtual void disableHardwareVertexArrayAGP ()=0
virtual void disableHardwareTextureShader ()=0
Window / driver management.



virtual bool setDisplay (const CMode &mode, bool show=true, bool resizeable=true)=0
 create the window.
virtual bool setDisplay (void *wnd, const CMode &mode, bool show=true, bool resizeable=true)=0
virtual bool setMode (const CMode &mode)=0
virtual bool getModes (std::vector< CMode > &modes)=0
virtual bool getCurrentScreenMode (CMode &mode)=0
virtual void setWindowTitle (const ucstring &title)=0
 Set the title of the NeL window.
virtual void setWindowPos (uint32 x, uint32 y)=0
 Set the position of the NeL window.
virtual void showWindow (bool show=true)=0
 Show or hide the NeL window.
virtual void beginDialogMode ()=0
virtual void endDialogMode ()=0
virtual void release ()=0
 Release the window. All components are released (Texture, materials, scene, textcontexts).
virtual bool activate (void)=0
 Before rendering via a driver in a thread, must activate() (per thread).
virtual bool isActive ()=0
 Return true if driver is still active. Return false else. If he user close the window, must return false.
virtual void * getDisplay ()=0
 Return an OS dependent window handle. Under Win32, it is a HWND.
Buffers.



virtual void clearRGBABuffer (CRGBA col=CRGBA(255, 255, 255, 255))=0
 This clear only the RGBA back buffer.
virtual void clearZBuffer ()=0
 This clear only the Zbuffer.
virtual void clearBuffers (CRGBA col=CRGBA(255, 255, 255, 255))=0
 This clear the buffers (ALL the buffer :) ).
virtual void swapBuffers ()=0
 This swap the back and front buffer (ALL the buffer :) ).
virtual void finish ()=0
virtual void flush ()=0
virtual void setSwapVBLInterval (uint interval)=0
 set the number of VBL wait when a swapBuffers() is issued.
virtual uint getSwapVBLInterval ()=0
 get the number of VBL wait when a swapBuffers() is issued. 0 means no synchronisation to the VBL
Fog support.



virtual bool fogEnabled ()=0
virtual void enableFog (bool enable)=0
virtual void setupFog (float start, float end, CRGBA color)=0
 $ fog parameters. fog must enabled to see result. start and end are in [0,1] range.
Light support.



virtual void setLight (uint8 num, const ULight &light)=0
virtual void enableLight (uint8 num, bool enable=true)=0
virtual void setAmbientColor (CRGBA color)=0
Cull mode



virtual void setCullMode (TCullMode cullMode)=0
virtual TCullMode getCullMode () const =0
Stencil support



virtual void enableStencilTest (bool enable)=0
virtual bool isStencilTestEnabled () const =0
virtual void stencilFunc (TStencilFunc stencilFunc, int ref, uint mask)=0
virtual void stencilOp (TStencilOp fail, TStencilOp zfail, TStencilOp zpass)=0
virtual void stencilMask (uint mask)=0
Scene gestion.



virtual UScenecreateScene (bool bSmallScene)=0
 Create a new scene.
virtual void deleteScene (UScene *scene)=0
 Delete a scene.
AnimationSet gestion.



virtual UAnimationSetcreateAnimationSet ()=0
 Create an empty AnimationSet.
virtual UAnimationSetcreateAnimationSet (const std::string &animationSetFile)=0
 Create a new AnimationSet, load it from a file. Use CPath to search the animation set. exception EPathNotFound if not found.
virtual void deleteAnimationSet (UAnimationSet *animationSet)=0
 Delete a AnimationSet. NB: actually, this animation set is internally deleted only when no more UPlayList use it.
Components gestion for Interface 2D/3D.



virtual UTextContextcreateTextContext (const std::string fontFileName, const std::string fontExFileName="")=0
 create a new TextContext, for a given font.
virtual void deleteTextContext (UTextContext *textContext)=0
 delete a TextContext.
virtual void setFontManagerMaxMemory (uint maxMem)=0
 Set the maxMemory used for the FontManager.
virtual std::string getFontManagerCacheInformation () const =0
 get cahce information.
virtual UTextureFilecreateTextureFile (const std::string &file)=0
 Create a new texture file, searching in CPath.
virtual void deleteTextureFile (UTextureFile *textfile)=0
 Delete a texture file. This one will be really deleted in memory when no material point to it.
virtual UTextureMemcreateTextureMem (uint width, uint height, CBitmap::TType texType=CBitmap::RGBA)=0
 Create a new Raw texture, to be filled by user.
virtual void deleteTextureMem (UTextureMem *textraw)=0
 Delete a Raw texture. This one will be really deleted in memory when no material point to it.
virtual UMaterial createMaterial ()=0
 Create a new Material, to be filled by user.
virtual void deleteMaterial (UMaterial &mat)=0
 Delete a Material.
Matrix context for Interface 2D/3D.



virtual void setScissor (const CScissor &)=0
 UScene ignore those function (use camera parameters instead, and UScene viewport), and do not disturb this active Matrix context.
virtual CScissor getScissor ()=0
virtual void setViewport (const CViewport &)=0
 Set the active viewport for rendering.
virtual CViewport getViewport ()=0
virtual void setFrustum (const CFrustum &frust)=0
 Set the active Frustum for rendering.
virtual CFrustum getFrustum ()=0
virtual void setFrustumMatrix (CMatrix &frust)=0
virtual CMatrix getFrustumMatrix ()=0
virtual float getClipSpaceZMin () const =0
virtual void setViewMatrix (const CMatrix &mat)=0
 Set the active ViewMatrix for rendering.
virtual CMatrix getViewMatrix ()=0
virtual void setModelMatrix (const CMatrix &mat)=0
 Set the active ModelMatrix for rendering.
virtual CMatrix getModelMatrix ()=0
virtual void setMatrixMode2D (const CFrustum &frust)=0
 Tool function: Setup frustum/viewmatrix/modelmatrix for 2D.
void setMatrixMode2D11 ()
 Tool function: same as setMatrixMode2D(), using a CFrustum(0,1,0,1,-1,1,false).
void setMatrixMode2D43 ()
 Tool function: same as setMatrixMode2D(), using a CFrustum(0,4/3,0,1,-1,1,false).
virtual void setMatrixMode3D (UCamera &camera)=0
 Tool function: Setup frustum/viewmatrix/modelmatrix for 3D, using parameters of a UCamera.
virtual void setDepthRange (float znear, float zfar)=0
 Set depth range.
virtual void getDepthRange (float &znear, float &zfar)=0
virtual void setColorMask (bool bRed, bool bGreen, bool bBlue, bool bAlpha)=0
 Set the color mask filter through where the operation done will pass.
Interface 2D/3D.



virtual void drawLine (const NLMISC::CLine &tri, UMaterial &mat)=0
 All of those render primitives are unlit! You must use UScene to render lighted meshes.
virtual void drawLine (const NLMISC::CLineColor &tri, UMaterial &mat)=0
 Draw the Line, taking color from primitive.
virtual void drawLine (const NLMISC::CLineUV &tri, UMaterial &mat)=0
 Draw the Line, taking color from material. With UV for texture.
virtual void drawLine (const NLMISC::CLineColorUV &tri, UMaterial &mat)=0
 Draw the Line, taking color from primitive. With UV for texture.
virtual void drawTriangle (const NLMISC::CTriangle &tri, UMaterial &mat)=0
 Draw the Triangle, taking color from material.
virtual void drawTriangle (const NLMISC::CTriangleColor &tri, UMaterial &mat)=0
 Draw the Triangle, taking color from primitive.
virtual void drawTriangle (const NLMISC::CTriangleUV &tri, UMaterial &mat)=0
 Draw the Triangle, taking color from material. With UV for texture.
virtual void drawTriangle (const NLMISC::CTriangleColorUV &tri, UMaterial &mat)=0
 Draw the Triangle, taking color from primitive. With UV for texture.
virtual void drawQuad (const NLMISC::CQuad &tri, UMaterial &mat)=0
 Draw the Quad, taking color from material.
virtual void drawQuad (const NLMISC::CQuadColor &tri, UMaterial &mat)=0
 Draw the Quad, taking color from primitive.
virtual void drawQuad (const NLMISC::CQuadUV &tri, UMaterial &mat)=0
 Draw the Quad, taking color from material. With UV for texture.
virtual void drawQuad (const NLMISC::CQuadColorUV &tri, UMaterial &mat)=0
 Draw the Quad, taking color from primitive. With UV for texture.
virtual void drawQuads (const std::vector< NLMISC::CQuadColorUV > &quad, UMaterial &mat)=0
virtual void drawQuads (const std::vector< NLMISC::CQuadColorUV2 > &quad, UMaterial &mat)=0
virtual void drawTriangles (const std::vector< NLMISC::CTriangleColorUV > &tris, UMaterial &mat)=0
virtual void drawQuads (const NLMISC::CQuadColorUV *qs, uint32 nbq, UMaterial &mat)=0
virtual void drawQuads (const NLMISC::CQuadColorUV2 *quads, uint32 nbQuads, UMaterial &mat)=0
virtual void drawTriangles (const NLMISC::CTriangleColorUV *tris, uint32 nbTris, UMaterial &mat)=0
Tools for Interface 2D.



virtual void drawBitmap (float x, float y, float width, float height, class UTexture &texture, bool blend=true, CRGBA col=CRGBA(255, 255, 255, 255))=0
 For all those function, setMatrixMode2D*() should have been called (else strange results!!).
virtual void drawLine (float x0, float y0, float x1, float y1, CRGBA col=CRGBA(255, 255, 255, 255))=0
 Draw a line in 2D. Warning: this is slow...
virtual void drawTriangle (float x0, float y0, float x1, float y1, float x2, float y2, CRGBA col)=0
 Draw a Triangle in 2D. Warning: this is slow...
virtual void drawQuad (float x0, float y0, float x1, float y1, CRGBA col)=0
 Draw a Quad in 2D. Warning: this is slow...
virtual void drawQuad (float xcenter, float ycenter, float radius, CRGBA col)=0
 Draw a Quad in 2D. Warning: this is slow...
virtual void drawWiredQuad (float x0, float y0, float x1, float y1, CRGBA col)=0
 Draw a Quad in 2D. Warning: this is slow...
virtual void drawWiredQuad (float xcenter, float ycenter, float radius, CRGBA col)=0
 Draw a Quad in 2D. Warning: this is slow...
Driver information/Queries



virtual uint32 getImplementationVersion () const =0
 Get the driver version.
virtual const char * getDriverInformation ()=0
 Get driver informations.
virtual const char * getVideocardInformation ()=0
 Get videocard informations.
virtual uint getNbTextureStages ()=0
 Get the number of texture stage available, for multitexturing (Normal material shaders). Valid only after setDisplay().
virtual void getWindowSize (uint32 &width, uint32 &height)=0
 Get the width and the height of the window.
virtual uint getWindowWidth ()=0
 Get the width of the window.
virtual uint getWindowHeight ()=0
 Get the height of the window.
virtual void getWindowPos (uint32 &x, uint32 &y)=0
 Get the x and y coord of the windows always (0,0) in fullscreen.
virtual uint32 getAvailableVertexAGPMemory ()=0
 Return the amount of AGP memory allocated by initVertexArrayRange() to store vertices.
virtual uint32 getAvailableVertexVRAMMemory ()=0
 Return the amount of video memory allocated by initVertexArrayRange() to store vertices.
virtual void getBuffer (CBitmap &bitmap)=0
 get the RGBA back buffer.
virtual void getZBuffer (std::vector< float > &zbuffer)=0
 get the ZBuffer (back buffer).
virtual void getBufferPart (CBitmap &bitmap, NLMISC::CRect &rect)=0
 get a part of the RGBA back buffer.
virtual void getZBufferPart (std::vector< float > &zbuffer, NLMISC::CRect &rect)=0
 get a part of the ZBuffer (back buffer).
virtual bool fillBuffer (CBitmap &bitmap)=0
 fill the RGBA back buffer
Mouse / Keyboard / Gamedevices



virtual NLMISC::IMouseDeviceenableLowLevelMouse (bool enable, bool hardware)=0
 Enable / disable low level mouse.
virtual NLMISC::IKeyboardDeviceenableLowLevelKeyboard (bool enable)=0
 Enable / disable a low level keyboard.
virtual
NLMISC::IInputDeviceManager
getLowLevelInputDeviceManager ()=0
 Check whether there is a low level device manager available, and get its interface.
virtual uint getDoubleClickDelay (bool hardwareMouse)=0
virtual void showCursor (bool b)=0
 show cursor if b is true, or hide it if b is false NB: This has no effects if a low level mouse is used.
virtual void setMousePos (float x, float y)=0
 x and y must be between 0.0 and 1.0
virtual void setCapture (bool b)=0
 If true, capture the mouse to force it to stay under the window.
Misc.



virtual TMessageBoxId systemMessageBox (const char *message, const char *title, TMessageBoxType type=okType, TMessageBoxIcon icon=noIcon)=0
 Output a system message box and print a message with an icon.
virtual void setPolygonMode (TPolygonMode mode)=0
 Set the global polygon mode.
virtual TPolygonMode getPolygonMode ()=0
 Get the global polygon mode.
virtual U3dMouseListenercreate3dMouseListener ()=0
 Create a 3d mouse listener.
virtual void delete3dMouseListener (U3dMouseListener *listener)=0
 Delete a 3d mouse listener.
virtual void forceDXTCCompression (bool dxtcComp)=0
 if true force all the uncompressed RGBA 32 bits and RGBA 24 bits texture to be DXTC5 compressed.
virtual void forceTextureResize (uint divisor)=0
 if !=1, force mostly all the textures (but TextureFonts lightmaps, interfaces etc.
virtual void forceNativeFragmentPrograms (bool nativeOnly)=0
 Sets enforcement of native fragment programs.
virtual bool setMonitorColorProperties (const CMonitorColorProperties &properties)=0
 Setup monitor color properties.
Shape Bank



virtual UShapeBankgetShapeBank ()=0
 Get the global shape bank.
Profiling.



virtual void profileRenderedPrimitives (CPrimitiveProfile &pIn, CPrimitiveProfile &pOut)=0
 Get the number of primitives rendered from the last swapBuffers() call.
virtual uint32 profileAllocatedTextureMemory ()=0
 Return the amount of Texture memory requested.
virtual uint32 profileSetupedMaterials () const =0
 Get the number of material setuped from the last swapBuffers() call.
virtual uint32 profileSetupedModelMatrix () const =0
 Get the number of matrix setuped from the last swapBuffers() call.
virtual void enableUsedTextureMemorySum (bool enable=true)=0
 Enable the sum of texture memory used since last swapBuffers() call.
virtual uint32 getUsedTextureMemory () const =0
 Return the amount of texture video memory used since last swapBuffers() call.
virtual void startProfileVBHardLock ()=0
 If the driver support it, enable profile VBHard locks.
virtual void endProfileVBHardLock (std::vector< std::string > &result)=0
 If the driver support it, stop profile VBHard locks, and "print" result No-Op if already profiling NB: The results are the Locks in Chronogical time (since last swapBuffers).
virtual void profileVBHardAllocation (std::vector< std::string > &result)=0
 display VBhards allocated
virtual void startProfileIBLock ()=0
 If the driver support it, enable profile index buffers No-Op if already profiling.
virtual void endProfileIBLock (std::vector< std::string > &result)=0
 If the driver support it, stop profile index buffer locks, and "print" result No-Op if already profiling NB: The results are the Locks in Chronogical time (since last swapBuffers).
virtual void profileIBAllocation (std::vector< std::string > &result)=0
 display index buffer allocated
virtual void profileTextureUsage (std::vector< std::string > &result)=0
 For each texture setuped in the driver, "print" result: type, shareName, format and size (mipmap included).
Async Texture loading mgt (see UInstance)



virtual void setupAsyncTextureLod (uint baseLevel, uint maxLevel)=0
 setup the mipMap levels.
virtual void setupAsyncTextureMaxUploadPerFrame (uint maxup)=0
 Setup max texture upload in driver per updateAsyncTexture() call.
virtual void setupMaxTotalAsyncTextureSize (uint maxText)=0
 Setup max total texture size allowed. Default is 10Mo.
virtual void setupMaxHLSColoringPerFrame (uint maxCol)=0
 Setup max texture HLS Coloring per update() call (in bytes). Default to 20K.
virtual void updateAsyncTexture ()=0
 update the manager.
virtual uint getTotalAsyncTextureSizeAsked () const =0
 get the async texture Size asked (ie maybe bigger than MaxTotalTextureSize).
virtual uint getLastAsyncTextureSizeGot () const =0
 get what the system really allows
virtual void loadHLSBank (const std::string &fileName)=0
 Load a .hlsBank, add it to the HLSManager of the AsyncTextureManager.
Bench



virtual void startBench (bool wantStandardDeviation=false, bool quick=false, bool reset=true)=0
virtual void endBench ()=0
virtual void displayBench (class NLMISC::CLog *log)=0
Water envmap



virtual UWaterEnvMapcreateWaterEnvMap ()=0
virtual void deleteWaterEnvMap (UWaterEnvMap *)=0

Static Public Member Functions

static UDrivercreateDriver (uint windowIcon=0, bool direct3d=false, emptyProc exitFunc=0)
 This is the static function which build a UDriver, the root for all 3D functions.
static void purgeMemory ()
 Purge static memory.

Public Attributes

NLMISC::CEventServer EventServer
 The EventServer of this driver. Init after setDisplay()!!
NLMISC::CEventListenerAsync AsyncListener
 The AsyncListener of this driver. Init after setDisplay()!!

Detailed Description

Game Interface for window Driver, first object to create.

From UDriver, you can create Scene, and render basic primitives (slow!!)

All function calls are invalid before init() is called!!

NB: there is ONE FontManager per UDriver.

Author:
Lionel Berenguier
Nevrax France
Date:
2001

Definition at line 98 of file u_driver.h.


Member Typedef Documentation

typedef std::vector<CMode> NL3D::UDriver::TModeList

Definition at line 131 of file u_driver.h.


Member Enumeration Documentation

Enumerator:
CCW 
CW 

Definition at line 143 of file u_driver.h.

Enumerator:
noIcon 
handIcon 
questionIcon 
exclamationIcon 
asteriskIcon 
warningIcon 
errorIcon 
informationIcon 
stopIcon 
iconCount 

Definition at line 137 of file u_driver.h.

Message Box enums.

Enumerator:
okId 
yesId 
noId 
abortId 
retryId 
cancelId 
ignoreId 
idCount 

Definition at line 135 of file u_driver.h.

Enumerator:
okType 
okCancelType 
yesNoType 
abortRetryIgnoreType 
yesNoCancelType 
retryCancelType 
typeCount 

Definition at line 136 of file u_driver.h.

Polygon Mode.

Enumerator:
Filled 
Line 
Point 

Definition at line 140 of file u_driver.h.

Enumerator:
never 
less 
lessequal 
equal 
notequal 
greaterequal 
greater 
always 

Definition at line 147 of file u_driver.h.

Enumerator:
keep 
zero 
replace 
incr 
decr 
invert 

Definition at line 146 of file u_driver.h.


Constructor & Destructor Documentation

NL3D::UDriver::UDriver (  ) 

Definition at line 69 of file driver_user.cpp.

NL3D::UDriver::~UDriver (  )  [virtual]

Definition at line 73 of file driver_user.cpp.

References purgeMemory().


Member Function Documentation

virtual bool NL3D::UDriver::activate ( void   )  [pure virtual]

Before rendering via a driver in a thread, must activate() (per thread).

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::beginDialogMode (  )  [pure virtual]

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::clearBuffers ( CRGBA  col = CRGBA(255, 255, 255, 255)  )  [pure virtual]

This clear the buffers (ALL the buffer :) ).

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::clearRGBABuffer ( CRGBA  col = CRGBA(255, 255, 255, 255)  )  [pure virtual]

This clear only the RGBA back buffer.

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::clearZBuffer (  )  [pure virtual]

This clear only the Zbuffer.

Implemented in NL3D::CDriverUser.

virtual U3dMouseListener* NL3D::UDriver::create3dMouseListener (  )  [pure virtual]

Create a 3d mouse listener.

Returns:
a 3d mouse listener.

Implemented in NL3D::CDriverUser.

virtual UAnimationSet* NL3D::UDriver::createAnimationSet ( const std::string &  animationSetFile  )  [pure virtual]

Create a new AnimationSet, load it from a file. Use CPath to search the animation set. exception EPathNotFound if not found.

Implemented in NL3D::CDriverUser.

virtual UAnimationSet* NL3D::UDriver::createAnimationSet (  )  [pure virtual]

Create an empty AnimationSet.

Implemented in NL3D::CDriverUser.

UDriver * NL3D::UDriver::createDriver ( uint  windowIcon = 0,
bool  direct3d = false,
emptyProc  exitFunc = 0 
) [static]

This is the static function which build a UDriver, the root for all 3D functions.

Definition at line 92 of file driver_user.cpp.

virtual UMaterial NL3D::UDriver::createMaterial (  )  [pure virtual]

Create a new Material, to be filled by user.

Implemented in NL3D::CDriverUser.

Referenced by NL3D::CBloomEffect::init(), and CEGUI::NeLTexture::NeLTexture().

virtual UScene* NL3D::UDriver::createScene ( bool  bSmallScene  )  [pure virtual]

Create a new scene.

Implemented in NL3D::CDriverUser.

virtual UTextContext* NL3D::UDriver::createTextContext ( const std::string  fontFileName,
const std::string  fontExFileName = "" 
) [pure virtual]

create a new TextContext, for a given font.

Implemented in NL3D::CDriverUser.

virtual UTextureFile* NL3D::UDriver::createTextureFile ( const std::string &  file  )  [pure virtual]

Create a new texture file, searching in CPath.

NB: by default a textureFile created with this method has a setAllowDegradation() at false.

Parameters:
file filename, local to CPath paths.

Implemented in NL3D::CDriverUser.

Referenced by CEGUI::NeLTexture::loadFromFile().

virtual UTextureMem* NL3D::UDriver::createTextureMem ( uint  width,
uint  height,
CBitmap::TType  texType = CBitmap::RGBA 
) [pure virtual]

Create a new Raw texture, to be filled by user.

Implemented in NL3D::CDriverUser.

virtual UWaterEnvMap* NL3D::UDriver::createWaterEnvMap (  )  [pure virtual]

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::delete3dMouseListener ( U3dMouseListener listener  )  [pure virtual]

Delete a 3d mouse listener.

Parameters:
listener a 3d mouse listener.

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::deleteAnimationSet ( UAnimationSet animationSet  )  [pure virtual]

Delete a AnimationSet. NB: actually, this animation set is internally deleted only when no more UPlayList use it.

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::deleteMaterial ( UMaterial mat  )  [pure virtual]

Delete a Material.

Implemented in NL3D::CDriverUser.

Referenced by NL3D::CBloomEffect::~CBloomEffect(), and CEGUI::NeLTexture::~NeLTexture().

virtual void NL3D::UDriver::deleteScene ( UScene scene  )  [pure virtual]

Delete a scene.

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::deleteTextContext ( UTextContext textContext  )  [pure virtual]

delete a TextContext.

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::deleteTextureFile ( UTextureFile textfile  )  [pure virtual]

Delete a texture file. This one will be really deleted in memory when no material point to it.

Implemented in NL3D::CDriverUser.

Referenced by CEGUI::NeLTexture::freeNeLTexture().

virtual void NL3D::UDriver::deleteTextureMem ( UTextureMem textraw  )  [pure virtual]

Delete a Raw texture. This one will be really deleted in memory when no material point to it.

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::deleteWaterEnvMap ( UWaterEnvMap  )  [pure virtual]

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::disableHardwareTextureShader (  )  [pure virtual]

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::disableHardwareVertexArrayAGP (  )  [pure virtual]

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::disableHardwareVertexProgram (  )  [pure virtual]

Disable some Feature that may be supported by the Hardware Call before setDisplay() to work properly.

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::displayBench ( class NLMISC::CLog log  )  [pure virtual]

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::drawBitmap ( float  x,
float  y,
float  width,
float  height,
class UTexture texture,
bool  blend = true,
CRGBA  col = CRGBA(255, 255, 255, 255) 
) [pure virtual]

For all those function, setMatrixMode2D*() should have been called (else strange results!!).

Draw a bitmap 2D. Warning: this is slow...

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::drawLine ( float  x0,
float  y0,
float  x1,
float  y1,
CRGBA  col = CRGBA(255, 255, 255, 255) 
) [pure virtual]

Draw a line in 2D. Warning: this is slow...

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::drawLine ( const NLMISC::CLineColorUV tri,
UMaterial mat 
) [pure virtual]

Draw the Line, taking color from primitive. With UV for texture.

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::drawLine ( const NLMISC::CLineUV tri,
UMaterial mat 
) [pure virtual]

Draw the Line, taking color from material. With UV for texture.

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::drawLine ( const NLMISC::CLineColor tri,
UMaterial mat 
) [pure virtual]

Draw the Line, taking color from primitive.

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::drawLine ( const NLMISC::CLine tri,
UMaterial mat 
) [pure virtual]

All of those render primitives are unlit! You must use UScene to render lighted meshes.

NB: If you set a texture to your material, the primitives are textured, even if no Uvs are provided.
NB: All rendering are done in current viewport / current matrix context. Draw the Line, taking color from material.

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::drawQuad ( float  xcenter,
float  ycenter,
float  radius,
CRGBA  col 
) [pure virtual]

Draw a Quad in 2D. Warning: this is slow...

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::drawQuad ( float  x0,
float  y0,
float  x1,
float  y1,
CRGBA  col 
) [pure virtual]

Draw a Quad in 2D. Warning: this is slow...

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::drawQuad ( const NLMISC::CQuadColorUV tri,
UMaterial mat 
) [pure virtual]

Draw the Quad, taking color from primitive. With UV for texture.

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::drawQuad ( const NLMISC::CQuadUV tri,
UMaterial mat 
) [pure virtual]

Draw the Quad, taking color from material. With UV for texture.

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::drawQuad ( const NLMISC::CQuadColor tri,
UMaterial mat 
) [pure virtual]

Draw the Quad, taking color from primitive.

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::drawQuad ( const NLMISC::CQuad tri,
UMaterial mat 
) [pure virtual]

Draw the Quad, taking color from material.

Implemented in NL3D::CDriverUser.

Referenced by NL3D::CBloomEffect::applyBlur(), NL3D::CBloomEffect::endInterfacesDisplayBloom(), and CEGUI::NeLRenderer::renderQuad().

virtual void NL3D::UDriver::drawQuads ( const NLMISC::CQuadColorUV2 quads,
uint32  nbQuads,
UMaterial mat 
) [pure virtual]

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::drawQuads ( const NLMISC::CQuadColorUV qs,
uint32  nbq,
UMaterial mat 
) [pure virtual]

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::drawQuads ( const std::vector< NLMISC::CQuadColorUV2 > &  quad,
UMaterial mat 
) [pure virtual]

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::drawQuads ( const std::vector< NLMISC::CQuadColorUV > &  quad,
UMaterial mat 
) [pure virtual]

Implemented in NL3D::CDriverUser.

Referenced by CEGUI::NeLRenderer::doRender().

virtual void NL3D::UDriver::drawTriangle ( float  x0,
float  y0,
float  x1,
float  y1,
float  x2,
float  y2,
CRGBA  col 
) [pure virtual]

Draw a Triangle in 2D. Warning: this is slow...

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::drawTriangle ( const NLMISC::CTriangleColorUV tri,
UMaterial mat 
) [pure virtual]

Draw the Triangle, taking color from primitive. With UV for texture.

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::drawTriangle ( const NLMISC::CTriangleUV tri,
UMaterial mat 
) [pure virtual]

Draw the Triangle, taking color from material. With UV for texture.

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::drawTriangle ( const NLMISC::CTriangleColor tri,
UMaterial mat 
) [pure virtual]

Draw the Triangle, taking color from primitive.

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::drawTriangle ( const NLMISC::CTriangle tri,
UMaterial mat 
) [pure virtual]

Draw the Triangle, taking color from material.

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::drawTriangles ( const NLMISC::CTriangleColorUV tris,
uint32  nbTris,
UMaterial mat 
) [pure virtual]

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::drawTriangles ( const std::vector< NLMISC::CTriangleColorUV > &  tris,
UMaterial mat 
) [pure virtual]

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::drawWiredQuad ( float  xcenter,
float  ycenter,
float  radius,
CRGBA  col 
) [pure virtual]

Draw a Quad in 2D. Warning: this is slow...

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::drawWiredQuad ( float  x0,
float  y0,
float  x1,
float  y1,
CRGBA  col 
) [pure virtual]

Draw a Quad in 2D. Warning: this is slow...

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::enableFog ( bool  enable  )  [pure virtual]

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::enableLight ( uint8  num,
bool  enable = true 
) [pure virtual]

Implemented in NL3D::CDriverUser.

virtual NLMISC::IKeyboardDevice* NL3D::UDriver::enableLowLevelKeyboard ( bool  enable  )  [pure virtual]

Enable / disable a low level keyboard.

This returns a interface to some parameters when it is supported, or NULL otherwise. The interface pointer is valid as long as the low level keyboard is enabled. A call to disable the keyboard returns NULL, and restore the default keyboard behaviour.

Implemented in NL3D::CDriverUser.

virtual NLMISC::IMouseDevice* NL3D::UDriver::enableLowLevelMouse ( bool  enable,
bool  hardware 
) [pure virtual]

Enable / disable low level mouse.

This allow to take advantage of some options (speed of the mouse, automatic wrapping) It returns a interface to these parameters when it is supported, or NULL otherwise The interface pointer is valid as long as the low level mouse is enabled. A call to disable the mouse returns NULL, and restore the default mouse behaviour NB : - In this mode the mouse cursor isn't drawn.

  • Calls to showCursor have no effects
  • Calls to setCapture have no effects

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::enableStencilTest ( bool  enable  )  [pure virtual]

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::enableUsedTextureMemorySum ( bool  enable = true  )  [pure virtual]

Enable the sum of texture memory used since last swapBuffers() call.

To retrieve the memory used call getUsedTextureMemory().

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::endBench (  )  [pure virtual]

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::endDialogMode (  )  [pure virtual]

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::endProfileIBLock ( std::vector< std::string > &  result  )  [pure virtual]

If the driver support it, stop profile index buffer locks, and "print" result No-Op if already profiling NB: The results are the Locks in Chronogical time (since last swapBuffers).

Since multiple frame are summed, an "*" is marked againts the index buffer name to show if it was not always this one (ptr test and not name test) in the chronogical order. NB: if the driver does not support index buffer profiling, result is empty. NB: ???? string is displayed if the index buffer has no name or if was just deleted.

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::endProfileVBHardLock ( std::vector< std::string > &  result  )  [pure virtual]

If the driver support it, stop profile VBHard locks, and "print" result No-Op if already profiling NB: The results are the Locks in Chronogical time (since last swapBuffers).

Since multiple frame are summed, an "*" is marked againts the VBHard name to show if it was not always this one (ptr test and not name test) in the chronogical order. NB: if the driver does not support VBHard or VBHard profiling (like ATI VBHard), result is empty. NB: ???? string is displayed if the VBHard has no name or if was just deleted.

Implemented in NL3D::CDriverUser.

virtual bool NL3D::UDriver::fillBuffer ( CBitmap bitmap  )  [pure virtual]

fill the RGBA back buffer

Parameters:
bitmap will be written in the buffer. no-op if bad size.
Returns:
true if success

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::finish (  )  [pure virtual]

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::flush (  )  [pure virtual]

Implemented in NL3D::CDriverUser.

virtual bool NL3D::UDriver::fogEnabled (  )  [pure virtual]

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::forceDXTCCompression ( bool  dxtcComp  )  [pure virtual]

if true force all the uncompressed RGBA 32 bits and RGBA 24 bits texture to be DXTC5 compressed.

Default is false. NB: this is done only on TextureFile, with format Automatic

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::forceNativeFragmentPrograms ( bool  nativeOnly  )  [pure virtual]

Sets enforcement of native fragment programs.

This is by default enabled.

Parameters:
nativeOnly If set to false, fragment programs don't need to be native to stay loaded, otherwise (aka if true) they will be purged.

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::forceTextureResize ( uint  divisor  )  [pure virtual]

if !=1, force mostly all the textures (but TextureFonts lightmaps, interfaces etc.

.) to be divided by Divisor (2, 4, 8...) Default is 1. NB: this is done only on TextureFile

Implemented in NL3D::CDriverUser.

virtual uint32 NL3D::UDriver::getAvailableVertexAGPMemory (  )  [pure virtual]

Return the amount of AGP memory allocated by initVertexArrayRange() to store vertices.

Implemented in NL3D::CDriverUser.

virtual uint32 NL3D::UDriver::getAvailableVertexVRAMMemory (  )  [pure virtual]

Return the amount of video memory allocated by initVertexArrayRange() to store vertices.

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::getBuffer ( CBitmap bitmap  )  [pure virtual]

get the RGBA back buffer.

After swapBuffers(), the content of the back buffer is undefined.

Parameters:
bitmap the buffer will be written in this bitmap

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::getBufferPart ( CBitmap bitmap,
NLMISC::CRect rect 
) [pure virtual]

get a part of the RGBA back buffer.

After swapBuffers(), the content of the back buffer is undefined. NB: 0,0 is the bottom left corner of the screen.

Parameters:
bitmap the buffer will be written in this bitmap
rect the in/out (wanted/clipped) part of Color buffer to retrieve.

Implemented in NL3D::CDriverUser.

virtual float NL3D::UDriver::getClipSpaceZMin (  )  const [pure virtual]

Implemented in NL3D::CDriverUser.

virtual TCullMode NL3D::UDriver::getCullMode (  )  const [pure virtual]
virtual bool NL3D::UDriver::getCurrentScreenMode ( CMode mode  )  [pure virtual]

Implemented in NL3D::CDriverUser.

Referenced by CEGUI::NeLRenderer::NeLRenderer().

virtual void NL3D::UDriver::getDepthRange ( float znear,
float zfar 
) [pure virtual]

Implemented in NL3D::CDriverUser.

virtual void* NL3D::UDriver::getDisplay (  )  [pure virtual]

Return an OS dependent window handle. Under Win32, it is a HWND.

Implemented in NL3D::CDriverUser.

virtual uint NL3D::UDriver::getDoubleClickDelay ( bool  hardwareMouse  )  [pure virtual]

Implemented in NL3D::CDriverUser.

virtual const char* NL3D::UDriver::getDriverInformation (  )  [pure virtual]

Get driver informations.

get the nel name of the driver (ex: "Opengl 1.2 NeL Driver")

Implemented in NL3D::CDriverUser.

virtual std::string NL3D::UDriver::getFontManagerCacheInformation (  )  const [pure virtual]

get cahce information.

Implemented in NL3D::CDriverUser.

virtual CFrustum NL3D::UDriver::getFrustum (  )  [pure virtual]

Implemented in NL3D::CDriverUser.

virtual CMatrix NL3D::UDriver::getFrustumMatrix (  )  [pure virtual]

Implemented in NL3D::CDriverUser.

virtual uint32 NL3D::UDriver::getImplementationVersion (  )  const [pure virtual]

Get the driver version.

Not the same than interface version. Incremented at each implementation change.

See also:
InterfaceVersion

Implemented in NL3D::CDriverUser.

virtual uint NL3D::UDriver::getLastAsyncTextureSizeGot (  )  const [pure virtual]

get what the system really allows

Implemented in NL3D::CDriverUser.

virtual NLMISC::IInputDeviceManager* NL3D::UDriver::getLowLevelInputDeviceManager (  )  [pure virtual]

Check whether there is a low level device manager available, and get its interface.

Return NULL if not available. From this interface you can deal with mouse and keyboard as above, but you can also manage game devices (joysticks, joypads ...)

Implemented in NL3D::CDriverUser.

virtual CMatrix NL3D::UDriver::getModelMatrix (  )  [pure virtual]

Implemented in NL3D::CDriverUser.

virtual bool NL3D::UDriver::getModes ( std::vector< CMode > &  modes  )  [pure virtual]

Implemented in NL3D::CDriverUser.

virtual uint NL3D::UDriver::getNbTextureStages (  )  [pure virtual]

Get the number of texture stage available, for multitexturing (Normal material shaders). Valid only after setDisplay().

Implemented in NL3D::CDriverUser.

virtual TPolygonMode NL3D::UDriver::getPolygonMode (  )  [pure virtual]

Get the global polygon mode.

Parameters:
polygon mode choose in this driver.
See also:
setPolygonMode(), TPolygonMode

Implemented in NL3D::CDriverUser.

Referenced by NL3D::CBloomEffect::endBloom(), and NL3D::CBloomEffect::endInterfacesDisplayBloom().

virtual CScissor NL3D::UDriver::getScissor (  )  [pure virtual]

Implemented in NL3D::CDriverUser.

virtual UShapeBank* NL3D::UDriver::getShapeBank (  )  [pure virtual]

Get the global shape bank.

The shape bank handles all the shape caches.

See also:
UShapeBank

Implemented in NL3D::CDriverUser.

virtual uint64 NL3D::UDriver::getSwapBufferCounter (  )  [pure virtual]

Implemented in NL3D::CDriverUser.

virtual uint NL3D::UDriver::getSwapVBLInterval (  )  [pure virtual]

get the number of VBL wait when a swapBuffers() is issued. 0 means no synchronisation to the VBL

Implemented in NL3D::CDriverUser.

virtual uint NL3D::UDriver::getTotalAsyncTextureSizeAsked (  )  const [pure virtual]

get the async texture Size asked (ie maybe bigger than MaxTotalTextureSize).

Implemented in NL3D::CDriverUser.

virtual uint32 NL3D::UDriver::getUsedTextureMemory (  )  const [pure virtual]

Return the amount of texture video memory used since last swapBuffers() call.

Before use this method, you should enable the sum with enableUsedTextureMemorySum().

Implemented in NL3D::CDriverUser.

virtual const char* NL3D::UDriver::getVideocardInformation (  )  [pure virtual]

Get videocard informations.

get the official name of the driver

Implemented in NL3D::CDriverUser.

virtual CMatrix NL3D::UDriver::getViewMatrix (  )  [pure virtual]

Implemented in NL3D::CDriverUser.

virtual CViewport NL3D::UDriver::getViewport (  )  [pure virtual]

Implemented in NL3D::CDriverUser.

virtual uint NL3D::UDriver::getWindowHeight (  )  [pure virtual]
virtual void NL3D::UDriver::getWindowPos ( uint32 x,
uint32 y 
) [pure virtual]

Get the x and y coord of the windows always (0,0) in fullscreen.

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::getWindowSize ( uint32 width,
uint32 height 
) [pure virtual]

Get the width and the height of the window.

Implemented in NL3D::CDriverUser.

Referenced by NL3D::UTextContext::CStringInfo::convertTo01Size(), and NL3D::UTextContext::CStringInfo::convertToPixelSize().

virtual uint NL3D::UDriver::getWindowWidth (  )  [pure virtual]
virtual void NL3D::UDriver::getZBuffer ( std::vector< float > &  zbuffer  )  [pure virtual]

get the ZBuffer (back buffer).

Parameters:
zbuffer the returned array of Z. size of getWindowSize() .

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::getZBufferPart ( std::vector< float > &  zbuffer,
NLMISC::CRect rect 
) [pure virtual]

get a part of the ZBuffer (back buffer).

NB: 0,0 is the bottom left corner of the screen.

Parameters:
zbuffer the returned array of Z. size of rec.Width*rec.Height.
rect the in/out (wanted/clipped) part of ZBuffer to retrieve.

Implemented in NL3D::CDriverUser.

virtual bool NL3D::UDriver::isActive (  )  [pure virtual]

Return true if driver is still active. Return false else. If he user close the window, must return false.

Implemented in NL3D::CDriverUser.

virtual bool NL3D::UDriver::isLost (  )  const [pure virtual]

Implemented in NL3D::CDriverUser.

virtual bool NL3D::UDriver::isStencilTestEnabled (  )  const [pure virtual]

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::loadHLSBank ( const std::string &  fileName  )  [pure virtual]

Load a .hlsBank, add it to the HLSManager of the AsyncTextureManager.

Use CPath::lookup. throw EPathNotFound if error

Implemented in NL3D::CDriverUser.

virtual uint32 NL3D::UDriver::profileAllocatedTextureMemory (  )  [pure virtual]

Return the amount of Texture memory requested.

taking mipmap, compression, texture format, etc... into account. NB: because of GeForce*, RGB888 is considered to be 32 bits. So it may be false for others cards :).

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::profileIBAllocation ( std::vector< std::string > &  result  )  [pure virtual]

display index buffer allocated

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::profileRenderedPrimitives ( CPrimitiveProfile pIn,
CPrimitiveProfile pOut 
) [pure virtual]

Get the number of primitives rendered from the last swapBuffers() call.

Parameters:
pIn the number of requested rendered primitive.
pOut the number of effective rendered primitive. pOut==pIn if no multi-pass material is used (Lightmap, Specular ...).

Implemented in NL3D::CDriverUser.

virtual uint32 NL3D::UDriver::profileSetupedMaterials (  )  const [pure virtual]

Get the number of material setuped from the last swapBuffers() call.

Implemented in NL3D::CDriverUser.

virtual uint32 NL3D::UDriver::profileSetupedModelMatrix (  )  const [pure virtual]

Get the number of matrix setuped from the last swapBuffers() call.

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::profileTextureUsage ( std::vector< std::string > &  result  )  [pure virtual]

For each texture setuped in the driver, "print" result: type, shareName, format and size (mipmap included).

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::profileVBHardAllocation ( std::vector< std::string > &  result  )  [pure virtual]

display VBhards allocated

Implemented in NL3D::CDriverUser.

void NL3D::UDriver::purgeMemory (  )  [static]
virtual void NL3D::UDriver::release (  )  [pure virtual]

Release the window. All components are released (Texture, materials, scene, textcontexts).

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::setAmbientColor ( CRGBA  color  )  [pure virtual]

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::setCapture ( bool  b  )  [pure virtual]

If true, capture the mouse to force it to stay under the window.

NB : If a low level mouse is used, it does nothing

Implemented in NL3D::CDriverUser.

Referenced by CEGUI::NeLRenderer::captureCursor().

virtual void NL3D::UDriver::setColorMask ( bool  bRed,
bool  bGreen,
bool  bBlue,
bool  bAlpha 
) [pure virtual]

Set the color mask filter through where the operation done will pass.

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::setCullMode ( TCullMode  cullMode  )  [pure virtual]
virtual void NL3D::UDriver::setDepthRange ( float  znear,
float  zfar 
) [pure virtual]

Set depth range.

Depth range specify a linear mapping from device z coordinates (in the [-1, 1] range) to window coordinates (in the [0, 1] range) This mapping occurs after clipping of primitives and division by w of vertices coordinates. Default range is [0, 1]. NB : znear should be different from zfar or an assertion is raised

Implemented in NL3D::CDriverUser.

virtual bool NL3D::UDriver::setDisplay ( void *  wnd,
const CMode mode,
bool  show = true,
bool  resizeable = true 
) [pure virtual]

Implemented in NL3D::CDriverUser.

virtual bool NL3D::UDriver::setDisplay ( const CMode mode,
bool  show = true,
bool  resizeable = true 
) [pure virtual]

create the window.

call activate(). Return true if mode activated, false if it failed.

Parameters:
show show or hide the window in window mode.

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::setFontManagerMaxMemory ( uint  maxMem  )  [pure virtual]

Set the maxMemory used for the FontManager.

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::setFrustum ( const CFrustum frust  )  [pure virtual]

Set the active Frustum for rendering.

Implemented in NL3D::CDriverUser.

Referenced by CEGUI::NeLRenderer::doRender(), and CEGUI::NeLRenderer::renderQuad().

virtual void NL3D::UDriver::setFrustumMatrix ( CMatrix frust  )  [pure virtual]

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::setLight ( uint8  num,
const ULight light 
) [pure virtual]

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::setMatrixMode2D ( const CFrustum frust  )  [pure virtual]

Tool function: Setup frustum/viewmatrix/modelmatrix for 2D.

ModelMatrix is setup to identity. ViewMatrix is setup so that (x,y) of vectors maps to x,y screen.

Implemented in NL3D::CDriverUser.

Referenced by setMatrixMode2D11(), and setMatrixMode2D43().

void NL3D::UDriver::setMatrixMode2D11 (  ) 
void NL3D::UDriver::setMatrixMode2D43 (  ) 

Tool function: same as setMatrixMode2D(), using a CFrustum(0,4/3,0,1,-1,1,false).

Definition at line 85 of file driver_user.cpp.

References setMatrixMode2D().

virtual void NL3D::UDriver::setMatrixMode3D ( UCamera camera  )  [pure virtual]

Tool function: Setup frustum/viewmatrix/modelmatrix for 3D, using parameters of a UCamera.

ModelMatrix setuped to identity. ViewMatrix setuped to the inverse of camera 's LocalMatrix. Frustum setuped to UCamera frustum.

Implemented in NL3D::CDriverUser.

Referenced by NL3D::CBloomEffect::applyBlur(), and NL3D::CBloomEffect::endInterfacesDisplayBloom().

virtual bool NL3D::UDriver::setMode ( const CMode mode  )  [pure virtual]

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::setModelMatrix ( const CMatrix mat  )  [pure virtual]

Set the active ModelMatrix for rendering.

NB: UScene ignore this function (use camera parameters instead).

Implemented in NL3D::CDriverUser.

virtual bool NL3D::UDriver::setMonitorColorProperties ( const CMonitorColorProperties properties  )  [pure virtual]

Setup monitor color properties.

Return false if setup failed.

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::setMousePos ( float  x,
float  y 
) [pure virtual]

x and y must be between 0.0 and 1.0

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::setPolygonMode ( TPolygonMode  mode  )  [pure virtual]

Set the global polygon mode.

Can be filled, line or point. The implementation driver must call IDriver::setPolygonMode and active this mode.

Parameters:
polygon mode choose in this driver.
See also:
getPolygonMode(), TPolygonMode

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::setScissor ( const CScissor  )  [pure virtual]

UScene ignore those function (use camera parameters instead, and UScene viewport), and do not disturb this active Matrix context.

(after a scene rendering, the Matrix context for this interface is restored). Remarks are nearly same for UTextContext, except for UTextContext::render3D() (see doc):

  • UTextContext use the setuped viewport of UDriver Matrix context.
  • UTextContext use its own Matrix2D setup (own Frustum and own ViewAMtrix/ ModelMatrix).
  • UTextContext restore ALL the matrix context, after any rendering function. Set the active scissor for rendering. Default to fullscreen.

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::setSwapVBLInterval ( uint  interval  )  [pure virtual]

set the number of VBL wait when a swapBuffers() is issued.

0 means no synchronisation to the VBL Default is 1. Values >1 may be clamped to 1 by the driver.

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::setupAsyncTextureLod ( uint  baseLevel,
uint  maxLevel 
) [pure virtual]

setup the mipMap levels.

When the texture is first added, it is loaded skipping the baseLevel first mipmap During time, furhter mipmap are loaded, according to instance position etc... maxLevel tells where to stop. If 0, the texture will finally be entirely uploaded. Default is 3,1.

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::setupAsyncTextureMaxUploadPerFrame ( uint  maxup  )  [pure virtual]

Setup max texture upload in driver per updateAsyncTexture() call.

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::setupFog ( float  start,
float  end,
CRGBA  color 
) [pure virtual]

$ fog parameters. fog must enabled to see result. start and end are in [0,1] range.

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::setupMaxHLSColoringPerFrame ( uint  maxCol  )  [pure virtual]

Setup max texture HLS Coloring per update() call (in bytes). Default to 20K.

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::setupMaxTotalAsyncTextureSize ( uint  maxText  )  [pure virtual]

Setup max total texture size allowed. Default is 10Mo.

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::setViewMatrix ( const CMatrix mat  )  [pure virtual]

Set the active ViewMatrix for rendering.

NB: this is the view matrix, which is the inverse of camera matrix.

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::setViewport ( const CViewport  )  [pure virtual]

Set the active viewport for rendering.

Default to fullscreen.

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::setWindowPos ( uint32  x,
uint32  y 
) [pure virtual]

Set the position of the NeL window.

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::setWindowTitle ( const ucstring title  )  [pure virtual]

Set the title of the NeL window.

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::showCursor ( bool  b  )  [pure virtual]

show cursor if b is true, or hide it if b is false NB: This has no effects if a low level mouse is used.

Implemented in NL3D::CDriverUser.

Referenced by CEGUI::NeLRenderer::captureCursor().

virtual void NL3D::UDriver::showWindow ( bool  show = true  )  [pure virtual]

Show or hide the NeL window.

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::startBench ( bool  wantStandardDeviation = false,
bool  quick = false,
bool  reset = true 
) [pure virtual]

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::startProfileIBLock (  )  [pure virtual]

If the driver support it, enable profile index buffers No-Op if already profiling.

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::startProfileVBHardLock (  )  [pure virtual]

If the driver support it, enable profile VBHard locks.

No-Op if already profiling

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::stencilFunc ( TStencilFunc  stencilFunc,
int  ref,
uint  mask 
) [pure virtual]

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::stencilMask ( uint  mask  )  [pure virtual]

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::stencilOp ( TStencilOp  fail,
TStencilOp  zfail,
TStencilOp  zpass 
) [pure virtual]

Implemented in NL3D::CDriverUser.

virtual bool NL3D::UDriver::supportBloomEffect (  )  const [pure virtual]
virtual bool NL3D::UDriver::supportMADOperator (  )  const [pure virtual]

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::swapBuffers (  )  [pure virtual]

This swap the back and front buffer (ALL the buffer :) ).

Implemented in NL3D::CDriverUser.

virtual TMessageBoxId NL3D::UDriver::systemMessageBox ( const char *  message,
const char *  title,
TMessageBoxType  type = okType,
TMessageBoxIcon  icon = noIcon 
) [pure virtual]

Output a system message box and print a message with an icon.

This method can be call even if the driver is not initialized. This method is used to return internal driver problem when string can't be displayed in the driver window. If the driver can't open a messageBox, it should not override this method and let the IDriver class manage it with the ASCII console.

Parameters:
message This is the message to display in the message box.
title This is the title of the message box.
type This is the type of the message box, ie number of button and label of buttons.
icon This is the icon of the message box should use like warning, error etc...

Implemented in NL3D::CDriverUser.

virtual void NL3D::UDriver::updateAsyncTexture (  )  [pure virtual]

update the manager.

New loaded texture are uploaded. Instances are updated to know if all their pending textures have been uploaded.

Implemented in NL3D::CDriverUser.


Member Data Documentation

The AsyncListener of this driver. Init after setDisplay()!!

Definition at line 153 of file u_driver.h.

Referenced by NL3D::CDriverUser::release(), and NL3D::CDriverUser::setDisplay().


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

Generated on Thu Jan 7 08:30:12 2010 for NeL by  doxygen 1.6.1