#include <driver_user.h>
Inheritance diagram for NL3D::CDriverUser:
Nevrax France
Definition at line 63 of file driver_user.h.
Public Types | |
enum | TMessageBoxIcon { noIcon = 0, handIcon, questionIcon, exclamationIcon, asteriskIcon, warningIcon, errorIcon, informationIcon, stopIcon, iconCount } |
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 } |
typedef std::vector< CMode > | TModeList |
enum | TPolygonMode { Filled = 0, Line, Point } |
Polygon Mode. More... | |
Public Member Functions | |
Window / driver management. | |
virtual bool | activate (void) |
Before rendering via a driver in a thread, must activate() (per thread). | |
virtual void | disableHardwareTextureShader () |
Before rendering via a driver in a thread, must activate() (per thread). | |
virtual void | disableHardwareVertexArrayAGP () |
Before rendering via a driver in a thread, must activate() (per thread). | |
virtual void | disableHardwareVertexProgram () |
Before rendering via a driver in a thread, must activate() (per thread). | |
virtual TModeList | enumModes () |
Enum All Fullscreen modes. | |
virtual void * | getDisplay () |
Return an OS dependent window handle. Under Win32, it is a HWND. | |
virtual bool | getModes (std::vector< CMode > &modes) |
Before rendering via a driver in a thread, must activate() (per thread). | |
virtual bool | isActive () |
Return true if driver is still active. Return false else. If he user close the window, must return false. | |
virtual void | release () |
Release the window. | |
virtual bool | setDisplay (const CMode &mode, bool show) |
create the window. | |
virtual bool | setMode (const CMode &mode) |
Before rendering via a driver in a thread, must activate() (per thread). | |
Object | |
CDriverUser (uint windowIcon=0) | |
virtual | ~CDriverUser () |
Buffers. | |
virtual void | clearBuffers (CRGBA col=CRGBA(255, 255, 255, 255)) |
This clear the buffers (ALL the buffer :) ). | |
virtual void | clearRGBABuffer (CRGBA col=CRGBA(255, 255, 255, 255)) |
This clear only the RGBA back buffer. | |
virtual void | clearZBuffer () |
This clear only the RGBA back buffer. | |
virtual uint | getSwapVBLInterval () |
This clear the buffers (ALL the buffer :) ). | |
virtual void | setSwapVBLInterval (uint interval) |
This clear the buffers (ALL the buffer :) ). | |
virtual void | swapBuffers () |
This swap the back and front buffer (ALL the buffer :) ). | |
Misc. | |
virtual U3dMouseListener * | create3dMouseListener () |
virtual void | delete3dMouseListener (U3dMouseListener *listener) |
virtual void | forceDXTCCompression (bool dxtcComp) |
virtual void | forceTextureResize (uint divisor) |
virtual TPolygonMode | getPolygonMode () |
virtual bool | setMonitorColorProperties (const CMonitorColorProperties &properties) |
virtual void | setPolygonMode (TPolygonMode mode) |
virtual TMessageBoxId | systemMessageBox (const char *message, const char *title, TMessageBoxType type=okType, TMessageBoxIcon icon=noIcon) |
Components gestion for Interface 2D/3D. | |
virtual UMaterial * | createMaterial () |
Create a new Material, to be filled by user. | |
virtual UTextContext * | createTextContext (const std::string fontFileName, const std::string fontExFileName="") |
create a new TextContext, for a given font. | |
virtual UTextureFile * | createTextureFile (const std::string &file) |
virtual UTextureRaw * | createTextureRaw () |
Create a new Raw texture, to be filled by user. | |
virtual void | deleteMaterial (UMaterial *mat) |
Delete a Material. | |
virtual void | deleteTextContext (UTextContext *textContext) |
delete a TextContext. | |
virtual void | deleteTextureFile (UTextureFile *textfile) |
Delete a texture file. This one will be really deleted in memory when no material point to it. | |
virtual void | deleteTextureRaw (UTextureRaw *textraw) |
Delete a Raw texture. This one will be really deleted in memory when no material point to it. | |
virtual std::string | getFontManagerCacheInformation () const |
get cahce information. | |
virtual void | setFontManagerMaxMemory (uint maxMem) |
Set the maxMemory used for the FontManager. | |
Scene gestion. | |
virtual UScene * | createScene (bool bSmallScene) |
Create a new scene. | |
virtual void | deleteScene (UScene *scene) |
Delete a scene. | |
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)) |
Draw a bitmap 2D. Warning: this is slow... | |
virtual void | drawLine (float x0, float y0, float x1, float y1, CRGBA col=CRGBA(255, 255, 255, 255)) |
Draw a line in 2D. Warning: this is slow... | |
virtual void | drawQuad (float xcenter, float ycenter, float radius, CRGBA col) |
Draw a Quad in 2D. Warning: this is slow... | |
virtual void | drawQuad (float x0, float y0, float x1, float y1, CRGBA col) |
Draw a Quad in 2D. Warning: this is slow... | |
virtual void | drawTriangle (float x0, float y0, float x1, float y1, float x2, float y2, CRGBA col) |
Draw a Triangle in 2D. Warning: this is slow... | |
virtual void | drawWiredQuad (float xcenter, float ycenter, float radius, CRGBA col) |
Draw a Quad in 2D. Warning: this is slow... | |
virtual void | drawWiredQuad (float x0, float y0, float x1, float y1, CRGBA col) |
Draw a Quad in 2D. Warning: this is slow... | |
Interface 2D/3D. | |
virtual void | drawLine (const NLMISC::CLineColorUV &tri, UMaterial &mat) |
Draw the Line, taking color from primitive. With UV for texture. | |
virtual void | drawLine (const NLMISC::CLineUV &tri, UMaterial &mat) |
Draw the Line, taking color from material. With UV for texture. | |
virtual void | drawLine (const NLMISC::CLineColor &tri, UMaterial &mat) |
Draw the Line, taking color from primitive. | |
virtual void | drawLine (const NLMISC::CLine &tri, UMaterial &mat) |
Draw the Line, taking color from material. | |
virtual void | drawQuad (const NLMISC::CQuadColorUV &tri, UMaterial &mat) |
Draw the Quad, taking color from primitive. With UV for texture. | |
virtual void | drawQuad (const NLMISC::CQuadUV &tri, UMaterial &mat) |
Draw the Quad, taking color from material. With UV for texture. | |
virtual void | drawQuad (const NLMISC::CQuadColor &tri, UMaterial &mat) |
Draw the Quad, taking color from primitive. | |
virtual void | drawQuad (const NLMISC::CQuad &tri, UMaterial &mat) |
Draw the Quad, taking color from material. | |
virtual void | drawQuads (const NLMISC::CQuadColorUV2 *quads, uint32 nbQuads, UMaterial &mat) |
Draw the Line, taking color from primitive. With UV for texture. | |
virtual void | drawQuads (const NLMISC::CQuadColorUV *quads, uint32 nbQuads, UMaterial &mat) |
Draw the Line, taking color from primitive. With UV for texture. | |
virtual void | drawQuads (const std::vector< NLMISC::CQuadColorUV2 > &quad, UMaterial &mat) |
Draw the Line, taking color from primitive. With UV for texture. | |
virtual void | drawQuads (const std::vector< NLMISC::CQuadColorUV > &quad, UMaterial &mat) |
Draw the Line, taking color from primitive. With UV for texture. | |
virtual void | drawTriangle (const NLMISC::CTriangleColorUV &tri, UMaterial &mat) |
Draw the Triangle, taking color from primitive. With UV for texture. | |
virtual void | drawTriangle (const NLMISC::CTriangleUV &tri, UMaterial &mat) |
Draw the Triangle, taking color from material. With UV for texture. | |
virtual void | drawTriangle (const NLMISC::CTriangleColor &tri, UMaterial &mat) |
Draw the Triangle, taking color from primitive. | |
virtual void | drawTriangle (const NLMISC::CTriangle &tri, UMaterial &mat) |
Draw the Triangle, taking color from material. | |
Fog support. | |
virtual void | enableFog (bool enable) |
virtual bool | fogEnabled () |
virtual void | setupFog (float start, float end, CRGBA color) |
setup fog parameters. fog must enabled to see result. start and end are in [0,1] range. | |
Light support. | |
virtual void | enableLight (uint8 num, bool enable=true) |
virtual void | setAmbientColor (CRGBA color) |
virtual void | setLight (uint8 num, const ULight &light) |
Mouse / Keyboards / Game devices | |
virtual NLMISC::IKeyboardDevice * | enableLowLevelKeyboard (bool enable) |
virtual NLMISC::IMouseDevice * | enableLowLevelMouse (bool enable, bool exclusive) |
virtual uint | getDoubleClickDelay (bool hardwareMouse) |
virtual NLMISC::IInputDeviceManager * | getLowLevelInputDeviceManager () |
virtual void | setCapture (bool b) |
If true, capture the mouse to force it to stay under the window. | |
virtual void | setMousePos (float x, float y) |
x and y must be between 0.0 and 1.0 | |
virtual void | showCursor (bool b) |
show cursor if b is true, or hide it if b is false | |
Profiling. | |
virtual void | enableUsedTextureMemorySum (bool enable) |
virtual void | endProfileVBHardLock (std::vector< std::string > &result) |
virtual uint32 | getUsedTextureMemory () const |
virtual uint32 | profileAllocatedTextureMemory () |
virtual void | profileRenderedPrimitives (CPrimitiveProfile &pIn, CPrimitiveProfile &pOut) |
virtual uint32 | profileSetupedMaterials () const |
virtual uint32 | profileSetupedModelMatrix () const |
virtual void | profileVBHardAllocation (std::vector< std::string > &result) |
virtual void | startProfileVBHardLock () |
Driver information/Queries | |
virtual bool | fillBuffer (CBitmap &bitmap) |
virtual uint32 | getAvailableVertexAGPMemory () |
virtual uint32 | getAvailableVertexVRAMMemory () |
virtual void | getBuffer (CBitmap &bitmap) |
virtual void | getBufferPart (CBitmap &bitmap, NLMISC::CRect &rect) |
virtual const char * | getDriverInformation () |
virtual uint32 | getImplementationVersion () const |
Driver information/Queries. | |
virtual sint | getNbTextureStages () |
Get the number of texture stage avaliable, for multitexturing (Normal material shaders). Valid only after setDisplay(). | |
virtual const char * | getVideocardInformation () |
virtual uint | getWindowHeight () |
Get the height of the window. | |
virtual void | getWindowPos (uint32 &x, uint32 &y) |
Get the x and y coord of the windows always (0,0) in fullscreen. | |
virtual void | getWindowSize (uint32 &width, uint32 &height) |
Get the width and the height of the window. | |
virtual uint | getWindowWidth () |
Get the width of the window. | |
virtual void | getZBuffer (std::vector< float > &zbuffer) |
virtual void | getZBufferPart (std::vector< float > &zbuffer, NLMISC::CRect &rect) |
Accessor for CSeneUser. | |
IDriver * | getDriver () |
void | restoreMatrixContext () |
void | restoreMatrixContextMatrixOnly () |
Matrix context for Interface 2D/3D. | |
virtual CFrustum | getFrustum () |
virtual CMatrix | getModelMatrix () |
virtual CScissor | getScissor () |
virtual CMatrix | getViewMatrix () |
virtual CViewport | getViewport () |
virtual void | setFrustum (const CFrustum &frust) |
virtual void | setMatrixMode2D (const CFrustum &frust) |
virtual void | setMatrixMode3D (UCamera &camera) |
virtual void | setModelMatrix (const CMatrix &mat) |
virtual void | setScissor (const CScissor &) |
virtual void | setViewMatrix (const CMatrix &mat) |
virtual void | setViewport (const CViewport &) |
Async Texture loading mgt | |
virtual uint | getLastAsyncTextureSizeGot () const |
get what the system really allows | |
virtual uint | getTotalAsyncTextureSizeAsked () const |
get the async texture Size asked (ie maybe bigger than MaxTotalTextureSize). | |
virtual void | loadHLSBank (const std::string &fileName) |
virtual void | setupAsyncTextureLod (uint baseLevel, uint maxLevel) |
virtual void | setupAsyncTextureMaxUploadPerFrame (uint maxup) |
Setup max texture upload in driver per updateAsyncTexture() call. | |
virtual void | setupMaxHLSColoringPerFrame (uint maxCol) |
Setup max texture HLS Coloring per update() call (in bytes). Default to 20K. | |
virtual void | setupMaxTotalAsyncTextureSize (uint maxText) |
Setup max total texture size allowed. Default is 10Mo. | |
virtual void | updateAsyncTexture () |
Shape Bank | |
virtual UShapeBank * | getShapeBank () |
Matrix context for Interface 2D/3D. | |
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). | |
Static Public Member Functions | |
UDriver * | createDriver (uint windowIcon=0) |
void | purgeMemory () |
Data Fields | |
NLMISC::CEventListenerAsync | AsyncListener |
The AsyncListener of this driver. Init after setDisplay()!! | |
NLMISC::CEventServer | EventServer |
The EventServer of this driver. Init after setDisplay()!! | |
Protected Types | |
typedef CPtrSet< CMaterialUser > | TMaterialSet |
typedef CPtrSet< CSceneUser > | TSceneSet |
typedef CPtrSet< CTextContextUser > | TTextContextSet |
typedef CPtrSet< CTextureUser > | TTextureSet |
Protected Member Functions | |
CMaterial & | convMat (UMaterial &mat) |
void | setupMatrixContext () |
Protected Attributes | |
CAsyncTextureManager | _AsyncTextureManager |
CMatrixContext | _CurrentMatrixContext |
IDriver * | _Driver |
CFontManager | _FontManager |
CLodCharacterManager | _LodCharacterManager |
TMaterialSet | _Materials |
CMaterialUser | _MatFlat |
CMaterialUser | _MatText |
CVertexStreamManager | _MeshSkinManager |
CPrimitiveBlock | _PBLine |
CPrimitiveBlock | _PBQuad |
CPrimitiveBlock | _PBTri |
TSceneSet | _Scenes |
CVertexStreamManager | _ShadowMeshSkinManager |
CShapeBankUser | _ShapeBank |
TTextContextSet | _TextContexts |
TTextureSet | _Textures |
CVertexBuffer | _VBColor |
CVertexBuffer | _VBColorUv |
CVertexBuffer | _VBFlat |
CVertexBuffer | _VBQuadsColUv |
CVertexBuffer | _VBQuadsColUv2 |
CVertexBuffer | _VBUv |
bool | _WindowInit |
Static Protected Attributes | |
bool | _StaticInit = false |
|
Definition at line 84 of file driver_user.h. |
|
Definition at line 126 of file u_driver.h. Referenced by enumModes(). |
|
Definition at line 86 of file driver_user.h. |
|
Definition at line 85 of file driver_user.h. |
|
Definition at line 83 of file driver_user.h. |
|
Definition at line 132 of file u_driver.h.
00132 { noIcon=0, handIcon, questionIcon, exclamationIcon, asteriskIcon, warningIcon, errorIcon, informationIcon, stopIcon, iconCount }; |
|
Message Box enums.
Definition at line 130 of file u_driver.h.
|
|
Definition at line 131 of file u_driver.h.
00131 { okType=0, okCancelType, yesNoType, abortRetryIgnoreType, yesNoCancelType, retryCancelType, typeCount }; |
|
Polygon Mode.
Definition at line 135 of file u_driver.h.
|
|
Definition at line 127 of file driver_user.cpp. References NL3D::CShapeBankUser::_DriverUser, _PBLine, _PBQuad, _PBTri, _ShapeBank, _StaticInit, _VBColor, _VBColorUv, _VBFlat, _VBQuadsColUv, _VBQuadsColUv2, _VBUv, _WindowInit, NL3D::IDriver::init(), NL3D_MEM_DRIVER, nlassert, NL3D::registerSerial3d(), NL3D::CPrimitiveBlock::setLine(), NL3D::CPrimitiveBlock::setNumLine(), NL3D::CPrimitiveBlock::setNumQuad(), NL3D::CPrimitiveBlock::setNumTri(), NL3D::CVertexBuffer::setNumVertices(), NL3D::CPrimitiveBlock::setQuad(), NL3D::CPrimitiveBlock::setTri(), NL3D::CVertexBuffer::setVertexFormat(), and uint.
00128 { 00129 NL3D_MEM_DRIVER 00130 00131 // The enum of IDriver and UDriver MUST be the same!!! 00132 nlassert((uint)IDriver::idCount == (uint)UDriver::idCount); 00133 nlassert((uint)IDriver::typeCount == (uint)UDriver::typeCount); 00134 nlassert((uint)IDriver::iconCount == (uint)UDriver::iconCount); 00135 00136 00137 // Static Initialisation. 00138 if(!_StaticInit) 00139 { 00140 _StaticInit= true; 00141 // Register basic serial. 00142 NL3D::registerSerial3d(); 00143 00144 // Register basic csene. 00145 CScene::registerBasics(); 00146 } 00147 00148 // Create/Init Driver. 00149 _Driver= CDRU::createGlDriver(); 00150 nlassert(_Driver); 00151 _Driver->init (windowIcon); 00152 00153 _WindowInit= false; 00154 00155 // Init of VBuffers/PBs for 2D/3D interface. 00156 _VBFlat.setVertexFormat(CVertexBuffer::PositionFlag); 00157 _VBColor.setVertexFormat(CVertexBuffer::PositionFlag | CVertexBuffer::PrimaryColorFlag); 00158 _VBUv.setVertexFormat(CVertexBuffer::PositionFlag | CVertexBuffer::TexCoord0Flag); 00159 _VBColorUv.setVertexFormat(CVertexBuffer::PositionFlag | CVertexBuffer::PrimaryColorFlag | CVertexBuffer::TexCoord0Flag); 00160 _VBQuadsColUv.setVertexFormat(CVertexBuffer::PositionFlag | CVertexBuffer::PrimaryColorFlag | CVertexBuffer::TexCoord0Flag); 00161 _VBQuadsColUv2.setVertexFormat(CVertexBuffer::PositionFlag | CVertexBuffer::PrimaryColorFlag | CVertexBuffer::TexCoord0Flag | CVertexBuffer::TexCoord1Flag); 00162 // max is quad. 00163 _VBFlat.setNumVertices(4); 00164 _VBColor.setNumVertices(4); 00165 _VBUv.setNumVertices(4); 00166 _VBColorUv.setNumVertices(4); 00167 00168 _PBLine.setNumLine(1); 00169 _PBLine.setLine(0, 0, 1); 00170 _PBTri.setNumTri(1); 00171 _PBTri.setTri(0, 0, 1, 2); 00172 _PBQuad.setNumQuad(1); 00173 _PBQuad.setQuad(0, 0, 1, 2, 3); 00174 00175 _ShapeBank._DriverUser = this; 00176 00177 } |
|
Definition at line 179 of file driver_user.cpp. References NL3D_MEM_DRIVER, and release().
00180 { 00181 NL3D_MEM_DRIVER 00182 release(); 00183 00184 delete _Driver; 00185 _Driver= NULL; 00186 } |
|
Before rendering via a driver in a thread, must activate() (per thread).
Implements NL3D::UDriver. Definition at line 314 of file driver_user.cpp. References NL3D::IDriver::activate(), NL3D_HAUTO_UI_DRIVER, and NL3D_MEM_DRIVER. Referenced by setDisplay().
00315 { 00316 NL3D_MEM_DRIVER 00317 NL3D_HAUTO_UI_DRIVER; 00318 00319 return _Driver->activate(); 00320 } |
|
This clear the buffers (ALL the buffer :) ).
Implements NL3D::UDriver. Definition at line 1004 of file driver_user.cpp. References NL3D::IDriver::clear2D(), NL3D::IDriver::clearZBuffer(), NL3D_HAUTO_CLEAR_DRIVER, and NL3D_MEM_DRIVER.
01005 { 01006 NL3D_MEM_DRIVER 01007 NL3D_HAUTO_CLEAR_DRIVER; 01008 01009 _Driver->clear2D(col); 01010 _Driver->clearZBuffer(); 01011 } |
|
This clear only the RGBA back buffer.
Implements NL3D::UDriver. Definition at line 988 of file driver_user.cpp. References NL3D::IDriver::clear2D(), NL3D_HAUTO_CLEAR_DRIVER, and NL3D_MEM_DRIVER.
00989 { 00990 NL3D_MEM_DRIVER 00991 NL3D_HAUTO_CLEAR_DRIVER; 00992 00993 _Driver->clear2D(col); 00994 } |
|
This clear only the RGBA back buffer.
Implements NL3D::UDriver. Definition at line 996 of file driver_user.cpp. References NL3D::IDriver::clearZBuffer(), NL3D_HAUTO_CLEAR_DRIVER, and NL3D_MEM_DRIVER.
00997 { 00998 NL3D_MEM_DRIVER 00999 NL3D_HAUTO_CLEAR_DRIVER; 01000 01001 _Driver->clearZBuffer(); 01002 } |
|
Definition at line 978 of file driver_user.cpp. References NL3D_MEM_DRIVER. Referenced by drawLine(), drawQuad(), drawQuads(), and drawTriangle().
00979 { 00980 NL3D_MEM_DRIVER 00981 00982 CMaterialUser *pmat= (CMaterialUser*)&mat; 00983 return pmat->_Material; 00984 } |
|
Create a 3d mouse listener
Implements NL3D::UDriver. Definition at line 1091 of file driver_user.cpp. References NL3D::CEvent3dMouseListener::addToServer(), NL3D_HAUTO_UI_DRIVER, and NL3D_MEM_DRIVER.
01092 { 01093 NL3D_MEM_DRIVER 01094 NL3D_HAUTO_UI_DRIVER; 01095 01096 // Alloc the listener 01097 CEvent3dMouseListener *listener=new CEvent3dMouseListener(); 01098 01099 // register it 01100 listener->addToServer (EventServer); 01101 01102 return listener; 01103 } |
|
This is the static function which build a UDriver, the root for all 3D functions. Definition at line 98 of file driver_user.cpp. References NL3D_MEM_DRIVER, and uint.
00099 { 00100 NL3D_MEM_DRIVER 00101 return new CDriverUser (windowIcon); 00102 } |
|
Create a new Material, to be filled by user.
Implements NL3D::UDriver. Definition at line 150 of file driver_user2.cpp. References _Materials, NL3D::CPtrSet< T >::insert(), and NL3D_MEM_DRIVER.
00151 { 00152 NL3D_MEM_DRIVER 00153 00154 return _Materials.insert(new CMaterialUser); 00155 } |
|
Create a new scene.
Implements NL3D::UDriver. Definition at line 63 of file driver_user2.cpp. References _AsyncTextureManager, _LodCharacterManager, _MeshSkinManager, _Scenes, _ShadowMeshSkinManager, NL3D::CShapeBankUser::_ShapeBank, _ShapeBank, NL3D::CPtrSet< T >::insert(), and NL3D_MEM_DRIVER.
00064 { 00065 NL3D_MEM_DRIVER 00066 00067 CSceneUser *pSU = new CSceneUser(this, bSmallScene); 00068 00069 // set the shape bank 00070 pSU->getScene().setShapeBank( &_ShapeBank._ShapeBank ); 00071 // set the MeshSkin Vertex Streams 00072 pSU->getScene().getRenderTrav().setMeshSkinManager(&_MeshSkinManager); 00073 pSU->getScene().getRenderTrav().setShadowMeshSkinManager(&_ShadowMeshSkinManager); 00074 // set the AsyncTextureManager 00075 pSU->getScene().setAsyncTextureManager(&_AsyncTextureManager); 00076 // set the lodManager 00077 pSU->getScene().setLodCharacterManager(&_LodCharacterManager); 00078 return _Scenes.insert(pSU); 00079 } |
|
create a new TextContext, for a given font.
Implements NL3D::UDriver. Definition at line 89 of file driver_user2.cpp. References _FontManager, _TextContexts, NL3D::CPtrSet< T >::insert(), and NL3D_MEM_DRIVER.
00090 { 00091 NL3D_MEM_DRIVER 00092 00093 return _TextContexts.insert(new CTextContextUser(fontFileName, fontExFileName, this, &_FontManager)); 00094 } |
|
Create a new texture file, searching in CPath.
Implements NL3D::UDriver. Definition at line 118 of file driver_user2.cpp. References _Textures, file, NL3D::CPtrSet< T >::insert(), and NL3D_MEM_DRIVER.
00119 { 00120 NL3D_MEM_DRIVER 00121 00122 CTextureFileUser *text= new CTextureFileUser(file); 00123 _Textures.insert(text); 00124 return text; 00125 } |
|
Create a new Raw texture, to be filled by user.
Implements NL3D::UDriver. Definition at line 134 of file driver_user2.cpp. References NL3D_MEM_DRIVER, and nlstop.
00135 { 00136 NL3D_MEM_DRIVER 00137 nlstop; // Not implemented!! 00138 00139 return NULL; 00140 } |
|
Delete a 3d mouse listener
Implements NL3D::UDriver. Definition at line 1104 of file driver_user.cpp. References NL3D_HAUTO_UI_DRIVER, and NL3D_MEM_DRIVER.
01105 { 01106 NL3D_MEM_DRIVER 01107 NL3D_HAUTO_UI_DRIVER; 01108 01109 // Unregister 01110 ((CEvent3dMouseListener*)listener)->removeFromServer (EventServer); 01111 01112 delete (CEvent3dMouseListener*)listener; 01113 } |
|
Delete a Material.
Implements NL3D::UDriver. Definition at line 157 of file driver_user2.cpp. References _Materials, NL3D::CPtrSet< T >::erase(), and NL3D_MEM_DRIVER.
00158 { 00159 NL3D_MEM_DRIVER 00160 00161 _Materials.erase( (CMaterialUser*)umat, "deleteMaterial: Bad material"); 00162 } |
|
Delete a scene.
Implements NL3D::UDriver. Definition at line 81 of file driver_user2.cpp. References _Scenes, NL3D::CPtrSet< T >::erase(), and NL3D_MEM_DRIVER.
00082 { 00083 NL3D_MEM_DRIVER 00084 00085 _Scenes.erase((CSceneUser*)scene, "deleteScene(): Bad scene ptr"); 00086 } |
|
delete a TextContext.
Implements NL3D::UDriver. Definition at line 96 of file driver_user2.cpp. References _TextContexts, NL3D::CPtrSet< T >::erase(), and NL3D_MEM_DRIVER.
00097 { 00098 NL3D_MEM_DRIVER 00099 00100 _TextContexts.erase((CTextContextUser*)textContext, "deleteTextContext: Bad TextContext"); 00101 } |
|
Delete a texture file. This one will be really deleted in memory when no material point to it.
Implements NL3D::UDriver. Definition at line 127 of file driver_user2.cpp. References _Textures, NL3D::CPtrSet< T >::erase(), and NL3D_MEM_DRIVER.
00128 { 00129 NL3D_MEM_DRIVER 00130 00131 _Textures.erase(dynamic_cast<CTextureFileUser*>(textfile), "deleteTextureFile: Bad textfile"); 00132 } |
|
Delete a Raw texture. This one will be really deleted in memory when no material point to it.
Implements NL3D::UDriver. Definition at line 142 of file driver_user2.cpp. References NL3D_MEM_DRIVER, and nlstop.
00143 { 00144 NL3D_MEM_DRIVER 00145 nlstop; // Not implemented!! 00146 00147 delete textraw; 00148 } |
|
Before rendering via a driver in a thread, must activate() (per thread).
Implements NL3D::UDriver. Definition at line 221 of file driver_user.cpp. References NL3D::IDriver::disableHardwareTextureShader(), NL3D_HAUTO_UI_DRIVER, and NL3D_MEM_DRIVER.
00222 { 00223 NL3D_MEM_DRIVER 00224 NL3D_HAUTO_UI_DRIVER; 00225 00226 _Driver->disableHardwareTextureShader(); 00227 } |
|
Before rendering via a driver in a thread, must activate() (per thread).
Implements NL3D::UDriver. Definition at line 214 of file driver_user.cpp. References NL3D::IDriver::disableHardwareVertexArrayAGP(), NL3D_HAUTO_UI_DRIVER, and NL3D_MEM_DRIVER.
00215 { 00216 NL3D_MEM_DRIVER 00217 NL3D_HAUTO_UI_DRIVER; 00218 00219 _Driver->disableHardwareVertexArrayAGP(); 00220 } |
|
Before rendering via a driver in a thread, must activate() (per thread).
Implements NL3D::UDriver. Definition at line 207 of file driver_user.cpp. References NL3D::IDriver::disableHardwareVertexProgram(), NL3D_HAUTO_UI_DRIVER, and NL3D_MEM_DRIVER.
00208 { 00209 NL3D_MEM_DRIVER 00210 NL3D_HAUTO_UI_DRIVER; 00211 00212 _Driver->disableHardwareVertexProgram(); 00213 } |
|
Draw a bitmap 2D. Warning: this is slow... For all those function, setMatrixMode2D*() should have been called (else strange results!!). Implements NL3D::UDriver. Definition at line 850 of file driver_user.cpp. References _MatText, drawQuad(), height, NL3D_HAUTO_DRAW_DRIVER, NL3D_MEM_DRIVER, NLMISC::CVector::set(), NL3D::CMaterialUser::setBlend(), NL3D::CMaterialUser::setColor(), NL3D::CMaterialUser::setTexture(), NLMISC::CUV::U, NLMISC::CQuadUV::Uv0, NLMISC::CQuadUV::Uv1, NLMISC::CQuadUV::Uv2, NLMISC::CQuadUV::Uv3, NLMISC::CUV::V, NLMISC::CQuad::V0, NLMISC::CQuad::V1, NLMISC::CQuad::V2, NLMISC::CQuad::V3, width, x, and y.
00851 { 00852 NL3D_MEM_DRIVER 00853 NL3D_HAUTO_DRAW_DRIVER; 00854 00855 _MatText.setTexture(&texture); 00856 _MatText.setColor(col); 00857 _MatText.setBlend(blend); 00858 00859 CQuadUV quad; 00860 quad.V0.set(x,y,0); 00861 quad.V1.set(x+width,y,0); 00862 quad.V2.set(x+width,y+height,0); 00863 quad.V3.set(x,y+height,0); 00864 quad.Uv0.U= 0.f; 00865 quad.Uv0.V= 1.f; 00866 quad.Uv1.U= 1.f; 00867 quad.Uv1.V= 1.f; 00868 quad.Uv2.U= 1.f; 00869 quad.Uv2.V= 0.f; 00870 quad.Uv3.U= 0.f; 00871 quad.Uv3.V= 0.f; 00872 00873 drawQuad(quad, _MatText); 00874 } |
|
Draw a line in 2D. Warning: this is slow...
Implements NL3D::UDriver. Definition at line 876 of file driver_user.cpp. References _MatFlat, drawLine(), NL3D_HAUTO_DRAW_DRIVER, NL3D_MEM_DRIVER, NL3D::CMaterialUser::setBlend(), and NL3D::CMaterialUser::setColor().
00877 { 00878 NL3D_MEM_DRIVER 00879 NL3D_HAUTO_DRAW_DRIVER; 00880 00881 _MatFlat.setColor(col); 00882 _MatFlat.setBlend(true); 00883 00884 CLine line; 00885 line.V0.set(x0,y0,0); 00886 line.V1.set(x1,y1,0); 00887 00888 drawLine(line, _MatFlat); 00889 } |
|
Draw the Line, taking color from primitive. With UV for texture.
Implements NL3D::UDriver. Definition at line 553 of file driver_user.cpp. References _PBLine, _VBColorUv, NL3D::IDriver::activeVertexBuffer(), NLMISC::CLineColorUV::Color0, NLMISC::CLineColorUV::Color1, convMat(), NL3D_HAUTO_DRAW_DRIVER, NL3D_MEM_DRIVER, NL3D::IDriver::render(), NL3D::CVertexBuffer::setColor(), NL3D::CVertexBuffer::setTexCoord(), NL3D::CVertexBuffer::setVertexCoord(), NLMISC::CLineColorUV::Uv0, NLMISC::CLineColorUV::Uv1, NLMISC::CLine::V0, and NLMISC::CLine::V1.
00554 { 00555 NL3D_MEM_DRIVER 00556 NL3D_HAUTO_DRAW_DRIVER; 00557 00558 CVertexBuffer &vb= _VBColorUv; 00559 CPrimitiveBlock &pb= _PBLine; 00560 00561 vb.setVertexCoord (0, shp.V0); 00562 vb.setVertexCoord (1, shp.V1); 00563 vb.setColor(0, shp.Color0); 00564 vb.setColor(1, shp.Color1); 00565 vb.setTexCoord (0, 0, shp.Uv0); 00566 vb.setTexCoord (1, 0, shp.Uv1); 00567 00568 _Driver->activeVertexBuffer(vb); 00569 _Driver->render(pb, convMat(mat)); 00570 } |
|
Draw the Line, taking color from material. With UV for texture.
Implements NL3D::UDriver. Definition at line 536 of file driver_user.cpp. References _PBLine, _VBUv, NL3D::IDriver::activeVertexBuffer(), convMat(), NL3D_HAUTO_DRAW_DRIVER, NL3D_MEM_DRIVER, NL3D::IDriver::render(), NL3D::CVertexBuffer::setTexCoord(), NL3D::CVertexBuffer::setVertexCoord(), NLMISC::CLineUV::Uv0, NLMISC::CLineUV::Uv1, NLMISC::CLine::V0, and NLMISC::CLine::V1.
00537 { 00538 NL3D_MEM_DRIVER 00539 NL3D_HAUTO_DRAW_DRIVER; 00540 00541 CVertexBuffer &vb= _VBUv; 00542 CPrimitiveBlock &pb= _PBLine; 00543 00544 vb.setVertexCoord (0, shp.V0); 00545 vb.setVertexCoord (1, shp.V1); 00546 vb.setTexCoord (0, 0, shp.Uv0); 00547 vb.setTexCoord (1, 0, shp.Uv1); 00548 00549 _Driver->activeVertexBuffer(vb); 00550 _Driver->render(pb, convMat(mat)); 00551 } |
|
Draw the Line, taking color from primitive.
Implements NL3D::UDriver. Definition at line 519 of file driver_user.cpp. References _PBLine, _VBColor, NL3D::IDriver::activeVertexBuffer(), NLMISC::CLineColor::Color0, NLMISC::CLineColor::Color1, convMat(), NL3D_HAUTO_DRAW_DRIVER, NL3D_MEM_DRIVER, NL3D::IDriver::render(), NL3D::CVertexBuffer::setColor(), NL3D::CVertexBuffer::setVertexCoord(), NLMISC::CLine::V0, and NLMISC::CLine::V1.
00520 { 00521 NL3D_MEM_DRIVER 00522 NL3D_HAUTO_DRAW_DRIVER; 00523 00524 CVertexBuffer &vb= _VBColor; 00525 CPrimitiveBlock &pb= _PBLine; 00526 00527 vb.setVertexCoord (0, shp.V0); 00528 vb.setVertexCoord (1, shp.V1); 00529 vb.setColor(0, shp.Color0); 00530 vb.setColor(1, shp.Color1); 00531 00532 _Driver->activeVertexBuffer(vb); 00533 _Driver->render(pb, convMat(mat)); 00534 } |
|
Draw the Line, taking color from material.
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. Implements NL3D::UDriver. Definition at line 504 of file driver_user.cpp. References _PBLine, _VBFlat, NL3D::IDriver::activeVertexBuffer(), convMat(), NL3D_HAUTO_DRAW_DRIVER, NL3D_MEM_DRIVER, NL3D::IDriver::render(), NL3D::CVertexBuffer::setVertexCoord(), NLMISC::CLine::V0, and NLMISC::CLine::V1. Referenced by drawLine(), and drawWiredQuad().
00505 { 00506 NL3D_MEM_DRIVER 00507 NL3D_HAUTO_DRAW_DRIVER; 00508 00509 CVertexBuffer &vb= _VBFlat; 00510 CPrimitiveBlock &pb= _PBLine; 00511 00512 vb.setVertexCoord (0, shp.V0); 00513 vb.setVertexCoord (1, shp.V1); 00514 00515 _Driver->activeVertexBuffer(vb); 00516 _Driver->render(pb, convMat(mat)); 00517 } |
|
Draw a Quad in 2D. Warning: this is slow...
Implements NL3D::UDriver. Definition at line 924 of file driver_user.cpp. References drawQuad(), NL3D_HAUTO_DRAW_DRIVER, and NL3D_MEM_DRIVER.
00925 { 00926 NL3D_MEM_DRIVER 00927 NL3D_HAUTO_DRAW_DRIVER; 00928 00929 drawQuad(xcenter-radius, ycenter-radius, xcenter+radius, ycenter+radius, col); 00930 } |
|
Draw a Quad in 2D. Warning: this is slow...
Implements NL3D::UDriver. Definition at line 907 of file driver_user.cpp. References _MatFlat, drawQuad(), NL3D_HAUTO_DRAW_DRIVER, NL3D_MEM_DRIVER, NLMISC::CVector::set(), NL3D::CMaterialUser::setBlend(), NL3D::CMaterialUser::setColor(), NLMISC::CQuad::V0, NLMISC::CQuad::V1, NLMISC::CQuad::V2, and NLMISC::CQuad::V3.
00908 { 00909 NL3D_MEM_DRIVER 00910 NL3D_HAUTO_DRAW_DRIVER; 00911 00912 _MatFlat.setColor(col); 00913 _MatFlat.setBlend(true); 00914 00915 CQuad quad; 00916 quad.V0.set(x0,y0,0); 00917 quad.V1.set(x1,y0,0); 00918 quad.V2.set(x1,y1,0); 00919 quad.V3.set(x0,y1,0); 00920 00921 drawQuad(quad, _MatFlat); 00922 } |
|
Draw the Quad, taking color from primitive. With UV for texture.
Implements NL3D::UDriver. Definition at line 713 of file driver_user.cpp. References _PBQuad, _VBColorUv, NL3D::IDriver::activeVertexBuffer(), NLMISC::CQuadColorUV::Color0, NLMISC::CQuadColorUV::Color1, NLMISC::CQuadColorUV::Color2, NLMISC::CQuadColorUV::Color3, convMat(), NL3D_HAUTO_DRAW_DRIVER, NL3D_MEM_DRIVER, NL3D::IDriver::render(), NL3D::CVertexBuffer::setColor(), NL3D::CVertexBuffer::setTexCoord(), NL3D::CVertexBuffer::setVertexCoord(), NLMISC::CQuadColorUV::Uv0, NLMISC::CQuadColorUV::Uv1, NLMISC::CQuadColorUV::Uv2, NLMISC::CQuadColorUV::Uv3, NLMISC::CQuad::V0, NLMISC::CQuad::V1, NLMISC::CQuad::V2, and NLMISC::CQuad::V3.
00714 { 00715 NL3D_MEM_DRIVER 00716 NL3D_HAUTO_DRAW_DRIVER; 00717 00718 CVertexBuffer &vb= _VBColorUv; 00719 CPrimitiveBlock &pb= _PBQuad; 00720 00721 vb.setVertexCoord (0, shp.V0); 00722 vb.setVertexCoord (1, shp.V1); 00723 vb.setVertexCoord (2, shp.V2); 00724 vb.setVertexCoord (3, shp.V3); 00725 vb.setColor(0, shp.Color0); 00726 vb.setColor(1, shp.Color1); 00727 vb.setColor(2, shp.Color2); 00728 vb.setColor(3, shp.Color3); 00729 vb.setTexCoord (0, 0, shp.Uv0); 00730 vb.setTexCoord (1, 0, shp.Uv1); 00731 vb.setTexCoord (2, 0, shp.Uv2); 00732 vb.setTexCoord (3, 0, shp.Uv3); 00733 00734 _Driver->activeVertexBuffer(vb); 00735 _Driver->render(pb, convMat(mat)); 00736 } |
|
Draw the Quad, taking color from material. With UV for texture.
Implements NL3D::UDriver. Definition at line 692 of file driver_user.cpp. References _PBQuad, _VBUv, NL3D::IDriver::activeVertexBuffer(), convMat(), NL3D_HAUTO_DRAW_DRIVER, NL3D_MEM_DRIVER, NL3D::IDriver::render(), NL3D::CVertexBuffer::setTexCoord(), NL3D::CVertexBuffer::setVertexCoord(), NLMISC::CQuadUV::Uv0, NLMISC::CQuadUV::Uv1, NLMISC::CQuadUV::Uv2, NLMISC::CQuadUV::Uv3, NLMISC::CQuad::V0, NLMISC::CQuad::V1, NLMISC::CQuad::V2, and NLMISC::CQuad::V3.
00693 { 00694 NL3D_MEM_DRIVER 00695 NL3D_HAUTO_DRAW_DRIVER; 00696 00697 CVertexBuffer &vb= _VBUv; 00698 CPrimitiveBlock &pb= _PBQuad; 00699 00700 vb.setVertexCoord (0, shp.V0); 00701 vb.setVertexCoord (1, shp.V1); 00702 vb.setVertexCoord (2, shp.V2); 00703 vb.setVertexCoord (3, shp.V3); 00704 vb.setTexCoord (0, 0, shp.Uv0); 00705 vb.setTexCoord (1, 0, shp.Uv1); 00706 vb.setTexCoord (2, 0, shp.Uv2); 00707 vb.setTexCoord (3, 0, shp.Uv3); 00708 00709 _Driver->activeVertexBuffer(vb); 00710 _Driver->render(pb, convMat(mat)); 00711 } |
|
Draw the Quad, taking color from primitive.
Implements NL3D::UDriver. Definition at line 671 of file driver_user.cpp. References _PBQuad, _VBColor, NL3D::IDriver::activeVertexBuffer(), NLMISC::CQuadColor::Color0, NLMISC::CQuadColor::Color1, NLMISC::CQuadColor::Color2, NLMISC::CQuadColor::Color3, convMat(), NL3D_HAUTO_DRAW_DRIVER, NL3D_MEM_DRIVER, NL3D::IDriver::render(), NL3D::CVertexBuffer::setColor(), NL3D::CVertexBuffer::setVertexCoord(), NLMISC::CQuad::V0, NLMISC::CQuad::V1, NLMISC::CQuad::V2, and NLMISC::CQuad::V3.
00672 { 00673 NL3D_MEM_DRIVER 00674 NL3D_HAUTO_DRAW_DRIVER; 00675 00676 CVertexBuffer &vb= _VBColor; 00677 CPrimitiveBlock &pb= _PBQuad; 00678 00679 vb.setVertexCoord (0, shp.V0); 00680 vb.setVertexCoord (1, shp.V1); 00681 vb.setVertexCoord (2, shp.V2); 00682 vb.setVertexCoord (3, shp.V3); 00683 vb.setColor(0, shp.Color0); 00684 vb.setColor(1, shp.Color1); 00685 vb.setColor(2, shp.Color2); 00686 vb.setColor(3, shp.Color3); 00687 00688 _Driver->activeVertexBuffer(vb); 00689 _Driver->render(pb, convMat(mat)); 00690 } |
|
Draw the Quad, taking color from material.
Implements NL3D::UDriver. Definition at line 654 of file driver_user.cpp. References _PBQuad, _VBFlat, NL3D::IDriver::activeVertexBuffer(), convMat(), NL3D_HAUTO_DRAW_DRIVER, NL3D_MEM_DRIVER, NL3D::IDriver::render(), NL3D::CVertexBuffer::setVertexCoord(), NLMISC::CQuad::V0, NLMISC::CQuad::V1, NLMISC::CQuad::V2, and NLMISC::CQuad::V3. Referenced by drawBitmap(), and drawQuad().
00655 { 00656 NL3D_MEM_DRIVER 00657 NL3D_HAUTO_DRAW_DRIVER; 00658 00659 CVertexBuffer &vb= _VBFlat; 00660 CPrimitiveBlock &pb= _PBQuad; 00661 00662 vb.setVertexCoord (0, shp.V0); 00663 vb.setVertexCoord (1, shp.V1); 00664 vb.setVertexCoord (2, shp.V2); 00665 vb.setVertexCoord (3, shp.V3); 00666 00667 _Driver->activeVertexBuffer(vb); 00668 _Driver->render(pb, convMat(mat)); 00669 } |
|
Draw the Line, taking color from primitive. With UV for texture.
Implements NL3D::UDriver. Definition at line 798 of file driver_user.cpp. References _VBQuadsColUv2, NL3D::IDriver::activeVertexBuffer(), NLMISC::CQuadColorUV::Color0, NLMISC::CQuadColorUV::Color1, NLMISC::CQuadColorUV::Color2, NLMISC::CQuadColorUV::Color3, convMat(), NL3D::CVertexBuffer::getColorOff(), NL3D::CVertexBuffer::getTexCoordOff(), NL3D::CVertexBuffer::getVertexCoordPointer(), NL3D::CVertexBuffer::getVertexSize(), NL3D_HAUTO_DRAW_DRIVER, NL3D_MEM_DRIVER, NL3D::IDriver::renderQuads(), NL3D::CVertexBuffer::setNumVertices(), uint32, uint8, NLMISC::CQuadColorUV::Uv0, NLMISC::CQuadColorUV2::Uv02, NLMISC::CQuadColorUV::Uv1, NLMISC::CQuadColorUV2::Uv12, NLMISC::CQuadColorUV::Uv2, NLMISC::CQuadColorUV2::Uv22, NLMISC::CQuadColorUV::Uv3, NLMISC::CQuadColorUV2::Uv32, NLMISC::CQuad::V0, NLMISC::CQuad::V1, NLMISC::CQuad::V2, and NLMISC::CQuad::V3.
00799 { 00800 NL3D_MEM_DRIVER 00801 NL3D_HAUTO_DRAW_DRIVER; 00802 00803 CVertexBuffer &vb = _VBQuadsColUv2; 00804 00805 vb.setNumVertices (4*nbQuads); 00806 uint8 *dstPtr= (uint8*)vb.getVertexCoordPointer(); 00807 uint32 colorOfs= vb.getColorOff(); 00808 uint32 uvOfs0= vb.getTexCoordOff(0); 00809 uint32 uvOfs1= vb.getTexCoordOff(1); 00810 uint32 vSize= vb.getVertexSize(); 00811 00812 for (uint32 i = 0; i < nbQuads; ++i) 00813 { 00814 const NLMISC::CQuadColorUV2 &qcuv = quads[i]; 00815 *(CVector*)(dstPtr+0)= qcuv.V0; 00816 *(CUV*)(dstPtr+uvOfs0)= qcuv.Uv0; 00817 *(CUV*)(dstPtr+uvOfs1)= qcuv.Uv02; 00818 *(CRGBA*)(dstPtr+colorOfs)= qcuv.Color0; 00819 dstPtr+= vSize; 00820 *(CVector*)(dstPtr+0)= qcuv.V1; 00821 *(CUV*)(dstPtr+uvOfs0)= qcuv.Uv1; 00822 *(CUV*)(dstPtr+uvOfs1)= qcuv.Uv12; 00823 *(CRGBA*)(dstPtr+colorOfs)= qcuv.Color1; 00824 dstPtr+= vSize; 00825 *(CVector*)(dstPtr+0)= qcuv.V2; 00826 *(CUV*)(dstPtr+uvOfs0)= qcuv.Uv2; 00827 *(CUV*)(dstPtr+uvOfs1)= qcuv.Uv22; 00828 *(CRGBA*)(dstPtr+colorOfs)= qcuv.Color2; 00829 dstPtr+= vSize; 00830 *(CVector*)(dstPtr+0)= qcuv.V3; 00831 *(CUV*)(dstPtr+uvOfs0)= qcuv.Uv3; 00832 *(CUV*)(dstPtr+uvOfs1)= qcuv.Uv32; 00833 *(CRGBA*)(dstPtr+colorOfs)= qcuv.Color3; 00834 dstPtr+= vSize; 00835 } 00836 00837 _Driver->activeVertexBuffer(vb); 00838 _Driver->renderQuads(convMat(mat), 0, nbQuads); 00839 } |
|
Draw the Line, taking color from primitive. With UV for texture.
Implements NL3D::UDriver. Definition at line 758 of file driver_user.cpp. References _VBQuadsColUv, NL3D::IDriver::activeVertexBuffer(), NLMISC::CQuadColorUV::Color0, NLMISC::CQuadColorUV::Color1, NLMISC::CQuadColorUV::Color2, NLMISC::CQuadColorUV::Color3, convMat(), NL3D::CVertexBuffer::getColorOff(), NL3D::CVertexBuffer::getTexCoordOff(), NL3D::CVertexBuffer::getVertexCoordPointer(), NL3D::CVertexBuffer::getVertexSize(), NL3D_HAUTO_DRAW_DRIVER, NL3D_MEM_DRIVER, NL3D::IDriver::renderQuads(), NL3D::CVertexBuffer::setNumVertices(), uint32, uint8, NLMISC::CQuadColorUV::Uv0, NLMISC::CQuadColorUV::Uv1, NLMISC::CQuadColorUV::Uv2, NLMISC::CQuadColorUV::Uv3, NLMISC::CQuad::V0, NLMISC::CQuad::V1, NLMISC::CQuad::V2, and NLMISC::CQuad::V3.
00759 { 00760 NL3D_MEM_DRIVER 00761 NL3D_HAUTO_DRAW_DRIVER; 00762 00763 CVertexBuffer &vb = _VBQuadsColUv; 00764 00765 vb.setNumVertices (4*nbQuads); 00766 uint8 *dstPtr= (uint8*)vb.getVertexCoordPointer(); 00767 uint32 colorOfs= vb.getColorOff(); 00768 uint32 uvOfs= vb.getTexCoordOff(); 00769 uint32 vSize= vb.getVertexSize(); 00770 00771 for (uint32 i = 0; i < nbQuads; ++i) 00772 { 00773 const NLMISC::CQuadColorUV &qcuv = quads[i]; 00774 *(CVector*)(dstPtr+0)= qcuv.V0; 00775 *(CUV*)(dstPtr+uvOfs)= qcuv.Uv0; 00776 *(CRGBA*)(dstPtr+colorOfs)= qcuv.Color0; 00777 dstPtr+= vSize; 00778 *(CVector*)(dstPtr+0)= qcuv.V1; 00779 *(CUV*)(dstPtr+uvOfs)= qcuv.Uv1; 00780 *(CRGBA*)(dstPtr+colorOfs)= qcuv.Color1; 00781 dstPtr+= vSize; 00782 *(CVector*)(dstPtr+0)= qcuv.V2; 00783 *(CUV*)(dstPtr+uvOfs)= qcuv.Uv2; 00784 *(CRGBA*)(dstPtr+colorOfs)= qcuv.Color2; 00785 dstPtr+= vSize; 00786 *(CVector*)(dstPtr+0)= qcuv.V3; 00787 *(CUV*)(dstPtr+uvOfs)= qcuv.Uv3; 00788 *(CRGBA*)(dstPtr+colorOfs)= qcuv.Color3; 00789 dstPtr+= vSize; 00790 } 00791 00792 _Driver->activeVertexBuffer(vb); 00793 _Driver->renderQuads(convMat(mat), 0, nbQuads); 00794 } |
|
Draw the Line, taking color from primitive. With UV for texture.
Implements NL3D::UDriver. Definition at line 748 of file driver_user.cpp. References drawQuads(), NL3D_HAUTO_DRAW_DRIVER, NL3D_MEM_DRIVER, and q.
00749 { 00750 NL3D_MEM_DRIVER 00751 NL3D_HAUTO_DRAW_DRIVER; 00752 00753 const CQuadColorUV2 *qptr = &(q[0]); 00754 drawQuads(qptr , q.size(), mat); 00755 } |
|
Draw the Line, taking color from primitive. With UV for texture.
Implements NL3D::UDriver. Definition at line 738 of file driver_user.cpp. References NL3D_HAUTO_DRAW_DRIVER, NL3D_MEM_DRIVER, and q. Referenced by drawQuads().
00739 { 00740 NL3D_MEM_DRIVER 00741 NL3D_HAUTO_DRAW_DRIVER; 00742 00743 const CQuadColorUV *qptr = &(q[0]); 00744 drawQuads(qptr , q.size(), mat); 00745 } |
|
Draw a Triangle in 2D. Warning: this is slow...
Implements NL3D::UDriver. Definition at line 891 of file driver_user.cpp. References _MatFlat, drawTriangle(), NL3D_HAUTO_DRAW_DRIVER, NL3D_MEM_DRIVER, NLMISC::CVector::set(), NL3D::CMaterialUser::setBlend(), NL3D::CMaterialUser::setColor(), NLMISC::CTriangle::V0, NLMISC::CTriangle::V1, and NLMISC::CTriangle::V2.
00892 { 00893 NL3D_MEM_DRIVER 00894 NL3D_HAUTO_DRAW_DRIVER; 00895 00896 _MatFlat.setColor(col); 00897 _MatFlat.setBlend(true); 00898 00899 CTriangle tri; 00900 tri.V0.set(x0,y0,0); 00901 tri.V1.set(x1,y1,0); 00902 tri.V2.set(x2,y2,0); 00903 00904 drawTriangle(tri, _MatFlat); 00905 } |
|
Draw the Triangle, taking color from primitive. With UV for texture.
Implements NL3D::UDriver. Definition at line 629 of file driver_user.cpp. References _PBTri, _VBColorUv, NL3D::IDriver::activeVertexBuffer(), NLMISC::CTriangleColorUV::Color0, NLMISC::CTriangleColorUV::Color1, NLMISC::CTriangleColorUV::Color2, convMat(), NL3D_HAUTO_DRAW_DRIVER, NL3D_MEM_DRIVER, NL3D::IDriver::render(), NL3D::CVertexBuffer::setColor(), NL3D::CVertexBuffer::setTexCoord(), NL3D::CVertexBuffer::setVertexCoord(), NLMISC::CTriangleColorUV::Uv0, NLMISC::CTriangleColorUV::Uv1, NLMISC::CTriangleColorUV::Uv2, NLMISC::CTriangle::V0, NLMISC::CTriangle::V1, and NLMISC::CTriangle::V2.
00630 { 00631 NL3D_MEM_DRIVER 00632 NL3D_HAUTO_DRAW_DRIVER; 00633 00634 CVertexBuffer &vb= _VBColorUv; 00635 CPrimitiveBlock &pb= _PBTri; 00636 00637 vb.setVertexCoord (0, shp.V0); 00638 vb.setVertexCoord (1, shp.V1); 00639 vb.setVertexCoord (2, shp.V2); 00640 vb.setColor(0, shp.Color0); 00641 vb.setColor(1, shp.Color1); 00642 vb.setColor(2, shp.Color2); 00643 vb.setTexCoord (0, 0, shp.Uv0); 00644 vb.setTexCoord (1, 0, shp.Uv1); 00645 vb.setTexCoord (2, 0, shp.Uv2); 00646 00647 _Driver->activeVertexBuffer(vb); 00648 _Driver->render(pb, convMat(mat)); 00649 } |
|
Draw the Triangle, taking color from material. With UV for texture.
Implements NL3D::UDriver. Definition at line 610 of file driver_user.cpp. References _PBTri, _VBUv, NL3D::IDriver::activeVertexBuffer(), convMat(), NL3D_HAUTO_DRAW_DRIVER, NL3D_MEM_DRIVER, NL3D::IDriver::render(), NL3D::CVertexBuffer::setTexCoord(), NL3D::CVertexBuffer::setVertexCoord(), NLMISC::CTriangleUV::Uv0, NLMISC::CTriangleUV::Uv1, NLMISC::CTriangleUV::Uv2, NLMISC::CTriangle::V0, NLMISC::CTriangle::V1, and NLMISC::CTriangle::V2.
00611 { 00612 NL3D_MEM_DRIVER 00613 NL3D_HAUTO_DRAW_DRIVER; 00614 00615 CVertexBuffer &vb= _VBUv; 00616 CPrimitiveBlock &pb= _PBTri; 00617 00618 vb.setVertexCoord (0, shp.V0); 00619 vb.setVertexCoord (1, shp.V1); 00620 vb.setVertexCoord (2, shp.V2); 00621 vb.setTexCoord (0, 0, shp.Uv0); 00622 vb.setTexCoord (1, 0, shp.Uv1); 00623 vb.setTexCoord (2, 0, shp.Uv2); 00624 00625 _Driver->activeVertexBuffer(vb); 00626 _Driver->render(pb, convMat(mat)); 00627 } |
|
Draw the Triangle, taking color from primitive.
Implements NL3D::UDriver. Definition at line 591 of file driver_user.cpp. References _PBTri, _VBColor, NL3D::IDriver::activeVertexBuffer(), NLMISC::CTriangleColor::Color0, NLMISC::CTriangleColor::Color1, NLMISC::CTriangleColor::Color2, convMat(), NL3D_HAUTO_DRAW_DRIVER, NL3D_MEM_DRIVER, NL3D::IDriver::render(), NL3D::CVertexBuffer::setColor(), NL3D::CVertexBuffer::setVertexCoord(), NLMISC::CTriangle::V0, NLMISC::CTriangle::V1, and NLMISC::CTriangle::V2.
00592 { 00593 NL3D_MEM_DRIVER 00594 NL3D_HAUTO_DRAW_DRIVER; 00595 00596 CVertexBuffer &vb= _VBColor; 00597 CPrimitiveBlock &pb= _PBTri; 00598 00599 vb.setVertexCoord (0, shp.V0); 00600 vb.setVertexCoord (1, shp.V1); 00601 vb.setVertexCoord (2, shp.V2); 00602 vb.setColor(0, shp.Color0); 00603 vb.setColor(1, shp.Color1); 00604 vb.setColor(2, shp.Color2); 00605 00606 _Driver->activeVertexBuffer(vb); 00607 _Driver->render(pb, convMat(mat)); 00608 } |
|
Draw the Triangle, taking color from material.
Implements NL3D::UDriver. Definition at line 575 of file driver_user.cpp. References _PBTri, _VBFlat, NL3D::IDriver::activeVertexBuffer(), convMat(), NL3D_HAUTO_DRAW_DRIVER, NL3D_MEM_DRIVER, NL3D::IDriver::render(), NL3D::CVertexBuffer::setVertexCoord(), NLMISC::CTriangle::V0, NLMISC::CTriangle::V1, and NLMISC::CTriangle::V2. Referenced by drawTriangle().
00576 { 00577 NL3D_MEM_DRIVER 00578 NL3D_HAUTO_DRAW_DRIVER; 00579 00580 CVertexBuffer &vb= _VBFlat; 00581 CPrimitiveBlock &pb= _PBTri; 00582 00583 vb.setVertexCoord (0, shp.V0); 00584 vb.setVertexCoord (1, shp.V1); 00585 vb.setVertexCoord (2, shp.V2); 00586 00587 _Driver->activeVertexBuffer(vb); 00588 _Driver->render(pb, convMat(mat)); 00589 } |
|
Draw a Quad in 2D. Warning: this is slow...
Implements NL3D::UDriver. Definition at line 947 of file driver_user.cpp. References drawWiredQuad(), NL3D_HAUTO_DRAW_DRIVER, and NL3D_MEM_DRIVER.
00948 { 00949 NL3D_MEM_DRIVER 00950 NL3D_HAUTO_DRAW_DRIVER; 00951 00952 drawWiredQuad(xcenter-radius, ycenter-radius, xcenter+radius, ycenter+radius, col); 00953 } |
|
Draw a Quad in 2D. Warning: this is slow...
Implements NL3D::UDriver. Definition at line 932 of file driver_user.cpp. References drawLine(), NL3D_HAUTO_DRAW_DRIVER, and NL3D_MEM_DRIVER. Referenced by drawWiredQuad().
00933 { 00934 NL3D_MEM_DRIVER 00935 NL3D_HAUTO_DRAW_DRIVER; 00936 00937 // v-left 00938 drawLine(x0,y0,x0,y1,col); 00939 // v-right 00940 drawLine(x1,y0,x1,y1,col); 00941 // h-up 00942 drawLine(x0,y1,x1,y1,col); 00943 // h-bottom 00944 drawLine(x0,y0,x1,y0,col); 00945 } |
|
Implements NL3D::UDriver. Definition at line 1031 of file driver_user.cpp. References NL3D::IDriver::enableFog(), NL3D_HAUTO_UI_DRIVER, and NL3D_MEM_DRIVER.
01032 { 01033 NL3D_MEM_DRIVER 01034 NL3D_HAUTO_UI_DRIVER; 01035 01036 _Driver->enableFog(enable); 01037 } |
|
Implements NL3D::UDriver. Definition at line 1058 of file driver_user.cpp. References NL3D::IDriver::enableLight(), NL3D_HAUTO_UI_DRIVER, NL3D_MEM_DRIVER, num, and uint8.
01059 { 01060 NL3D_MEM_DRIVER 01061 NL3D_HAUTO_UI_DRIVER; 01062 01063 _Driver->enableLight (num, enable); 01064 } |
|
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. Implements NL3D::UDriver. Definition at line 1280 of file driver_user.cpp. References NL3D::IDriver::enableLowLevelKeyboard(), NL3D_HAUTO_UI_DRIVER, and NL3D_MEM_DRIVER.
01281 { 01282 NL3D_MEM_DRIVER 01283 NL3D_HAUTO_UI_DRIVER; 01284 01285 return _Driver->enableLowLevelKeyboard(enable); 01286 } |
|
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.
Implements NL3D::UDriver. Definition at line 1273 of file driver_user.cpp. References NL3D::IDriver::enableLowLevelMouse(), NL3D_HAUTO_UI_DRIVER, and NL3D_MEM_DRIVER.
01274 { 01275 NL3D_MEM_DRIVER 01276 NL3D_HAUTO_UI_DRIVER; 01277 01278 return _Driver->enableLowLevelMouse(enable, exclusive); 01279 } |
|
Enable the sum of texture memory used since last swapBuffers() call. To retrieve the memory used call getUsedTextureMemory(). Implements NL3D::UDriver. Definition at line 209 of file driver_user2.cpp. References NL3D::IDriver::enableUsedTextureMemorySum(), and NL3D_MEM_DRIVER.
00210 { 00211 NL3D_MEM_DRIVER 00212 _Driver->enableUsedTextureMemorySum (enable); 00213 } |
|
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. Implements NL3D::UDriver. Definition at line 231 of file driver_user2.cpp. References NL3D::IDriver::endProfileVBHardLock().
00232 { 00233 _Driver->endProfileVBHardLock(result); 00234 } |
|
Enum All Fullscreen modes.
Implements NL3D::UDriver. Definition at line 189 of file driver_user.cpp. References NL3D::IDriver::enumModes(), NL3D::ModeList, NL3D_HAUTO_UI_DRIVER, NL3D_MEM_DRIVER, sint, and NL3D::UDriver::TModeList.
00190 { 00191 NL3D_HAUTO_UI_DRIVER; 00192 NL3D_MEM_DRIVER 00193 00194 ModeList dlist; 00195 TModeList retlist; 00196 00197 dlist= _Driver->enumModes(); 00198 for(sint i=0;i<(sint)dlist.size();i++) 00199 { 00200 retlist.push_back(CMode(dlist[i].Width, dlist[i].Height, dlist[i].Depth, dlist[i].Windowed)); 00201 } 00202 00203 return retlist; 00204 } |
|
fill the RGBA back buffer
Implements NL3D::UDriver. Definition at line 1258 of file driver_user.cpp. References NL3D::IDriver::fillBuffer(), NL3D_HAUTO_UI_DRIVER, and NL3D_MEM_DRIVER.
01259 { 01260 NL3D_MEM_DRIVER 01261 NL3D_HAUTO_UI_DRIVER; 01262 01263 return _Driver->fillBuffer(bitmap); 01264 } |
|
Implements NL3D::UDriver. Definition at line 1023 of file driver_user.cpp. References NL3D::IDriver::fogEnabled(), NL3D_HAUTO_UI_DRIVER, and NL3D_MEM_DRIVER.
01024 { 01025 NL3D_MEM_DRIVER 01026 NL3D_HAUTO_UI_DRIVER; 01027 01028 return _Driver->fogEnabled(); 01029 } |
|
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 Implements NL3D::UDriver. Definition at line 1132 of file driver_user.cpp. References NL3D::IDriver::forceDXTCCompression(), NL3D_HAUTO_UI_DRIVER, and NL3D_MEM_DRIVER.
01133 { 01134 NL3D_MEM_DRIVER 01135 NL3D_HAUTO_UI_DRIVER; 01136 01137 _Driver->forceDXTCCompression(dxtcComp); 01138 } |
|
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 Implements NL3D::UDriver. Definition at line 1139 of file driver_user.cpp. References NL3D::IDriver::forceTextureResize(), NL3D_HAUTO_UI_DRIVER, NL3D_MEM_DRIVER, and uint.
01140 { 01141 NL3D_MEM_DRIVER 01142 NL3D_HAUTO_UI_DRIVER; 01143 01144 _Driver->forceTextureResize(divisor); 01145 } |
|
Return the amount of AGP memory allocated by initVertexArrayRange() to store vertices. Implements NL3D::UDriver. Definition at line 1222 of file driver_user.cpp. References NL3D::IDriver::getAvailableVertexAGPMemory(), and uint32.
01223 { 01224 return _Driver->getAvailableVertexAGPMemory (); 01225 } |
|
Return the amount of video memory allocated by initVertexArrayRange() to store vertices. Implements NL3D::UDriver. Definition at line 1226 of file driver_user.cpp. References NL3D::IDriver::getAvailableVertexVRAMMemory(), and uint32.
01227 { 01228 return _Driver->getAvailableVertexVRAMMemory (); 01229 } |
|
get the RGBA back buffer
Implements NL3D::UDriver. Definition at line 1230 of file driver_user.cpp. References NL3D::IDriver::getBuffer(), NL3D_HAUTO_UI_DRIVER, and NL3D_MEM_DRIVER.
01231 { 01232 NL3D_MEM_DRIVER 01233 NL3D_HAUTO_UI_DRIVER; 01234 01235 _Driver->getBuffer (bitmap) ; 01236 } |
|
get a part of the RGBA back buffer NB: 0,0 is the bottom left corner of the screen.
Implements NL3D::UDriver. Definition at line 1244 of file driver_user.cpp. References NL3D::IDriver::getBufferPart(), NL3D_HAUTO_UI_DRIVER, and NL3D_MEM_DRIVER.
01245 { 01246 NL3D_MEM_DRIVER 01247 NL3D_HAUTO_UI_DRIVER; 01248 01249 _Driver->getBufferPart (bitmap, rect) ; 01250 } |
|
Return an OS dependent window handle. Under Win32, it is a HWND.
Implements NL3D::UDriver. Definition at line 333 of file driver_user.cpp. References NL3D::IDriver::getDisplay(), NL3D_HAUTO_UI_DRIVER, and NL3D_MEM_DRIVER.
00334 { 00335 NL3D_MEM_DRIVER 00336 NL3D_HAUTO_UI_DRIVER; 00337 00338 return _Driver->getDisplay (); 00339 } |
|
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. Implements NL3D::UDriver. Definition at line 1288 of file driver_user.cpp. References NL3D::IDriver::getDoubleClickDelay(), NL3D_HAUTO_UI_DRIVER, NL3D_MEM_DRIVER, and uint.
01289 { 01290 NL3D_MEM_DRIVER 01291 NL3D_HAUTO_UI_DRIVER; 01292 return _Driver->getDoubleClickDelay(hardwareMouse); 01293 } |
|
Definition at line 462 of file driver_user.h. References NL3D_MEM_DRIVER. Referenced by NL3D::CSceneUser::CSceneUser(), NL3D::CShapeBankUser::preLoadShapesFromBNP(), NL3D::CShapeBankUser::preLoadShapesFromDirectory(), and updateAsyncTexture().
00463 { 00464 NL3D_MEM_DRIVER 00465 return _Driver; 00466 } |
|
Get driver informations. get the nel name of the driver (ex: "Opengl 1.2 NeL Driver") Implements NL3D::UDriver. Definition at line 1169 of file driver_user.cpp. References NL3D::IDriver::getDriverInformation(), NL3D_HAUTO_UI_DRIVER, and NL3D_MEM_DRIVER.
01170 { 01171 NL3D_MEM_DRIVER 01172 NL3D_HAUTO_UI_DRIVER; 01173 01174 return _Driver->getDriverInformation(); 01175 } |
|
get cahce information.
Implements NL3D::UDriver. Definition at line 110 of file driver_user2.cpp. References _FontManager, NL3D::CFontManager::getCacheInformation(), and NL3D_MEM_DRIVER.
00111 { 00112 NL3D_MEM_DRIVER 00113 00114 return _FontManager.getCacheInformation(); 00115 } |
|
Implements NL3D::UDriver. Definition at line 419 of file driver_user.cpp. References _CurrentMatrixContext, NL3D::CDriverUser::CMatrixContext::Frustum, NL3D_HAUTO_UI_DRIVER, and NL3D_MEM_DRIVER.
00420 { 00421 NL3D_MEM_DRIVER 00422 NL3D_HAUTO_UI_DRIVER; 00423 00424 return _CurrentMatrixContext.Frustum; 00425 } |
|
Driver information/Queries.
Implements NL3D::UDriver. Definition at line 1162 of file driver_user.cpp. References NL3D::IDriver::getImplementationVersion(), NL3D_HAUTO_UI_DRIVER, NL3D_MEM_DRIVER, and uint32.
01163 { 01164 NL3D_MEM_DRIVER 01165 NL3D_HAUTO_UI_DRIVER; 01166 01167 return _Driver->getImplementationVersion (); 01168 } |
|
get what the system really allows
Implements NL3D::UDriver. Definition at line 1375 of file driver_user.cpp. References _AsyncTextureManager, NL3D::CAsyncTextureManager::getLastTextureSizeGot(), NL3D_HAUTO_TEX_DRIVER, NL3D_MEM_DRIVER, and uint.
01376 { 01377 NL3D_MEM_DRIVER 01378 NL3D_HAUTO_TEX_DRIVER; 01379 01380 return _AsyncTextureManager.getLastTextureSizeGot(); 01381 } |
|
Check wether 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 ...) Implements NL3D::UDriver. Definition at line 1295 of file driver_user.cpp. References NL3D::IDriver::getLowLevelInputDeviceManager(), NL3D_HAUTO_UI_DRIVER, and NL3D_MEM_DRIVER.
01296 { 01297 NL3D_MEM_DRIVER 01298 NL3D_HAUTO_UI_DRIVER; 01299 01300 return _Driver->getLowLevelInputDeviceManager(); 01301 } |
|
Implements NL3D::UDriver. Definition at line 453 of file driver_user.cpp. References _CurrentMatrixContext, NL3D::CDriverUser::CMatrixContext::ModelMatrix, NL3D_HAUTO_UI_DRIVER, and NL3D_MEM_DRIVER.
00454 { 00455 NL3D_MEM_DRIVER 00456 NL3D_HAUTO_UI_DRIVER; 00457 00458 return _CurrentMatrixContext.ModelMatrix; 00459 } |
|
Before rendering via a driver in a thread, must activate() (per thread).
Implements NL3D::UDriver. Definition at line 274 of file driver_user.cpp. References NL3D::IDriver::getModes(), res, and uint.
|
|
Get the number of texture stage avaliable, for multitexturing (Normal material shaders). Valid only after setDisplay().
Implements NL3D::UDriver. Definition at line 1183 of file driver_user.cpp. References NL3D::IDriver::getNbTextureStages(), NL3D_HAUTO_UI_DRIVER, NL3D_MEM_DRIVER, and sint.
01184 { 01185 NL3D_MEM_DRIVER 01186 NL3D_HAUTO_UI_DRIVER; 01187 01188 return _Driver->getNbTextureStages(); 01189 } |
|
Get the global polygon mode.
Implements NL3D::UDriver. Definition at line 1114 of file driver_user.cpp. References NL3D::IDriver::getPolygonMode(), NL3D_HAUTO_UI_DRIVER, NL3D_MEM_DRIVER, and nlstop.
01115 { 01116 NL3D_MEM_DRIVER 01117 NL3D_HAUTO_UI_DRIVER; 01118 01119 IDriver::TPolygonMode dmode; 01120 UDriver::TPolygonMode umode=UDriver::Filled; 01121 dmode= _Driver->getPolygonMode(); 01122 switch(dmode) 01123 { 01124 case IDriver::Filled: umode= UDriver::Filled; break; 01125 case IDriver::Line: umode= UDriver::Line; break; 01126 case IDriver::Point: umode= UDriver::Point; break; 01127 default: nlstop; 01128 }; 01129 01130 return umode; 01131 } |
|
Implements NL3D::UDriver. Definition at line 385 of file driver_user.cpp. References _CurrentMatrixContext, NL3D_HAUTO_UI_DRIVER, NL3D_MEM_DRIVER, and NL3D::CDriverUser::CMatrixContext::Scissor.
00386 { 00387 NL3D_MEM_DRIVER 00388 NL3D_HAUTO_UI_DRIVER; 00389 00390 return _CurrentMatrixContext.Scissor; 00391 } |
|
Get the global shape bank. The shape bank handles all the shape caches.
Implements NL3D::UDriver. Definition at line 414 of file driver_user.h. References _ShapeBank, and NL3D_MEM_DRIVER.
00415 { 00416 NL3D_MEM_DRIVER 00417 return &_ShapeBank; 00418 } |
|
This clear the buffers (ALL the buffer :) ).
Implements NL3D::UDriver. Definition at line 1429 of file driver_user.cpp. References NL3D::IDriver::getSwapVBLInterval(), NL3D_HAUTO_UI_DRIVER, NL3D_MEM_DRIVER, and uint.
01430 { 01431 NL3D_MEM_DRIVER 01432 NL3D_HAUTO_UI_DRIVER 01433 01434 return _Driver->getSwapVBLInterval(); 01435 } |
|
get the async texture Size asked (ie maybe bigger than MaxTotalTextureSize).
Implements NL3D::UDriver. Definition at line 1367 of file driver_user.cpp. References _AsyncTextureManager, NL3D::CAsyncTextureManager::getTotalTextureSizeAsked(), NL3D_HAUTO_TEX_DRIVER, NL3D_MEM_DRIVER, and uint.
01368 { 01369 NL3D_MEM_DRIVER 01370 NL3D_HAUTO_TEX_DRIVER; 01371 01372 return _AsyncTextureManager.getTotalTextureSizeAsked(); 01373 } |
|
Return the amount of texture video memory used since last swapBuffers() call. Before use this method, you should enable the sum with enableUsedTextureMemorySum(). Implements NL3D::UDriver. Definition at line 217 of file driver_user2.cpp. References NL3D::IDriver::getUsedTextureMemory(), NL3D_MEM_DRIVER, and uint32.
00218 { 00219 NL3D_MEM_DRIVER 00220 return _Driver->getUsedTextureMemory (); 00221 } |
|
Get videocard informations. get the official name of the driver Implements NL3D::UDriver. Definition at line 1176 of file driver_user.cpp. References NL3D::IDriver::getVideocardInformation(), NL3D_HAUTO_UI_DRIVER, and NL3D_MEM_DRIVER.
01177 { 01178 NL3D_MEM_DRIVER 01179 NL3D_HAUTO_UI_DRIVER; 01180 01181 return _Driver->getVideocardInformation (); 01182 } |
|
Implements NL3D::UDriver. Definition at line 436 of file driver_user.cpp. References _CurrentMatrixContext, NL3D_HAUTO_UI_DRIVER, NL3D_MEM_DRIVER, and NL3D::CDriverUser::CMatrixContext::ViewMatrix.
00437 { 00438 NL3D_MEM_DRIVER 00439 NL3D_HAUTO_UI_DRIVER; 00440 00441 return _CurrentMatrixContext.ViewMatrix; 00442 } |
|
Implements NL3D::UDriver. Definition at line 402 of file driver_user.cpp. References _CurrentMatrixContext, NL3D_HAUTO_UI_DRIVER, NL3D_MEM_DRIVER, and NL3D::CDriverUser::CMatrixContext::Viewport.
00403 { 00404 NL3D_MEM_DRIVER 00405 NL3D_HAUTO_UI_DRIVER; 00406 00407 return _CurrentMatrixContext.Viewport; 00408 } |
|
Get the height of the window.
Implements NL3D::UDriver. Definition at line 1206 of file driver_user.cpp. References NL3D::IDriver::getWindowSize(), height, NL3D_HAUTO_UI_DRIVER, NL3D_MEM_DRIVER, uint, uint32, and width.
01207 { 01208 NL3D_MEM_DRIVER 01209 NL3D_HAUTO_UI_DRIVER; 01210 01211 uint32 width, height; 01212 _Driver->getWindowSize (width, height); 01213 return height; 01214 } |
|
Get the x and y coord of the windows always (0,0) in fullscreen.
Implements NL3D::UDriver. Definition at line 1215 of file driver_user.cpp. References NL3D::IDriver::getWindowPos(), NL3D_HAUTO_UI_DRIVER, NL3D_MEM_DRIVER, uint32, x, and y.
01216 { 01217 NL3D_MEM_DRIVER 01218 NL3D_HAUTO_UI_DRIVER; 01219 01220 _Driver->getWindowPos (x, y); 01221 } |
|
Get the width and the height of the window.
Implements NL3D::UDriver. Definition at line 1190 of file driver_user.cpp. References NL3D::IDriver::getWindowSize(), height, NL3D_HAUTO_UI_DRIVER, NL3D_MEM_DRIVER, uint32, and width.
01191 { 01192 NL3D_MEM_DRIVER 01193 NL3D_HAUTO_UI_DRIVER; 01194 01195 _Driver->getWindowSize (width, height); 01196 } |
|
Get the width of the window.
Implements NL3D::UDriver. Definition at line 1197 of file driver_user.cpp. References NL3D::IDriver::getWindowSize(), height, NL3D_HAUTO_UI_DRIVER, NL3D_MEM_DRIVER, uint, uint32, and width.
01198 { 01199 NL3D_MEM_DRIVER 01200 NL3D_HAUTO_UI_DRIVER; 01201 01202 uint32 width, height; 01203 _Driver->getWindowSize (width, height); 01204 return width; 01205 } |
|
get the ZBuffer (back buffer).
Implements NL3D::UDriver. Definition at line 1237 of file driver_user.cpp. References NL3D::IDriver::getZBuffer(), NL3D_HAUTO_UI_DRIVER, and NL3D_MEM_DRIVER.
01238 { 01239 NL3D_MEM_DRIVER 01240 NL3D_HAUTO_UI_DRIVER; 01241 01242 _Driver->getZBuffer (zbuffer) ; 01243 } |
|
get a part of the ZBuffer (back buffer). NB: 0,0 is the bottom left corner of the screen.
Implements NL3D::UDriver. Definition at line 1251 of file driver_user.cpp. References NL3D::IDriver::getZBufferPart(), NL3D_HAUTO_UI_DRIVER, and NL3D_MEM_DRIVER.
01252 { 01253 NL3D_MEM_DRIVER 01254 NL3D_HAUTO_UI_DRIVER; 01255 01256 _Driver->getZBufferPart (zbuffer, rect) ; 01257 } |
|
Return true if driver is still active. Return false else. If he user close the window, must return false.
Implements NL3D::UDriver. Definition at line 323 of file driver_user.cpp. References NL3D::IDriver::isActive(), NL3D_HAUTO_UI_DRIVER, and NL3D_MEM_DRIVER.
00324 { 00325 NL3D_MEM_DRIVER 00326 NL3D_HAUTO_UI_DRIVER; 00327 00328 return _Driver->isActive(); 00329 } |
|
Load a .hlsBank, add it to the HLSManager of the AsyncTextureManager. Use CPath::lookup. throw EPathNotFound if error Implements NL3D::UDriver. Definition at line 1393 of file driver_user.cpp. References _AsyncTextureManager, NL3D::CHLSTextureManager::addBank(), NL3D::CAsyncTextureManager::HLSManager, NL3D_HAUTO_TEX_DRIVER, NL3D_MEM_DRIVER, NLMISC::CIFile::open(), and NLMISC::IStream::serial().
01394 { 01395 NL3D_MEM_DRIVER 01396 NL3D_HAUTO_TEX_DRIVER; 01397 01398 // load it. 01399 CHLSTextureBank *hlsBank= new CHLSTextureBank; 01400 try 01401 { 01402 std::string path= CPath::lookup(fileName); 01403 CIFile fIn; 01404 if(!fIn.open(path)) 01405 throw EPathNotFound(path); 01406 fIn.serial(*hlsBank); 01407 } 01408 catch(Exception &) 01409 { 01410 delete hlsBank; 01411 throw; 01412 } 01413 01414 // add it to the manager. 01415 _AsyncTextureManager.HLSManager.addBank(hlsBank); 01416 } |
|
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 :). Implements NL3D::UDriver. Definition at line 183 of file driver_user2.cpp. References NL3D_MEM_DRIVER, NL3D::IDriver::profileAllocatedTextureMemory(), and uint32.
00184 { 00185 NL3D_MEM_DRIVER 00186 00187 return _Driver->profileAllocatedTextureMemory(); 00188 } |
|
Get the number of primitives rendered from the last swapBuffers() call.
Implements NL3D::UDriver. Definition at line 174 of file driver_user2.cpp. References NL3D_MEM_DRIVER, and NL3D::IDriver::profileRenderedPrimitives().
00175 { 00176 NL3D_MEM_DRIVER 00177 00178 _Driver->profileRenderedPrimitives(pIn, pOut); 00179 } |
|
Get the number of material setuped from the last swapBuffers() call. Implements NL3D::UDriver. Definition at line 192 of file driver_user2.cpp. References NL3D_MEM_DRIVER, NL3D::IDriver::profileSetupedMaterials(), and uint32.
00193 { 00194 NL3D_MEM_DRIVER 00195 00196 return _Driver->profileSetupedMaterials(); 00197 } |
|
Get the number of matrix setuped from the last swapBuffers() call. Implements NL3D::UDriver. Definition at line 201 of file driver_user2.cpp. References NL3D_MEM_DRIVER, NL3D::IDriver::profileSetupedModelMatrix(), and uint32.
00202 { 00203 NL3D_MEM_DRIVER 00204 return _Driver->profileSetupedModelMatrix(); 00205 } |
|
display VBhards allocated Implements NL3D::UDriver. Definition at line 237 of file driver_user2.cpp. References NL3D::IDriver::profileVBHardAllocation().
00238 { 00239 _Driver->profileVBHardAllocation(result); 00240 } |
|
Purge static memory Definition at line 106 of file driver_user.cpp. References NL3D::GetWaterPoolManager(), NL3D_MEM_DRIVER, and NL3D::CWaterPoolManager::reset().
00107 { 00108 NL3D_MEM_DRIVER 00109 CPointLight::purge (); 00110 GetWaterPoolManager().reset(); 00111 contReset(CLandscapeGlobals::PassTriArray); 00112 } |
|
|
Definition at line 467 of file driver_user.h. References NL3D_MEM_DRIVER, and setupMatrixContext(). Referenced by NL3D::CTextContextUser::printAt(), NL3D::CTextContextUser::printfAt(), NL3D::CSceneUser::render(), and NL3D::CTextContextUser::render3D().
00468 { 00469 NL3D_MEM_DRIVER 00470 setupMatrixContext(); 00471 } |
|
Definition at line 351 of file driver_user.cpp. References _CurrentMatrixContext, NL3D::CFrustum::Bottom, NL3D::CFrustum::Far, NL3D::CDriverUser::CMatrixContext::Frustum, NL3D::CFrustum::Left, NL3D::CDriverUser::CMatrixContext::ModelMatrix, NL3D::CFrustum::Near, NL3D_HAUTO_UI_DRIVER, NL3D_MEM_DRIVER, NL3D::CFrustum::Perspective, NL3D::CFrustum::Right, NL3D::IDriver::setFrustum(), NL3D::IDriver::setupModelMatrix(), NL3D::IDriver::setupViewMatrix(), NL3D::CFrustum::Top, and NL3D::CDriverUser::CMatrixContext::ViewMatrix. Referenced by NL3D::CTextContextUser::flushRenderBuffer().
00352 { 00353 NL3D_MEM_DRIVER 00354 NL3D_HAUTO_UI_DRIVER; 00355 00356 CFrustum &f= _CurrentMatrixContext.Frustum; 00357 _Driver->setFrustum(f.Left, f.Right, f.Bottom, f.Top, f.Near, f.Far, f.Perspective); 00358 _Driver->setupViewMatrix(_CurrentMatrixContext.ViewMatrix); 00359 _Driver->setupModelMatrix(_CurrentMatrixContext.ModelMatrix); 00360 } |
|
Implements NL3D::UDriver. Definition at line 1066 of file driver_user.cpp. References NL3D_HAUTO_UI_DRIVER, NL3D_MEM_DRIVER, and NL3D::IDriver::setAmbientColor().
01067 { 01068 NL3D_MEM_DRIVER 01069 NL3D_HAUTO_UI_DRIVER; 01070 01071 _Driver->setAmbientColor (color); 01072 } |
|
If true, capture the mouse to force it to stay under the window.
Implements NL3D::UDriver. Definition at line 1316 of file driver_user.cpp. References NL3D_HAUTO_UI_DRIVER, NL3D_MEM_DRIVER, and NL3D::IDriver::setCapture().
01317 { 01318 NL3D_MEM_DRIVER 01319 NL3D_HAUTO_UI_DRIVER; 01320 01321 _Driver->setCapture (b); 01322 } |
|
|
Set the maxMemory used for the FontManager.
Implements NL3D::UDriver. Definition at line 103 of file driver_user2.cpp. References _FontManager, NL3D_MEM_DRIVER, NL3D::CFontManager::setMaxMemory(), and uint.
00104 { 00105 NL3D_MEM_DRIVER 00106 00107 _FontManager.setMaxMemory(maxMem); 00108 } |
|
Set the active Frustum for rendering. Implements NL3D::UDriver. Definition at line 410 of file driver_user.cpp. References _CurrentMatrixContext, NL3D::CDriverUser::CMatrixContext::Frustum, NL3D_HAUTO_UI_DRIVER, NL3D_MEM_DRIVER, and setupMatrixContext(). Referenced by setMatrixMode3D().
00411 { 00412 NL3D_MEM_DRIVER 00413 NL3D_HAUTO_UI_DRIVER; 00414 00415 _CurrentMatrixContext.Frustum= frust; 00416 setupMatrixContext(); 00417 } |
|
Implements NL3D::UDriver. Definition at line 1049 of file driver_user.cpp. References NL3D::CLightUser::_Light, NL3D_HAUTO_UI_DRIVER, NL3D_MEM_DRIVER, num, NL3D::IDriver::setLight(), and uint8.
01050 { 01051 NL3D_MEM_DRIVER 01052 NL3D_HAUTO_UI_DRIVER; 01053 01054 CLightUser *plight= (CLightUser*)&light; 01055 _Driver->setLight (num, plight->_Light); 01056 } |
|
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!!! Implements NL3D::UDriver. Definition at line 464 of file driver_user.cpp. References _CurrentMatrixContext, NL3D::CDriverUser::CMatrixContext::Frustum, NLMISC::CMatrix::identity(), NL3D::CDriverUser::CMatrixContext::ModelMatrix, NL3D_HAUTO_UI_DRIVER, NL3D_MEM_DRIVER, NLMISC::CMatrix::setRot(), setupMatrixContext(), and NL3D::CDriverUser::CMatrixContext::ViewMatrix.
00465 { 00466 NL3D_MEM_DRIVER 00467 NL3D_HAUTO_UI_DRIVER; 00468 00469 _CurrentMatrixContext.Frustum= frust; 00470 // We still work in NL3D coordinates, so must convert y to z. 00471 CVector I(1,0,0); 00472 CVector J(0,0,1); 00473 CVector K(0,-1,0); 00474 00475 _CurrentMatrixContext.ViewMatrix.identity(); 00476 _CurrentMatrixContext.ViewMatrix.setRot(I,J,K, true); 00477 _CurrentMatrixContext.ModelMatrix.identity(); 00478 00479 setupMatrixContext(); 00480 } |
|
Tool function: same as setMatrixMode2D(), using a CFrustum(0,1,0,1,-1,1,false).
Definition at line 84 of file driver_user.cpp. References NL3D_MEM_DRIVER, and NL3D::UDriver::setMatrixMode2D(). Referenced by setDisplay().
00085 { 00086 NL3D_MEM_DRIVER 00087 setMatrixMode2D(CFrustum(0.0f,1.0f,0.0f,1.0f,-1.0f,1.0f,false)); 00088 } |
|
Tool function: same as setMatrixMode2D(), using a CFrustum(0,4/3,0,1,-1,1,false).
Definition at line 90 of file driver_user.cpp. References NL3D_MEM_DRIVER, and NL3D::UDriver::setMatrixMode2D().
00091 { 00092 NL3D_MEM_DRIVER 00093 setMatrixMode2D(CFrustum(0.0f,4.0f/3.0f,0.0f,1.0f,-1.0f,1.0f,false)); 00094 } |
|
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. Implements NL3D::UDriver. Definition at line 482 of file driver_user.cpp. References NL3D::UCamera::getFrustum(), NL3D::UTransformable::getMatrix(), NLMISC::CMatrix::invert(), NL3D_HAUTO_UI_DRIVER, NL3D_MEM_DRIVER, setFrustum(), setModelMatrix(), and setViewMatrix().
00483 { 00484 NL3D_MEM_DRIVER 00485 NL3D_HAUTO_UI_DRIVER; 00486 00487 // Retrieve the matrix and frustum from the camera. 00488 CMatrix viewMat; 00489 viewMat= camera.getMatrix(); 00490 viewMat.invert(); 00491 setViewMatrix(viewMat); 00492 setModelMatrix(CMatrix::Identity); 00493 setFrustum(camera.getFrustum()); 00494 } |
|
Before rendering via a driver in a thread, must activate() (per thread).
Implements NL3D::UDriver. Definition at line 268 of file driver_user.cpp. References NL3D::IDriver::setMode().
00269 { 00270 return _Driver->setMode(GfxMode(mode.Width, mode.Height, mode.Depth, mode.Windowed, false, mode.Frequency)); 00271 } |
|
Set the active ModelMatrix for rendering. NB: UScene ignore this function (use camera parameters instead). Implements NL3D::UDriver. Definition at line 444 of file driver_user.cpp. References _CurrentMatrixContext, NL3D::CDriverUser::CMatrixContext::ModelMatrix, NL3D_HAUTO_UI_DRIVER, NL3D_MEM_DRIVER, and setupMatrixContext(). Referenced by setMatrixMode3D().
00445 { 00446 NL3D_MEM_DRIVER 00447 NL3D_HAUTO_UI_DRIVER; 00448 00449 _CurrentMatrixContext.ModelMatrix= mat; 00450 setupMatrixContext(); 00451 } |
|
Setup monitor color properties. Return false if setup failed. Implements NL3D::UDriver. Definition at line 1146 of file driver_user.cpp. References NL3D_HAUTO_UI_DRIVER, NL3D_MEM_DRIVER, and NL3D::IDriver::setMonitorColorProperties().
01147 { 01148 NL3D_MEM_DRIVER 01149 NL3D_HAUTO_UI_DRIVER; 01150 01151 return _Driver->setMonitorColorProperties (properties); 01152 } |
|
x and y must be between 0.0 and 1.0
Implements NL3D::UDriver. Definition at line 1309 of file driver_user.cpp. References NL3D_HAUTO_UI_DRIVER, NL3D_MEM_DRIVER, NL3D::IDriver::setMousePos(), x, and y.
01310 { 01311 NL3D_MEM_DRIVER 01312 NL3D_HAUTO_UI_DRIVER; 01313 01314 _Driver->setMousePos (x, y); 01315 } |
|
Set the global polygon mode. Can be filled, line or point. The implementation driver must call IDriver::setPolygonMode and active this mode.
Implements NL3D::UDriver. Definition at line 1076 of file driver_user.cpp. References NL3D_HAUTO_UI_DRIVER, NL3D_MEM_DRIVER, nlstop, and NL3D::IDriver::setPolygonMode().
01077 { 01078 NL3D_MEM_DRIVER 01079 NL3D_HAUTO_UI_DRIVER; 01080 01081 IDriver::TPolygonMode dmode=IDriver::Filled; 01082 switch(mode) 01083 { 01084 case Filled: dmode= IDriver::Filled; break; 01085 case Line: dmode= IDriver::Line; break; 01086 case Point: dmode= IDriver::Point; break; 01087 default: nlstop; 01088 }; 01089 _Driver->setPolygonMode (dmode); 01090 } |
|
Set the active scissor for rendering. Default to fullscreen. Implements NL3D::UDriver. Definition at line 376 of file driver_user.cpp. References _CurrentMatrixContext, NL3D_HAUTO_UI_DRIVER, NL3D_MEM_DRIVER, NL3D::CDriverUser::CMatrixContext::Scissor, and setupMatrixContext().
00377 { 00378 NL3D_MEM_DRIVER 00379 NL3D_HAUTO_UI_DRIVER; 00380 00381 _CurrentMatrixContext.Scissor= sc; 00382 setupMatrixContext(); 00383 } |
|
This clear the buffers (ALL the buffer :) ).
Implements NL3D::UDriver. Definition at line 1420 of file driver_user.cpp. References NL3D_HAUTO_UI_DRIVER, NL3D_MEM_DRIVER, NL3D::IDriver::setSwapVBLInterval(), and uint.
01421 { 01422 NL3D_MEM_DRIVER 01423 NL3D_HAUTO_UI_DRIVER 01424 01425 _Driver->setSwapVBLInterval(interval); 01426 } |
|
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. Implements NL3D::UDriver. Definition at line 1333 of file driver_user.cpp. References _AsyncTextureManager, NL3D_HAUTO_TEX_DRIVER, NL3D_MEM_DRIVER, NL3D::CAsyncTextureManager::setupLod(), and uint.
01334 { 01335 NL3D_MEM_DRIVER 01336 NL3D_HAUTO_TEX_DRIVER; 01337 01338 _AsyncTextureManager.setupLod(baseLevel, maxLevel); 01339 } |
|
Setup max texture upload in driver per updateAsyncTexture() call.
Implements NL3D::UDriver. Definition at line 1341 of file driver_user.cpp. References _AsyncTextureManager, NL3D_HAUTO_TEX_DRIVER, NL3D_MEM_DRIVER, NL3D::CAsyncTextureManager::setupMaxUploadPerFrame(), and uint.
01342 { 01343 NL3D_MEM_DRIVER 01344 NL3D_HAUTO_TEX_DRIVER; 01345 01346 _AsyncTextureManager.setupMaxUploadPerFrame(maxup); 01347 } |
|
setup fog parameters. fog must enabled to see result. start and end are in [0,1] range.
Implements NL3D::UDriver. Definition at line 1039 of file driver_user.cpp. References NL3D_HAUTO_UI_DRIVER, NL3D_MEM_DRIVER, and NL3D::IDriver::setupFog().
01040 { 01041 NL3D_MEM_DRIVER 01042 NL3D_HAUTO_UI_DRIVER; 01043 01044 _Driver->setupFog(start, end, color); 01045 } |
|
|
Setup max texture HLS Coloring per update() call (in bytes). Default to 20K.
Implements NL3D::UDriver. Definition at line 1384 of file driver_user.cpp. References _AsyncTextureManager, NL3D_HAUTO_TEX_DRIVER, NL3D_MEM_DRIVER, NL3D::CAsyncTextureManager::setupMaxHLSColoringPerFrame(), and uint.
01385 { 01386 NL3D_MEM_DRIVER 01387 NL3D_HAUTO_TEX_DRIVER; 01388 01389 _AsyncTextureManager.setupMaxHLSColoringPerFrame(maxCol); 01390 } |
|
Setup max total texture size allowed. Default is 10Mo.
Implements NL3D::UDriver. Definition at line 1359 of file driver_user.cpp. References _AsyncTextureManager, NL3D_HAUTO_TEX_DRIVER, NL3D_MEM_DRIVER, NL3D::CAsyncTextureManager::setupMaxTotalTextureSize(), and uint.
01360 { 01361 NL3D_MEM_DRIVER 01362 NL3D_HAUTO_TEX_DRIVER; 01363 01364 _AsyncTextureManager.setupMaxTotalTextureSize(maxText); 01365 } |
|
Set the active ViewMatrix for rendering. NB: this is the view matrix, which is the inverse of camera matrix. Implements NL3D::UDriver. Definition at line 427 of file driver_user.cpp. References _CurrentMatrixContext, NL3D_HAUTO_UI_DRIVER, NL3D_MEM_DRIVER, setupMatrixContext(), and NL3D::CDriverUser::CMatrixContext::ViewMatrix. Referenced by setMatrixMode3D().
00428 { 00429 NL3D_MEM_DRIVER 00430 NL3D_HAUTO_UI_DRIVER; 00431 00432 _CurrentMatrixContext.ViewMatrix= mat; 00433 setupMatrixContext(); 00434 } |
|
Set the active viewport for rendering. Default to fullscreen. Implements NL3D::UDriver. Definition at line 393 of file driver_user.cpp. References _CurrentMatrixContext, NL3D_HAUTO_UI_DRIVER, NL3D_MEM_DRIVER, setupMatrixContext(), and NL3D::CDriverUser::CMatrixContext::Viewport.
00394 { 00395 NL3D_MEM_DRIVER 00396 NL3D_HAUTO_UI_DRIVER; 00397 00398 _CurrentMatrixContext.Viewport= vp; 00399 setupMatrixContext(); 00400 } |
|
show cursor if b is true, or hide it if b is false
Implements NL3D::UDriver. Definition at line 1302 of file driver_user.cpp. References NL3D_HAUTO_UI_DRIVER, NL3D_MEM_DRIVER, and NL3D::IDriver::showCursor().
01303 { 01304 NL3D_MEM_DRIVER 01305 NL3D_HAUTO_UI_DRIVER; 01306 01307 _Driver->showCursor(b); 01308 } |
|
If the driver support it, enable profile VBHard locks. No-Op if already profiling Implements NL3D::UDriver. Definition at line 225 of file driver_user2.cpp. References NL3D::IDriver::startProfileVBHardLock().
00226 { 00227 _Driver->startProfileVBHardLock(); 00228 } |
|
This swap the back and front buffer (ALL the buffer :) ).
Implements NL3D::UDriver. Definition at line 1013 of file driver_user.cpp. References NL3D_HAUTO_SWAP_DRIVER, NL3D_MEM_DRIVER, and NL3D::IDriver::swapBuffers().
01014 { 01015 NL3D_MEM_DRIVER 01016 NL3D_HAUTO_SWAP_DRIVER; 01017 01018 _Driver->swapBuffers(); 01019 } |
|
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.
Implements NL3D::UDriver. Definition at line 964 of file driver_user.cpp. References NL3D_MEM_DRIVER, NL3D::IDriver::systemMessageBox(), type, and uint32.
00965 { 00966 NL3D_MEM_DRIVER 00967 00968 IDriver::TMessageBoxId dret; 00969 IDriver::TMessageBoxType dtype= (IDriver::TMessageBoxType)(uint32)type; 00970 IDriver::TMessageBoxIcon dicon= (IDriver::TMessageBoxIcon)(uint32)icon; 00971 dret= _Driver->systemMessageBox (message, title, dtype, dicon); 00972 00973 return (UDriver::TMessageBoxId)(uint32)dret; 00974 } |
|
update the manager. New loaded texture are uploaded. Instances are updated to know if all their pending textures have been uploaded. Implements NL3D::UDriver. Definition at line 1349 of file driver_user.cpp. References _AsyncTextureManager, getDriver(), NL3D_HAUTO_TEX_DRIVER, NL3D_MEM_DRIVER, and NL3D::CAsyncTextureManager::update().
01350 { 01351 NL3D_MEM_DRIVER 01352 NL3D_HAUTO_TEX_DRIVER; 01353 01354 _AsyncTextureManager.update(getDriver()); 01355 } |
|
Definition at line 97 of file driver_user.h. Referenced by createScene(), getLastAsyncTextureSizeGot(), getTotalAsyncTextureSizeAsked(), loadHLSBank(), setupAsyncTextureLod(), setupAsyncTextureMaxUploadPerFrame(), setupMaxHLSColoringPerFrame(), setupMaxTotalAsyncTextureSize(), and updateAsyncTexture(). |
|
Definition at line 80 of file driver_user.h. Referenced by getFrustum(), getModelMatrix(), getScissor(), getViewMatrix(), getViewport(), restoreMatrixContextMatrixOnly(), setDisplay(), setFrustum(), setMatrixMode2D(), setModelMatrix(), setScissor(), setupMatrixContext(), setViewMatrix(), and setViewport(). |
|
Definition at line 78 of file driver_user.h. |
|
Definition at line 81 of file driver_user.h. Referenced by createTextContext(), getFontManagerCacheInformation(), and setFontManagerMaxMemory(). |
|
Definition at line 99 of file driver_user.h. Referenced by createScene(). |
|
Definition at line 88 of file driver_user.h. Referenced by createMaterial(), deleteMaterial(), and release(). |
|
Definition at line 111 of file driver_user.h. Referenced by drawLine(), drawQuad(), drawTriangle(), release(), and setDisplay(). |
|
Definition at line 112 of file driver_user.h. Referenced by drawBitmap(), release(), and setDisplay(). |
|
Definition at line 93 of file driver_user.h. Referenced by createScene(). |
|
Definition at line 106 of file driver_user.h. Referenced by CDriverUser(), and drawLine(). |
|
Definition at line 106 of file driver_user.h. Referenced by CDriverUser(), and drawQuad(). |
|
Definition at line 106 of file driver_user.h. Referenced by CDriverUser(), and drawTriangle(). |
|
Definition at line 90 of file driver_user.h. Referenced by createScene(), deleteScene(), and release(). |
|
Definition at line 95 of file driver_user.h. Referenced by createScene(). |
|
Definition at line 91 of file driver_user.h. Referenced by CDriverUser(), createScene(), and getShapeBank(). |
|
Definition at line 123 of file driver_user.cpp. Referenced by CDriverUser(). |
|
Definition at line 89 of file driver_user.h. Referenced by createTextContext(), deleteTextContext(), and release(). |
|
Definition at line 87 of file driver_user.h. Referenced by createTextureFile(), deleteTextureFile(), and release(). |
|
Definition at line 103 of file driver_user.h. Referenced by CDriverUser(), drawLine(), drawQuad(), and drawTriangle(). |
|
Definition at line 105 of file driver_user.h. Referenced by CDriverUser(), drawLine(), drawQuad(), and drawTriangle(). |
|
Definition at line 102 of file driver_user.h. Referenced by CDriverUser(), drawLine(), drawQuad(), and drawTriangle(). |
|
Definition at line 108 of file driver_user.h. Referenced by CDriverUser(), and drawQuads(). |
|
Definition at line 109 of file driver_user.h. Referenced by CDriverUser(), and drawQuads(). |
|
Definition at line 104 of file driver_user.h. Referenced by CDriverUser(), drawLine(), drawQuad(), and drawTriangle(). |
|
Definition at line 79 of file driver_user.h. Referenced by CDriverUser(), release(), and setDisplay(). |
|
The AsyncListener of this driver. Init after setDisplay()!!
Definition at line 142 of file u_driver.h. |
|
The EventServer of this driver. Init after setDisplay()!!
Definition at line 140 of file u_driver.h. |