#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. |
1.3.6