#include <u_driver.h>
Inheritance diagram for NL3D::UDriver:
All function calls are invalid before init() is called!!
NB: there is ONE FontManager per UDriver.
Nevrax France
Definition at line 94 of file u_driver.h.
Matrix context for Interface 2D/3D. | |
virtual CFrustum | getFrustum ()=0 |
virtual CMatrix | getModelMatrix ()=0 |
virtual CScissor | getScissor ()=0 |
virtual CMatrix | getViewMatrix ()=0 |
virtual CViewport | getViewport ()=0 |
virtual void | setFrustum (const CFrustum &frust)=0 |
virtual void | setMatrixMode2D (const CFrustum &frust)=0 |
void | setMatrixMode2D11 () |
Tool function: same as setMatrixMode2D(), using a CFrustum(0,1,0,1,-1,1,false). | |
void | setMatrixMode2D43 () |
Tool function: same as setMatrixMode2D(), using a CFrustum(0,4/3,0,1,-1,1,false). | |
virtual void | setMatrixMode3D (UCamera &camera)=0 |
virtual void | setModelMatrix (const CMatrix &mat)=0 |
virtual void | setScissor (const CScissor &)=0 |
virtual void | setViewMatrix (const CMatrix &mat)=0 |
virtual void | setViewport (const CViewport &)=0 |
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)=0 |
Before rendering via a driver in a thread, must activate() (per thread). | |
virtual TModeList | enumModes ()=0 |
Enum All Fullscreen modes. | |
virtual void * | getDisplay ()=0 |
Return an OS dependent window handle. Under Win32, it is a HWND. | |
virtual bool | getModes (std::vector< CMode > &modes)=0 |
Before rendering via a driver in a thread, must activate() (per thread). | |
virtual bool | isActive ()=0 |
Return true if driver is still active. Return false else. If he user close the window, must return false. | |
virtual void | release ()=0 |
Release the window. All components are released (Texture, materials, scene, textcontexts). | |
virtual bool | setDisplay (const CMode &mode, bool show=true)=0 |
virtual bool | setMode (const CMode &mode)=0 |
Before rendering via a driver in a thread, must activate() (per thread). | |
Buffers. | |
virtual void | clearBuffers (CRGBA col=CRGBA(255, 255, 255, 255))=0 |
This clear the buffers (ALL the buffer :) ). | |
virtual void | clearRGBABuffer (CRGBA col=CRGBA(255, 255, 255, 255))=0 |
This clear only the RGBA back buffer. | |
virtual void | clearZBuffer ()=0 |
This clear only the Zbuffer. | |
virtual uint | getSwapVBLInterval ()=0 |
get the number of VBL wait when a swapBuffers() is issued. 0 means no synchronisation to the VBL | |
virtual void | setSwapVBLInterval (uint interval)=0 |
virtual void | swapBuffers ()=0 |
This swap the back and front buffer (ALL the buffer :) ). | |
Misc. | |
virtual U3dMouseListener * | create3dMouseListener ()=0 |
virtual void | delete3dMouseListener (U3dMouseListener *listener)=0 |
virtual void | forceDXTCCompression (bool dxtcComp)=0 |
virtual void | forceTextureResize (uint divisor)=0 |
virtual TPolygonMode | getPolygonMode ()=0 |
virtual bool | setMonitorColorProperties (const CMonitorColorProperties &properties)=0 |
virtual void | setPolygonMode (TPolygonMode mode)=0 |
virtual TMessageBoxId | systemMessageBox (const char *message, const char *title, TMessageBoxType type=okType, TMessageBoxIcon icon=noIcon)=0 |
Components gestion for Interface 2D/3D. | |
virtual UMaterial * | createMaterial ()=0 |
Create a new Material, to be filled by user. | |
virtual UTextContext * | createTextContext (const std::string fontFileName, const std::string fontExFileName="")=0 |
create a new TextContext, for a given font. | |
virtual UTextureFile * | createTextureFile (const std::string &file)=0 |
virtual UTextureRaw * | createTextureRaw ()=0 |
Create a new Raw texture, to be filled by user. | |
virtual void | deleteMaterial (UMaterial *mat)=0 |
Delete a Material. | |
virtual void | deleteTextContext (UTextContext *textContext)=0 |
delete a TextContext. | |
virtual void | deleteTextureFile (UTextureFile *textfile)=0 |
Delete a texture file. This one will be really deleted in memory when no material point to it. | |
virtual void | deleteTextureRaw (UTextureRaw *textraw)=0 |
Delete a Raw texture. This one will be really deleted in memory when no material point to it. | |
virtual std::string | getFontManagerCacheInformation () const=0 |
get cahce information. | |
virtual void | setFontManagerMaxMemory (uint maxMem)=0 |
Set the maxMemory used for the FontManager. | |
Scene gestion. | |
virtual UScene * | createScene (bool bSmallScene)=0 |
Create a new scene. | |
virtual void | deleteScene (UScene *scene)=0 |
Delete a scene. | |
Disable Hardware Feature | |
virtual void | disableHardwareTextureShader ()=0 |
virtual void | disableHardwareVertexArrayAGP ()=0 |
virtual void | disableHardwareVertexProgram ()=0 |
Tools for Interface 2D. | |
virtual void | drawBitmap (float x, float y, float width, float height, class UTexture &texture, bool blend=true, CRGBA col=CRGBA(255, 255, 255, 255))=0 |
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))=0 |
Draw a line in 2D. Warning: this is slow... | |
virtual void | drawQuad (float xcenter, float ycenter, float radius, CRGBA col)=0 |
Draw a Quad in 2D. Warning: this is slow... | |
virtual void | drawQuad (float x0, float y0, float x1, float y1, CRGBA col)=0 |
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)=0 |
Draw a Triangle in 2D. Warning: this is slow... | |
virtual void | drawWiredQuad (float xcenter, float ycenter, float radius, CRGBA col)=0 |
Draw a Quad in 2D. Warning: this is slow... | |
virtual void | drawWiredQuad (float x0, float y0, float x1, float y1, CRGBA col)=0 |
Draw a Quad in 2D. Warning: this is slow... | |
Interface 2D/3D. | |
virtual void | drawLine (const NLMISC::CLineColorUV &tri, UMaterial &mat)=0 |
Draw the Line, taking color from primitive. With UV for texture. | |
virtual void | drawLine (const NLMISC::CLineUV &tri, UMaterial &mat)=0 |
Draw the Line, taking color from material. With UV for texture. | |
virtual void | drawLine (const NLMISC::CLineColor &tri, UMaterial &mat)=0 |
Draw the Line, taking color from primitive. | |
virtual void | drawLine (const NLMISC::CLine &tri, UMaterial &mat)=0 |
Draw the Line, taking color from material. | |
virtual void | drawQuad (const NLMISC::CQuadColorUV &tri, UMaterial &mat)=0 |
Draw the Quad, taking color from primitive. With UV for texture. | |
virtual void | drawQuad (const NLMISC::CQuadUV &tri, UMaterial &mat)=0 |
Draw the Quad, taking color from material. With UV for texture. | |
virtual void | drawQuad (const NLMISC::CQuadColor &tri, UMaterial &mat)=0 |
Draw the Quad, taking color from primitive. | |
virtual void | drawQuad (const NLMISC::CQuad &tri, UMaterial &mat)=0 |
Draw the Quad, taking color from material. | |
virtual void | drawQuads (const NLMISC::CQuadColorUV2 *quads, uint32 nbQuads, UMaterial &mat)=0 |
Draw the Line, taking color from primitive. With UV for texture. | |
virtual void | drawQuads (const NLMISC::CQuadColorUV *qs, uint32 nbq, UMaterial &mat)=0 |
Draw the Line, taking color from primitive. With UV for texture. | |
virtual void | drawQuads (const std::vector< NLMISC::CQuadColorUV2 > &quad, UMaterial &mat)=0 |
Draw the Line, taking color from primitive. With UV for texture. | |
virtual void | drawQuads (const std::vector< NLMISC::CQuadColorUV > &quad, UMaterial &mat)=0 |
Draw the Line, taking color from primitive. With UV for texture. | |
virtual void | drawTriangle (const NLMISC::CTriangleColorUV &tri, UMaterial &mat)=0 |
Draw the Triangle, taking color from primitive. With UV for texture. | |
virtual void | drawTriangle (const NLMISC::CTriangleUV &tri, UMaterial &mat)=0 |
Draw the Triangle, taking color from material. With UV for texture. | |
virtual void | drawTriangle (const NLMISC::CTriangleColor &tri, UMaterial &mat)=0 |
Draw the Triangle, taking color from primitive. | |
virtual void | drawTriangle (const NLMISC::CTriangle &tri, UMaterial &mat)=0 |
Draw the Triangle, taking color from material. | |
Fog support. | |
virtual void | enableFog (bool enable)=0 |
virtual bool | fogEnabled ()=0 |
virtual void | setupFog (float start, float end, CRGBA color)=0 |
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)=0 |
virtual void | setAmbientColor (CRGBA color)=0 |
virtual void | setLight (uint8 num, const ULight &light)=0 |
Mouse / Keyboard / Gamedevices | |
virtual NLMISC::IKeyboardDevice * | enableLowLevelKeyboard (bool enable)=0 |
virtual NLMISC::IMouseDevice * | enableLowLevelMouse (bool enable, bool hardware)=0 |
virtual uint | getDoubleClickDelay (bool hardwareMouse)=0 |
virtual NLMISC::IInputDeviceManager * | getLowLevelInputDeviceManager ()=0 |
virtual void | setCapture (bool b)=0 |
virtual void | setMousePos (float x, float y)=0 |
x and y must be between 0.0 and 1.0 | |
virtual void | showCursor (bool b)=0 |
Profiling. | |
virtual void | enableUsedTextureMemorySum (bool enable=true)=0 |
virtual void | endProfileVBHardLock (std::vector< std::string > &result)=0 |
virtual uint32 | getUsedTextureMemory () const=0 |
virtual uint32 | profileAllocatedTextureMemory ()=0 |
virtual void | profileRenderedPrimitives (CPrimitiveProfile &pIn, CPrimitiveProfile &pOut)=0 |
virtual uint32 | profileSetupedMaterials () const=0 |
virtual uint32 | profileSetupedModelMatrix () const=0 |
virtual void | profileVBHardAllocation (std::vector< std::string > &result)=0 |
virtual void | startProfileVBHardLock ()=0 |
Driver information/Queries | |
virtual bool | fillBuffer (CBitmap &bitmap)=0 |
virtual uint32 | getAvailableVertexAGPMemory ()=0 |
virtual uint32 | getAvailableVertexVRAMMemory ()=0 |
virtual void | getBuffer (CBitmap &bitmap)=0 |
virtual void | getBufferPart (CBitmap &bitmap, NLMISC::CRect &rect)=0 |
virtual const char * | getDriverInformation ()=0 |
virtual uint32 | getImplementationVersion () const=0 |
virtual sint | getNbTextureStages ()=0 |
Get the number of texture stage avaliable, for multitexturing (Normal material shaders). Valid only after setDisplay(). | |
virtual const char * | getVideocardInformation ()=0 |
virtual uint | getWindowHeight ()=0 |
Get the height of the window. | |
virtual void | getWindowPos (uint32 &x, uint32 &y)=0 |
Get the x and y coord of the windows always (0,0) in fullscreen. | |
virtual void | getWindowSize (uint32 &width, uint32 &height)=0 |
Get the width and the height of the window. | |
virtual uint | getWindowWidth ()=0 |
Get the width of the window. | |
virtual void | getZBuffer (std::vector< float > &zbuffer)=0 |
virtual void | getZBufferPart (std::vector< float > &zbuffer, NLMISC::CRect &rect)=0 |
Async Texture loading mgt (see UInstance) | |
virtual uint | getLastAsyncTextureSizeGot () const=0 |
get what the system really allows | |
virtual uint | getTotalAsyncTextureSizeAsked () const=0 |
get the async texture Size asked (ie maybe bigger than MaxTotalTextureSize). | |
virtual void | loadHLSBank (const std::string &fileName)=0 |
virtual void | setupAsyncTextureLod (uint baseLevel, uint maxLevel)=0 |
virtual void | setupAsyncTextureMaxUploadPerFrame (uint maxup)=0 |
Setup max texture upload in driver per updateAsyncTexture() call. | |
virtual void | setupMaxHLSColoringPerFrame (uint maxCol)=0 |
Setup max texture HLS Coloring per update() call (in bytes). Default to 20K. | |
virtual void | setupMaxTotalAsyncTextureSize (uint maxText)=0 |
Setup max total texture size allowed. Default is 10Mo. | |
virtual void | updateAsyncTexture ()=0 |
Shape Bank | |
virtual UShapeBank * | getShapeBank ()=0 |
Object | |
UDriver () | |
virtual | ~UDriver () |
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()!! |
|
Definition at line 126 of file u_driver.h. Referenced by NL3D::CDriverUser::enumModes(). |
|
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 77 of file driver_user.cpp. References NL3D_MEM_DRIVER.
00078 { 00079 NL3D_MEM_DRIVER 00080 } |
|
Before rendering via a driver in a thread, must activate() (per thread).
Implemented in NL3D::CDriverUser. |
|
This clear the buffers (ALL the buffer :) ).
Implemented in NL3D::CDriverUser. |
|
This clear only the RGBA back buffer.
Implemented in NL3D::CDriverUser. |
|
This clear only the Zbuffer.
Implemented in NL3D::CDriverUser. |
|
Create a 3d mouse listener
Implemented in NL3D::CDriverUser. |
|
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.
Implemented in NL3D::CDriverUser. |
|
Create a new scene.
Implemented in NL3D::CDriverUser. |
|
create a new TextContext, for a given font.
Implemented in NL3D::CDriverUser. |
|
Create a new texture file, searching in CPath. NB: by default a textureFile created with this method has a setAllowDegradation() at false.
Implemented in NL3D::CDriverUser. |
|
Create a new Raw texture, to be filled by user.
Implemented in NL3D::CDriverUser. |
|
Delete a 3d mouse listener
Implemented in NL3D::CDriverUser. |
|
Delete a Material.
Implemented in NL3D::CDriverUser. |
|
Delete a scene.
Implemented in NL3D::CDriverUser. |
|
delete a TextContext.
Implemented in NL3D::CDriverUser. |
|
Delete a texture file. This one will be really deleted in memory when no material point to it.
Implemented in NL3D::CDriverUser. |
|
Delete a Raw texture. This one will be really deleted in memory when no material point to it.
Implemented in NL3D::CDriverUser. |
|
Implemented in NL3D::CDriverUser. |
|
Implemented in NL3D::CDriverUser. |
|
Disable some Feature that may be supported by the Hardware Call before setDisplay() to work properly Implemented in NL3D::CDriverUser. |
|
Draw a bitmap 2D. Warning: this is slow... For all those function, setMatrixMode2D*() should have been called (else strange results!!). Implemented in NL3D::CDriverUser. |
|
Draw a line in 2D. Warning: this is slow...
Implemented in NL3D::CDriverUser. |
|
Draw the Line, taking color from primitive. With UV for texture.
Implemented in NL3D::CDriverUser. |
|
Draw the Line, taking color from material. With UV for texture.
Implemented in NL3D::CDriverUser. |
|
Draw the Line, taking color from primitive.
Implemented in NL3D::CDriverUser. |
|
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. Implemented in NL3D::CDriverUser. |
|
Draw a Quad in 2D. Warning: this is slow...
Implemented in NL3D::CDriverUser. |
|
Draw a Quad in 2D. Warning: this is slow...
Implemented in NL3D::CDriverUser. |
|
Draw the Quad, taking color from primitive. With UV for texture.
Implemented in NL3D::CDriverUser. |
|
Draw the Quad, taking color from material. With UV for texture.
Implemented in NL3D::CDriverUser. |
|
Draw the Quad, taking color from primitive.
Implemented in NL3D::CDriverUser. |
|
Draw the Quad, taking color from material.
Implemented in NL3D::CDriverUser. |
|
Draw the Line, taking color from primitive. With UV for texture.
Implemented in NL3D::CDriverUser. |
|
Draw the Line, taking color from primitive. With UV for texture.
Implemented in NL3D::CDriverUser. |
|
Draw the Line, taking color from primitive. With UV for texture.
Implemented in NL3D::CDriverUser. |
|
Draw the Line, taking color from primitive. With UV for texture.
Implemented in NL3D::CDriverUser. |
|
Draw a Triangle in 2D. Warning: this is slow...
Implemented in NL3D::CDriverUser. |
|
Draw the Triangle, taking color from primitive. With UV for texture.
Implemented in NL3D::CDriverUser. |
|
Draw the Triangle, taking color from material. With UV for texture.
Implemented in NL3D::CDriverUser. |
|
Draw the Triangle, taking color from primitive.
Implemented in NL3D::CDriverUser. |
|
Draw the Triangle, taking color from material.
Implemented in NL3D::CDriverUser. |
|
Draw a Quad in 2D. Warning: this is slow...
Implemented in NL3D::CDriverUser. |
|
Draw a Quad in 2D. Warning: this is slow...
Implemented in NL3D::CDriverUser. |
|
Implemented in NL3D::CDriverUser. |
|
Implemented in NL3D::CDriverUser. |
|
Enable / disable a low level keyboard. This returns a interface to some parameters when it is supported, or NULL otherwise. The interface pointer is valid as long as the low level keyboard is enabled. A call to disable the keyboard returns NULL, and restore the default keyboard behaviour. Implemented in NL3D::CDriverUser. |
|
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.
Implemented in NL3D::CDriverUser. |
|
Enable the sum of texture memory used since last swapBuffers() call. To retrieve the memory used call getUsedTextureMemory(). Implemented in NL3D::CDriverUser. |
|
If the driver support it, stop profile VBHard locks, and "print" result No-Op if already profiling NB: The results are the Locks in Chronogical time (since last swapBuffers). Since multiple frame are summed, an "*" is marked againts the VBHard name to show if it was not always this one (ptr test and not name test) in the chronogical order. NB: if the driver does not support VBHard or VBHard profiling (like ATI VBHard), result is empty. NB: ???? string is displayed if the VBHard has no name or if was just deleted. Implemented in NL3D::CDriverUser. |
|
Enum All Fullscreen modes.
Implemented in NL3D::CDriverUser. |
|
fill the RGBA back buffer
Implemented in NL3D::CDriverUser. |
|
Implemented in NL3D::CDriverUser. |
|
if true force all the uncompressed RGBA 32 bits and RGBA 24 bits texture to be DXTC5 compressed. Default is false. NB: this is done only on TextureFile, with format Automatic Implemented in NL3D::CDriverUser. |
|
if !=1, force mostly all the textures (but TextureFonts lightmaps, interfaces etc..) to be divided by Divisor (2, 4, 8...) Default is 1. NB: this is done only on TextureFile Implemented in NL3D::CDriverUser. |
|
Return the amount of AGP memory allocated by initVertexArrayRange() to store vertices. Implemented in NL3D::CDriverUser. |
|
Return the amount of video memory allocated by initVertexArrayRange() to store vertices. Implemented in NL3D::CDriverUser. |
|
get the RGBA back buffer
Implemented in NL3D::CDriverUser. |
|
get a part of the RGBA back buffer NB: 0,0 is the bottom left corner of the screen.
Implemented in NL3D::CDriverUser. |
|
Return an OS dependent window handle. Under Win32, it is a HWND.
Implemented in NL3D::CDriverUser. |
|
Enable / disable a low level keyboard. This returns a interface to some parameters when it is supported, or NULL otherwise. The interface pointer is valid as long as the low level keyboard is enabled. A call to disable the keyboard returns NULL, and restore the default keyboard behaviour. Implemented in NL3D::CDriverUser. |
|
Get driver informations. get the nel name of the driver (ex: "Opengl 1.2 NeL Driver") Implemented in NL3D::CDriverUser. |
|
get cahce information.
Implemented in NL3D::CDriverUser. |
|
Implemented in NL3D::CDriverUser. |
|
Get the driver version. Not the same than interface version. Incremented at each implementation change.
Implemented in NL3D::CDriverUser. |
|
get what the system really allows
Implemented in NL3D::CDriverUser. |
|
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 ...) Implemented in NL3D::CDriverUser. |
|
Implemented in NL3D::CDriverUser. |
|
Before rendering via a driver in a thread, must activate() (per thread).
Implemented in NL3D::CDriverUser. |
|
Get the number of texture stage avaliable, for multitexturing (Normal material shaders). Valid only after setDisplay().
Implemented in NL3D::CDriverUser. |
|
Get the global polygon mode.
Implemented in NL3D::CDriverUser. |
|
Implemented in NL3D::CDriverUser. |
|
Get the global shape bank. The shape bank handles all the shape caches.
Implemented in NL3D::CDriverUser. |
|
get the number of VBL wait when a swapBuffers() is issued. 0 means no synchronisation to the VBL
Implemented in NL3D::CDriverUser. |
|
get the async texture Size asked (ie maybe bigger than MaxTotalTextureSize).
Implemented in NL3D::CDriverUser. |
|
Return the amount of texture video memory used since last swapBuffers() call. Before use this method, you should enable the sum with enableUsedTextureMemorySum(). Implemented in NL3D::CDriverUser. |
|
Get videocard informations. get the official name of the driver Implemented in NL3D::CDriverUser. |
|
Implemented in NL3D::CDriverUser. |
|
Implemented in NL3D::CDriverUser. |
|
Get the height of the window.
Implemented in NL3D::CDriverUser. |
|
Get the x and y coord of the windows always (0,0) in fullscreen.
Implemented in NL3D::CDriverUser. |
|
Get the width and the height of the window.
Implemented in NL3D::CDriverUser. Referenced by NL3D::UTextContext::CStringInfo::convertTo01Size(), and NL3D::UTextContext::CStringInfo::convertToPixelSize(). |
|
Get the width of the window.
Implemented in NL3D::CDriverUser. |
|
get the ZBuffer (back buffer).
Implemented in NL3D::CDriverUser. |
|
get a part of the ZBuffer (back buffer). NB: 0,0 is the bottom left corner of the screen.
Implemented in NL3D::CDriverUser. |
|
Return true if driver is still active. Return false else. If he user close the window, must return false.
Implemented in NL3D::CDriverUser. |
|
Load a .hlsBank, add it to the HLSManager of the AsyncTextureManager. Use CPath::lookup. throw EPathNotFound if error Implemented in NL3D::CDriverUser. |
|
Return the amount of Texture memory requested. taking mipmap, compression, texture format, etc... into account. NB: because of GeForce*, RGB888 is considered to be 32 bits. So it may be false for others cards :). Implemented in NL3D::CDriverUser. |
|
Get the number of primitives rendered from the last swapBuffers() call.
Implemented in NL3D::CDriverUser. |
|
Get the number of material setuped from the last swapBuffers() call. Implemented in NL3D::CDriverUser. |
|
Get the number of matrix setuped from the last swapBuffers() call. Implemented in NL3D::CDriverUser. |
|
display VBhards allocated Implemented in NL3D::CDriverUser. |
|
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 } |
|
Release the window. All components are released (Texture, materials, scene, textcontexts).
Implemented in NL3D::CDriverUser. |
|
Implemented in NL3D::CDriverUser. |
|
If true, capture the mouse to force it to stay under the window. NB : If a low level mouse is used, it does nothing Implemented in NL3D::CDriverUser. |
|
create the window. call activate(). Return true if mode activated, false if it failed.
Implemented in NL3D::CDriverUser. |
|
Set the maxMemory used for the FontManager.
Implemented in NL3D::CDriverUser. |
|
Set the active Frustum for rendering. Implemented in NL3D::CDriverUser. |
|
Implemented in NL3D::CDriverUser. |
|
Tool function: Setup frustum/viewmatrix/modelmatrix for 2D. ModelMatrix is setup to identity. ViewMatrix is setup so that (x,y) of vectors maps to x,y screen. Implemented in NL3D::CDriverUser. Referenced by setMatrixMode2D11(), and setMatrixMode2D43(). |
|
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 setMatrixMode2D(). Referenced by NL3D::CDriverUser::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 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. Implemented in NL3D::CDriverUser. |
|
Before rendering via a driver in a thread, must activate() (per thread).
Implemented in NL3D::CDriverUser. |
|
Set the active ModelMatrix for rendering. NB: UScene ignore this function (use camera parameters instead). Implemented in NL3D::CDriverUser. |
|
Setup monitor color properties. Return false if setup failed. Implemented in NL3D::CDriverUser. |
|
x and y must be between 0.0 and 1.0
Implemented in NL3D::CDriverUser. |
|
Set the global polygon mode. Can be filled, line or point. The implementation driver must call IDriver::setPolygonMode and active this mode.
Implemented in NL3D::CDriverUser. |
|
Set the active scissor for rendering. Default to fullscreen. Implemented in NL3D::CDriverUser. |
|
set the number of VBL wait when a swapBuffers() is issued. 0 means no synchronisation to the VBL Default depends of the 3D driver setup. Values >1 may be clamped to 1 by the driver. Implemented in NL3D::CDriverUser. |
|
setup the mipMap levels. When the texture is first added, it is loaded skipping the baseLevel first mipmap During time, furhter mipmap are loaded, according to instance position etc... maxLevel tells where to stop. If 0, the texture will finally be entirely uploaded. Default is 3,1. Implemented in NL3D::CDriverUser. |
|
Setup max texture upload in driver per updateAsyncTexture() call.
Implemented in NL3D::CDriverUser. |
|
setup fog parameters. fog must enabled to see result. start and end are in [0,1] range.
Implemented in NL3D::CDriverUser. |
|
Setup max texture HLS Coloring per update() call (in bytes). Default to 20K.
Implemented in NL3D::CDriverUser. |
|
Setup max total texture size allowed. Default is 10Mo.
Implemented in NL3D::CDriverUser. |
|
Set the active ViewMatrix for rendering. NB: this is the view matrix, which is the inverse of camera matrix. Implemented in NL3D::CDriverUser. |
|
Set the active viewport for rendering. Default to fullscreen. Implemented in NL3D::CDriverUser. |
|
show cursor if b is true, or hide it if b is false NB: This has no effects if a low level mouse is used. Implemented in NL3D::CDriverUser. |
|
If the driver support it, enable profile VBHard locks. No-Op if already profiling Implemented in NL3D::CDriverUser. |
|
This swap the back and front buffer (ALL the buffer :) ).
Implemented in NL3D::CDriverUser. |
|
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.
Implemented in NL3D::CDriverUser. |
|
update the manager. New loaded texture are uploaded. Instances are updated to know if all their pending textures have been uploaded. Implemented in NL3D::CDriverUser. |
|
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. |