Game Interface for window Driver, first object to create. More...
#include <u_driver.h>
Inherited by NL3D::CDriverUser.
Classes | |
| struct | CMode |
| A Graphic Mode descriptor. More... | |
Public Types | |
| enum | TMessageBoxId { okId = 0, yesId, noId, abortId, retryId, cancelId, ignoreId, idCount } |
Message Box enums. More... | |
| enum | TMessageBoxType { okType = 0, okCancelType, yesNoType, abortRetryIgnoreType, yesNoCancelType, retryCancelType, typeCount } |
| enum | TMessageBoxIcon { noIcon = 0, handIcon, questionIcon, exclamationIcon, asteriskIcon, warningIcon, errorIcon, informationIcon, stopIcon, iconCount } |
| enum | TPolygonMode { Filled = 0, Line, Point } |
Polygon Mode. More... | |
| enum | TCullMode { CCW = 0, CW } |
| enum | TStencilOp { keep = 0, zero, replace, incr, decr, invert } |
| enum | TStencilFunc { never = 0, less, lessequal, equal, notequal, greaterequal, greater, always } |
| typedef std::vector< CMode > | TModeList |
Public Member Functions | |
| virtual bool | isLost () const =0 |
| virtual bool | supportMADOperator () const =0 |
| virtual bool | supportBloomEffect () const =0 |
| virtual uint64 | getSwapBufferCounter ()=0 |
Object | |
| UDriver () | |
| virtual | ~UDriver () |
Disable Hardware Feature | |
| virtual void | disableHardwareVertexProgram ()=0 |
| Disable some Feature that may be supported by the Hardware Call before setDisplay() to work properly. | |
| virtual void | disableHardwareVertexArrayAGP ()=0 |
| virtual void | disableHardwareTextureShader ()=0 |
Window / driver management. | |
| virtual bool | setDisplay (const CMode &mode, bool show=true, bool resizeable=true)=0 |
| create the window. | |
| virtual bool | setDisplay (void *wnd, const CMode &mode, bool show=true, bool resizeable=true)=0 |
| virtual bool | setMode (const CMode &mode)=0 |
| virtual bool | getModes (std::vector< CMode > &modes)=0 |
| virtual bool | getCurrentScreenMode (CMode &mode)=0 |
| virtual void | setWindowTitle (const ucstring &title)=0 |
| Set the title of the NeL window. | |
| virtual void | setWindowPos (uint32 x, uint32 y)=0 |
| Set the position of the NeL window. | |
| virtual void | showWindow (bool show=true)=0 |
| Show or hide the NeL window. | |
| virtual void | beginDialogMode ()=0 |
| virtual void | endDialogMode ()=0 |
| virtual void | release ()=0 |
| Release the window. All components are released (Texture, materials, scene, textcontexts). | |
| virtual bool | activate (void)=0 |
| Before rendering via a driver in a thread, must activate() (per thread). | |
| virtual bool | isActive ()=0 |
| Return true if driver is still active. Return false else. If he user close the window, must return false. | |
| virtual void * | getDisplay ()=0 |
| Return an OS dependent window handle. Under Win32, it is a HWND. | |
Buffers. | |
| virtual void | clearRGBABuffer (CRGBA col=CRGBA(255, 255, 255, 255))=0 |
| This clear only the RGBA back buffer. | |
| virtual void | clearZBuffer ()=0 |
| This clear only the Zbuffer. | |
| virtual void | clearBuffers (CRGBA col=CRGBA(255, 255, 255, 255))=0 |
| This clear the buffers (ALL the buffer :) ). | |
| virtual void | swapBuffers ()=0 |
| This swap the back and front buffer (ALL the buffer :) ). | |
| virtual void | finish ()=0 |
| virtual void | flush ()=0 |
| virtual void | setSwapVBLInterval (uint interval)=0 |
| set the number of VBL wait when a swapBuffers() is issued. | |
| virtual uint | getSwapVBLInterval ()=0 |
| get the number of VBL wait when a swapBuffers() is issued. 0 means no synchronisation to the VBL | |
Fog support. | |
| virtual bool | fogEnabled ()=0 |
| virtual void | enableFog (bool enable)=0 |
| virtual void | setupFog (float start, float end, CRGBA color)=0 |
| $ fog parameters. fog must enabled to see result. start and end are in [0,1] range. | |
Light support. | |
| virtual void | setLight (uint8 num, const ULight &light)=0 |
| virtual void | enableLight (uint8 num, bool enable=true)=0 |
| virtual void | setAmbientColor (CRGBA color)=0 |
Cull mode | |
| virtual void | setCullMode (TCullMode cullMode)=0 |
| virtual TCullMode | getCullMode () const =0 |
Stencil support | |
| virtual void | enableStencilTest (bool enable)=0 |
| virtual bool | isStencilTestEnabled () const =0 |
| virtual void | stencilFunc (TStencilFunc stencilFunc, int ref, uint mask)=0 |
| virtual void | stencilOp (TStencilOp fail, TStencilOp zfail, TStencilOp zpass)=0 |
| virtual void | stencilMask (uint mask)=0 |
Scene gestion. | |
| virtual UScene * | createScene (bool bSmallScene)=0 |
| Create a new scene. | |
| virtual void | deleteScene (UScene *scene)=0 |
| Delete a scene. | |
AnimationSet gestion. | |
| virtual UAnimationSet * | createAnimationSet ()=0 |
| Create an empty AnimationSet. | |
| virtual UAnimationSet * | createAnimationSet (const std::string &animationSetFile)=0 |
| Create a new AnimationSet, load it from a file. Use CPath to search the animation set. exception EPathNotFound if not found. | |
| virtual void | deleteAnimationSet (UAnimationSet *animationSet)=0 |
| Delete a AnimationSet. NB: actually, this animation set is internally deleted only when no more UPlayList use it. | |
Components gestion for Interface 2D/3D. | |
| virtual UTextContext * | createTextContext (const std::string fontFileName, const std::string fontExFileName="")=0 |
| create a new TextContext, for a given font. | |
| virtual void | deleteTextContext (UTextContext *textContext)=0 |
| delete a TextContext. | |
| virtual void | setFontManagerMaxMemory (uint maxMem)=0 |
| Set the maxMemory used for the FontManager. | |
| virtual std::string | getFontManagerCacheInformation () const =0 |
| get cahce information. | |
| virtual UTextureFile * | createTextureFile (const std::string &file)=0 |
| Create a new texture file, searching in CPath. | |
| virtual void | deleteTextureFile (UTextureFile *textfile)=0 |
| Delete a texture file. This one will be really deleted in memory when no material point to it. | |
| virtual UTextureMem * | createTextureMem (uint width, uint height, CBitmap::TType texType=CBitmap::RGBA)=0 |
| Create a new Raw texture, to be filled by user. | |
| virtual void | deleteTextureMem (UTextureMem *textraw)=0 |
| Delete a Raw texture. This one will be really deleted in memory when no material point to it. | |
| virtual UMaterial | createMaterial ()=0 |
| Create a new Material, to be filled by user. | |
| virtual void | deleteMaterial (UMaterial &mat)=0 |
| Delete a Material. | |
Matrix context for Interface 2D/3D. | |
| virtual void | setScissor (const CScissor &)=0 |
| UScene ignore those function (use camera parameters instead, and UScene viewport), and do not disturb this active Matrix context. | |
| virtual CScissor | getScissor ()=0 |
| virtual void | setViewport (const CViewport &)=0 |
| Set the active viewport for rendering. | |
| virtual CViewport | getViewport ()=0 |
| virtual void | setFrustum (const CFrustum &frust)=0 |
| Set the active Frustum for rendering. | |
| virtual CFrustum | getFrustum ()=0 |
| virtual void | setFrustumMatrix (CMatrix &frust)=0 |
| virtual CMatrix | getFrustumMatrix ()=0 |
| virtual float | getClipSpaceZMin () const =0 |
| virtual void | setViewMatrix (const CMatrix &mat)=0 |
| Set the active ViewMatrix for rendering. | |
| virtual CMatrix | getViewMatrix ()=0 |
| virtual void | setModelMatrix (const CMatrix &mat)=0 |
| Set the active ModelMatrix for rendering. | |
| virtual CMatrix | getModelMatrix ()=0 |
| virtual void | setMatrixMode2D (const CFrustum &frust)=0 |
| Tool function: Setup frustum/viewmatrix/modelmatrix for 2D. | |
| void | setMatrixMode2D11 () |
| Tool function: same as setMatrixMode2D(), using a CFrustum(0,1,0,1,-1,1,false). | |
| void | setMatrixMode2D43 () |
| Tool function: same as setMatrixMode2D(), using a CFrustum(0,4/3,0,1,-1,1,false). | |
| virtual void | setMatrixMode3D (UCamera &camera)=0 |
| Tool function: Setup frustum/viewmatrix/modelmatrix for 3D, using parameters of a UCamera. | |
| virtual void | setDepthRange (float znear, float zfar)=0 |
| Set depth range. | |
| virtual void | getDepthRange (float &znear, float &zfar)=0 |
| virtual void | setColorMask (bool bRed, bool bGreen, bool bBlue, bool bAlpha)=0 |
| Set the color mask filter through where the operation done will pass. | |
Interface 2D/3D. | |
| virtual void | drawLine (const NLMISC::CLine &tri, UMaterial &mat)=0 |
| All of those render primitives are unlit! You must use UScene to render lighted meshes. | |
| virtual void | drawLine (const NLMISC::CLineColor &tri, UMaterial &mat)=0 |
| Draw the Line, taking color from primitive. | |
| virtual void | drawLine (const NLMISC::CLineUV &tri, UMaterial &mat)=0 |
| Draw the Line, taking color from material. With UV for texture. | |
| virtual void | drawLine (const NLMISC::CLineColorUV &tri, UMaterial &mat)=0 |
| Draw the Line, taking color from primitive. With UV for texture. | |
| virtual void | drawTriangle (const NLMISC::CTriangle &tri, UMaterial &mat)=0 |
| Draw the Triangle, taking color from material. | |
| virtual void | drawTriangle (const NLMISC::CTriangleColor &tri, UMaterial &mat)=0 |
| Draw the Triangle, taking color from primitive. | |
| virtual void | drawTriangle (const NLMISC::CTriangleUV &tri, UMaterial &mat)=0 |
| Draw the Triangle, taking color from material. With UV for texture. | |
| virtual void | drawTriangle (const NLMISC::CTriangleColorUV &tri, UMaterial &mat)=0 |
| Draw the Triangle, taking color from primitive. With UV for texture. | |
| virtual void | drawQuad (const NLMISC::CQuad &tri, UMaterial &mat)=0 |
| Draw the Quad, taking color from material. | |
| virtual void | drawQuad (const NLMISC::CQuadColor &tri, UMaterial &mat)=0 |
| Draw the Quad, taking color from primitive. | |
| virtual void | drawQuad (const NLMISC::CQuadUV &tri, UMaterial &mat)=0 |
| Draw the Quad, taking color from material. With UV for texture. | |
| virtual void | drawQuad (const NLMISC::CQuadColorUV &tri, UMaterial &mat)=0 |
| Draw the Quad, taking color from primitive. With UV for texture. | |
| virtual void | drawQuads (const std::vector< NLMISC::CQuadColorUV > &quad, UMaterial &mat)=0 |
| virtual void | drawQuads (const std::vector< NLMISC::CQuadColorUV2 > &quad, UMaterial &mat)=0 |
| virtual void | drawTriangles (const std::vector< NLMISC::CTriangleColorUV > &tris, UMaterial &mat)=0 |
| virtual void | drawQuads (const NLMISC::CQuadColorUV *qs, uint32 nbq, UMaterial &mat)=0 |
| virtual void | drawQuads (const NLMISC::CQuadColorUV2 *quads, uint32 nbQuads, UMaterial &mat)=0 |
| virtual void | drawTriangles (const NLMISC::CTriangleColorUV *tris, uint32 nbTris, UMaterial &mat)=0 |
Tools for Interface 2D. | |
| virtual void | drawBitmap (float x, float y, float width, float height, class UTexture &texture, bool blend=true, CRGBA col=CRGBA(255, 255, 255, 255))=0 |
| For all those function, setMatrixMode2D*() should have been called (else strange results!!). | |
| virtual void | drawLine (float x0, float y0, float x1, float y1, CRGBA col=CRGBA(255, 255, 255, 255))=0 |
| Draw a line in 2D. Warning: this is slow... | |
| virtual void | drawTriangle (float x0, float y0, float x1, float y1, float x2, float y2, CRGBA col)=0 |
| Draw a Triangle in 2D. Warning: this is slow... | |
| virtual void | drawQuad (float x0, float y0, float x1, float y1, CRGBA col)=0 |
| Draw a Quad in 2D. Warning: this is slow... | |
| virtual void | drawQuad (float xcenter, float ycenter, float radius, CRGBA col)=0 |
| Draw a Quad in 2D. Warning: this is slow... | |
| virtual void | drawWiredQuad (float x0, float y0, float x1, float y1, CRGBA col)=0 |
| Draw a Quad in 2D. Warning: this is slow... | |
| virtual void | drawWiredQuad (float xcenter, float ycenter, float radius, CRGBA col)=0 |
| Draw a Quad in 2D. Warning: this is slow... | |
Driver information/Queries | |
| virtual uint32 | getImplementationVersion () const =0 |
| Get the driver version. | |
| virtual const char * | getDriverInformation ()=0 |
| Get driver informations. | |
| virtual const char * | getVideocardInformation ()=0 |
| Get videocard informations. | |
| virtual uint | getNbTextureStages ()=0 |
| Get the number of texture stage available, for multitexturing (Normal material shaders). Valid only after setDisplay(). | |
| virtual void | getWindowSize (uint32 &width, uint32 &height)=0 |
| Get the width and the height of the window. | |
| virtual uint | getWindowWidth ()=0 |
| Get the width of the window. | |
| virtual uint | getWindowHeight ()=0 |
| Get the height of the window. | |
| virtual void | getWindowPos (uint32 &x, uint32 &y)=0 |
| Get the x and y coord of the windows always (0,0) in fullscreen. | |
| virtual uint32 | getAvailableVertexAGPMemory ()=0 |
| Return the amount of AGP memory allocated by initVertexArrayRange() to store vertices. | |
| virtual uint32 | getAvailableVertexVRAMMemory ()=0 |
| Return the amount of video memory allocated by initVertexArrayRange() to store vertices. | |
| virtual void | getBuffer (CBitmap &bitmap)=0 |
| get the RGBA back buffer. | |
| virtual void | getZBuffer (std::vector< float > &zbuffer)=0 |
| get the ZBuffer (back buffer). | |
| virtual void | getBufferPart (CBitmap &bitmap, NLMISC::CRect &rect)=0 |
| get a part of the RGBA back buffer. | |
| virtual void | getZBufferPart (std::vector< float > &zbuffer, NLMISC::CRect &rect)=0 |
| get a part of the ZBuffer (back buffer). | |
| virtual bool | fillBuffer (CBitmap &bitmap)=0 |
| fill the RGBA back buffer | |
Mouse / Keyboard / Gamedevices | |
| virtual NLMISC::IMouseDevice * | enableLowLevelMouse (bool enable, bool hardware)=0 |
| Enable / disable low level mouse. | |
| virtual NLMISC::IKeyboardDevice * | enableLowLevelKeyboard (bool enable)=0 |
| Enable / disable a low level keyboard. | |
| virtual NLMISC::IInputDeviceManager * | getLowLevelInputDeviceManager ()=0 |
| Check whether there is a low level device manager available, and get its interface. | |
| virtual uint | getDoubleClickDelay (bool hardwareMouse)=0 |
| virtual void | showCursor (bool b)=0 |
| show cursor if b is true, or hide it if b is false NB: This has no effects if a low level mouse is used. | |
| virtual void | setMousePos (float x, float y)=0 |
| x and y must be between 0.0 and 1.0 | |
| virtual void | setCapture (bool b)=0 |
| If true, capture the mouse to force it to stay under the window. | |
Misc. | |
| virtual TMessageBoxId | systemMessageBox (const char *message, const char *title, TMessageBoxType type=okType, TMessageBoxIcon icon=noIcon)=0 |
| Output a system message box and print a message with an icon. | |
| virtual void | setPolygonMode (TPolygonMode mode)=0 |
| Set the global polygon mode. | |
| virtual TPolygonMode | getPolygonMode ()=0 |
| Get the global polygon mode. | |
| virtual U3dMouseListener * | create3dMouseListener ()=0 |
| Create a 3d mouse listener. | |
| virtual void | delete3dMouseListener (U3dMouseListener *listener)=0 |
| Delete a 3d mouse listener. | |
| virtual void | forceDXTCCompression (bool dxtcComp)=0 |
| if true force all the uncompressed RGBA 32 bits and RGBA 24 bits texture to be DXTC5 compressed. | |
| virtual void | forceTextureResize (uint divisor)=0 |
| if !=1, force mostly all the textures (but TextureFonts lightmaps, interfaces etc. | |
| virtual void | forceNativeFragmentPrograms (bool nativeOnly)=0 |
| Sets enforcement of native fragment programs. | |
| virtual bool | setMonitorColorProperties (const CMonitorColorProperties &properties)=0 |
| Setup monitor color properties. | |
Shape Bank | |
| virtual UShapeBank * | getShapeBank ()=0 |
| Get the global shape bank. | |
Profiling. | |
| virtual void | profileRenderedPrimitives (CPrimitiveProfile &pIn, CPrimitiveProfile &pOut)=0 |
| Get the number of primitives rendered from the last swapBuffers() call. | |
| virtual uint32 | profileAllocatedTextureMemory ()=0 |
| Return the amount of Texture memory requested. | |
| virtual uint32 | profileSetupedMaterials () const =0 |
| Get the number of material setuped from the last swapBuffers() call. | |
| virtual uint32 | profileSetupedModelMatrix () const =0 |
| Get the number of matrix setuped from the last swapBuffers() call. | |
| virtual void | enableUsedTextureMemorySum (bool enable=true)=0 |
| Enable the sum of texture memory used since last swapBuffers() call. | |
| virtual uint32 | getUsedTextureMemory () const =0 |
| Return the amount of texture video memory used since last swapBuffers() call. | |
| virtual void | startProfileVBHardLock ()=0 |
| If the driver support it, enable profile VBHard locks. | |
| virtual void | endProfileVBHardLock (std::vector< std::string > &result)=0 |
| If the driver support it, stop profile VBHard locks, and "print" result No-Op if already profiling NB: The results are the Locks in Chronogical time (since last swapBuffers). | |
| virtual void | profileVBHardAllocation (std::vector< std::string > &result)=0 |
| display VBhards allocated | |
| virtual void | startProfileIBLock ()=0 |
| If the driver support it, enable profile index buffers No-Op if already profiling. | |
| virtual void | endProfileIBLock (std::vector< std::string > &result)=0 |
| If the driver support it, stop profile index buffer locks, and "print" result No-Op if already profiling NB: The results are the Locks in Chronogical time (since last swapBuffers). | |
| virtual void | profileIBAllocation (std::vector< std::string > &result)=0 |
| display index buffer allocated | |
| virtual void | profileTextureUsage (std::vector< std::string > &result)=0 |
| For each texture setuped in the driver, "print" result: type, shareName, format and size (mipmap included). | |
Async Texture loading mgt (see UInstance) | |
| virtual void | setupAsyncTextureLod (uint baseLevel, uint maxLevel)=0 |
| setup the mipMap levels. | |
| virtual void | setupAsyncTextureMaxUploadPerFrame (uint maxup)=0 |
| Setup max texture upload in driver per updateAsyncTexture() call. | |
| virtual void | setupMaxTotalAsyncTextureSize (uint maxText)=0 |
| Setup max total texture size allowed. Default is 10Mo. | |
| virtual void | setupMaxHLSColoringPerFrame (uint maxCol)=0 |
| Setup max texture HLS Coloring per update() call (in bytes). Default to 20K. | |
| virtual void | updateAsyncTexture ()=0 |
| update the manager. | |
| virtual uint | getTotalAsyncTextureSizeAsked () const =0 |
| get the async texture Size asked (ie maybe bigger than MaxTotalTextureSize). | |
| virtual uint | getLastAsyncTextureSizeGot () const =0 |
| get what the system really allows | |
| virtual void | loadHLSBank (const std::string &fileName)=0 |
| Load a .hlsBank, add it to the HLSManager of the AsyncTextureManager. | |
Bench | |
| virtual void | startBench (bool wantStandardDeviation=false, bool quick=false, bool reset=true)=0 |
| virtual void | endBench ()=0 |
| virtual void | displayBench (class NLMISC::CLog *log)=0 |
Water envmap | |
| virtual UWaterEnvMap * | createWaterEnvMap ()=0 |
| virtual void | deleteWaterEnvMap (UWaterEnvMap *)=0 |
Static Public Member Functions | |
| static UDriver * | createDriver (uint windowIcon=0, bool direct3d=false, emptyProc exitFunc=0) |
| This is the static function which build a UDriver, the root for all 3D functions. | |
| static void | purgeMemory () |
| Purge static memory. | |
Public Attributes | |
| NLMISC::CEventServer | EventServer |
| The EventServer of this driver. Init after setDisplay()!! | |
| NLMISC::CEventListenerAsync | AsyncListener |
| The AsyncListener of this driver. Init after setDisplay()!! | |
Game Interface for window Driver, first object to create.
From UDriver, you can create Scene, and render basic primitives (slow!!)
All function calls are invalid before init() is called!!
NB: there is ONE FontManager per UDriver.
Definition at line 98 of file u_driver.h.
| typedef std::vector<CMode> NL3D::UDriver::TModeList |
Definition at line 131 of file u_driver.h.
Definition at line 143 of file u_driver.h.
| noIcon | |
| handIcon | |
| questionIcon | |
| exclamationIcon | |
| asteriskIcon | |
| warningIcon | |
| errorIcon | |
| informationIcon | |
| stopIcon | |
| iconCount |
Definition at line 137 of file u_driver.h.
Message Box enums.
Definition at line 135 of file u_driver.h.
| okType | |
| okCancelType | |
| yesNoType | |
| abortRetryIgnoreType | |
| yesNoCancelType | |
| retryCancelType | |
| typeCount |
Definition at line 136 of file u_driver.h.
Definition at line 147 of file u_driver.h.
Definition at line 146 of file u_driver.h.
| NL3D::UDriver::UDriver | ( | ) |
Definition at line 69 of file driver_user.cpp.
| NL3D::UDriver::~UDriver | ( | ) | [virtual] |
Definition at line 73 of file driver_user.cpp.
References purgeMemory().
| virtual bool NL3D::UDriver::activate | ( | void | ) | [pure virtual] |
Before rendering via a driver in a thread, must activate() (per thread).
Implemented in NL3D::CDriverUser.
| virtual void NL3D::UDriver::beginDialogMode | ( | ) | [pure virtual] |
Implemented in NL3D::CDriverUser.
This clear the buffers (ALL the buffer :) ).
Implemented in NL3D::CDriverUser.
| virtual void NL3D::UDriver::clearRGBABuffer | ( | CRGBA | col = CRGBA(255, 255, 255, 255) |
) | [pure virtual] |
This clear only the RGBA back buffer.
Implemented in NL3D::CDriverUser.
| virtual void NL3D::UDriver::clearZBuffer | ( | ) | [pure virtual] |
This clear only the Zbuffer.
Implemented in NL3D::CDriverUser.
| virtual U3dMouseListener* NL3D::UDriver::create3dMouseListener | ( | ) | [pure virtual] |
| virtual UAnimationSet* NL3D::UDriver::createAnimationSet | ( | const std::string & | animationSetFile | ) | [pure virtual] |
Create a new AnimationSet, load it from a file. Use CPath to search the animation set. exception EPathNotFound if not found.
Implemented in NL3D::CDriverUser.
| virtual UAnimationSet* NL3D::UDriver::createAnimationSet | ( | ) | [pure virtual] |
Create an empty AnimationSet.
Implemented in NL3D::CDriverUser.
| UDriver * NL3D::UDriver::createDriver | ( | uint | windowIcon = 0, |
|
| bool | direct3d = false, |
|||
| emptyProc | exitFunc = 0 | |||
| ) | [static] |
This is the static function which build a UDriver, the root for all 3D functions.
Definition at line 92 of file driver_user.cpp.
| virtual UMaterial NL3D::UDriver::createMaterial | ( | ) | [pure virtual] |
Create a new Material, to be filled by user.
Implemented in NL3D::CDriverUser.
Referenced by NL3D::CBloomEffect::init(), and CEGUI::NeLTexture::NeLTexture().
Create a new scene.
Implemented in NL3D::CDriverUser.
| virtual UTextContext* NL3D::UDriver::createTextContext | ( | const std::string | fontFileName, | |
| const std::string | fontExFileName = "" | |||
| ) | [pure virtual] |
create a new TextContext, for a given font.
Implemented in NL3D::CDriverUser.
| virtual UTextureFile* NL3D::UDriver::createTextureFile | ( | const std::string & | file | ) | [pure virtual] |
Create a new texture file, searching in CPath.
NB: by default a textureFile created with this method has a setAllowDegradation() at false.
| file | filename, local to CPath paths. |
Implemented in NL3D::CDriverUser.
Referenced by CEGUI::NeLTexture::loadFromFile().
| virtual UTextureMem* NL3D::UDriver::createTextureMem | ( | uint | width, | |
| uint | height, | |||
| CBitmap::TType | texType = CBitmap::RGBA | |||
| ) | [pure virtual] |
Create a new Raw texture, to be filled by user.
Implemented in NL3D::CDriverUser.
| virtual UWaterEnvMap* NL3D::UDriver::createWaterEnvMap | ( | ) | [pure virtual] |
Implemented in NL3D::CDriverUser.
| virtual void NL3D::UDriver::delete3dMouseListener | ( | U3dMouseListener * | listener | ) | [pure virtual] |
Delete a 3d mouse listener.
| listener | a 3d mouse listener. |
Implemented in NL3D::CDriverUser.
| virtual void NL3D::UDriver::deleteAnimationSet | ( | UAnimationSet * | animationSet | ) | [pure virtual] |
Delete a AnimationSet. NB: actually, this animation set is internally deleted only when no more UPlayList use it.
Implemented in NL3D::CDriverUser.
| virtual void NL3D::UDriver::deleteMaterial | ( | UMaterial & | mat | ) | [pure virtual] |
Delete a Material.
Implemented in NL3D::CDriverUser.
Referenced by NL3D::CBloomEffect::~CBloomEffect(), and CEGUI::NeLTexture::~NeLTexture().
| virtual void NL3D::UDriver::deleteScene | ( | UScene * | scene | ) | [pure virtual] |
Delete a scene.
Implemented in NL3D::CDriverUser.
| virtual void NL3D::UDriver::deleteTextContext | ( | UTextContext * | textContext | ) | [pure virtual] |
delete a TextContext.
Implemented in NL3D::CDriverUser.
| virtual void NL3D::UDriver::deleteTextureFile | ( | UTextureFile * | textfile | ) | [pure virtual] |
Delete a texture file. This one will be really deleted in memory when no material point to it.
Implemented in NL3D::CDriverUser.
Referenced by CEGUI::NeLTexture::freeNeLTexture().
| virtual void NL3D::UDriver::deleteTextureMem | ( | UTextureMem * | textraw | ) | [pure virtual] |
Delete a Raw texture. This one will be really deleted in memory when no material point to it.
Implemented in NL3D::CDriverUser.
| virtual void NL3D::UDriver::deleteWaterEnvMap | ( | UWaterEnvMap * | ) | [pure virtual] |
Implemented in NL3D::CDriverUser.
| virtual void NL3D::UDriver::disableHardwareTextureShader | ( | ) | [pure virtual] |
Implemented in NL3D::CDriverUser.
| virtual void NL3D::UDriver::disableHardwareVertexArrayAGP | ( | ) | [pure virtual] |
Implemented in NL3D::CDriverUser.
| virtual void NL3D::UDriver::disableHardwareVertexProgram | ( | ) | [pure virtual] |
Disable some Feature that may be supported by the Hardware Call before setDisplay() to work properly.
Implemented in NL3D::CDriverUser.
| virtual void NL3D::UDriver::displayBench | ( | class NLMISC::CLog * | log | ) | [pure virtual] |
Implemented in NL3D::CDriverUser.
| virtual void NL3D::UDriver::drawBitmap | ( | float | x, | |
| float | y, | |||
| float | width, | |||
| float | height, | |||
| class UTexture & | texture, | |||
| bool | blend = true, |
|||
| CRGBA | col = CRGBA(255, 255, 255, 255) | |||
| ) | [pure virtual] |
For all those function, setMatrixMode2D*() should have been called (else strange results!!).
Draw a bitmap 2D. Warning: this is slow...
Implemented in NL3D::CDriverUser.
| virtual void NL3D::UDriver::drawLine | ( | float | x0, | |
| float | y0, | |||
| float | x1, | |||
| float | y1, | |||
| CRGBA | col = CRGBA(255, 255, 255, 255) | |||
| ) | [pure virtual] |
Draw a line in 2D. Warning: this is slow...
Implemented in NL3D::CDriverUser.
| virtual void NL3D::UDriver::drawLine | ( | const NLMISC::CLineColorUV & | tri, | |
| UMaterial & | mat | |||
| ) | [pure virtual] |
Draw the Line, taking color from primitive. With UV for texture.
Implemented in NL3D::CDriverUser.
| virtual void NL3D::UDriver::drawLine | ( | const NLMISC::CLineUV & | tri, | |
| UMaterial & | mat | |||
| ) | [pure virtual] |
Draw the Line, taking color from material. With UV for texture.
Implemented in NL3D::CDriverUser.
| virtual void NL3D::UDriver::drawLine | ( | const NLMISC::CLineColor & | tri, | |
| UMaterial & | mat | |||
| ) | [pure virtual] |
Draw the Line, taking color from primitive.
Implemented in NL3D::CDriverUser.
| virtual void NL3D::UDriver::drawLine | ( | const NLMISC::CLine & | tri, | |
| UMaterial & | mat | |||
| ) | [pure virtual] |
All of those render primitives are unlit! You must use UScene to render lighted meshes.
NB: If you set a texture to your material, the primitives are textured, even if no Uvs are provided.
NB: All rendering are done in current viewport / current matrix context. Draw the Line, taking color from material.
Implemented in NL3D::CDriverUser.
| virtual void NL3D::UDriver::drawQuad | ( | float | xcenter, | |
| float | ycenter, | |||
| float | radius, | |||
| CRGBA | col | |||
| ) | [pure virtual] |
Draw a Quad in 2D. Warning: this is slow...
Implemented in NL3D::CDriverUser.
| virtual void NL3D::UDriver::drawQuad | ( | float | x0, | |
| float | y0, | |||
| float | x1, | |||
| float | y1, | |||
| CRGBA | col | |||
| ) | [pure virtual] |
Draw a Quad in 2D. Warning: this is slow...
Implemented in NL3D::CDriverUser.
| virtual void NL3D::UDriver::drawQuad | ( | const NLMISC::CQuadColorUV & | tri, | |
| UMaterial & | mat | |||
| ) | [pure virtual] |
Draw the Quad, taking color from primitive. With UV for texture.
Implemented in NL3D::CDriverUser.
| virtual void NL3D::UDriver::drawQuad | ( | const NLMISC::CQuadUV & | tri, | |
| UMaterial & | mat | |||
| ) | [pure virtual] |
Draw the Quad, taking color from material. With UV for texture.
Implemented in NL3D::CDriverUser.
| virtual void NL3D::UDriver::drawQuad | ( | const NLMISC::CQuadColor & | tri, | |
| UMaterial & | mat | |||
| ) | [pure virtual] |
Draw the Quad, taking color from primitive.
Implemented in NL3D::CDriverUser.
| virtual void NL3D::UDriver::drawQuad | ( | const NLMISC::CQuad & | tri, | |
| UMaterial & | mat | |||
| ) | [pure virtual] |
Draw the Quad, taking color from material.
Implemented in NL3D::CDriverUser.
Referenced by NL3D::CBloomEffect::applyBlur(), NL3D::CBloomEffect::endInterfacesDisplayBloom(), and CEGUI::NeLRenderer::renderQuad().
| virtual void NL3D::UDriver::drawQuads | ( | const NLMISC::CQuadColorUV2 * | quads, | |
| uint32 | nbQuads, | |||
| UMaterial & | mat | |||
| ) | [pure virtual] |
Implemented in NL3D::CDriverUser.
| virtual void NL3D::UDriver::drawQuads | ( | const NLMISC::CQuadColorUV * | qs, | |
| uint32 | nbq, | |||
| UMaterial & | mat | |||
| ) | [pure virtual] |
Implemented in NL3D::CDriverUser.
| virtual void NL3D::UDriver::drawQuads | ( | const std::vector< NLMISC::CQuadColorUV2 > & | quad, | |
| UMaterial & | mat | |||
| ) | [pure virtual] |
Implemented in NL3D::CDriverUser.
| virtual void NL3D::UDriver::drawQuads | ( | const std::vector< NLMISC::CQuadColorUV > & | quad, | |
| UMaterial & | mat | |||
| ) | [pure virtual] |
Implemented in NL3D::CDriverUser.
Referenced by CEGUI::NeLRenderer::doRender().
| virtual void NL3D::UDriver::drawTriangle | ( | float | x0, | |
| float | y0, | |||
| float | x1, | |||
| float | y1, | |||
| float | x2, | |||
| float | y2, | |||
| CRGBA | col | |||
| ) | [pure virtual] |
Draw a Triangle in 2D. Warning: this is slow...
Implemented in NL3D::CDriverUser.
| virtual void NL3D::UDriver::drawTriangle | ( | const NLMISC::CTriangleColorUV & | tri, | |
| UMaterial & | mat | |||
| ) | [pure virtual] |
Draw the Triangle, taking color from primitive. With UV for texture.
Implemented in NL3D::CDriverUser.
| virtual void NL3D::UDriver::drawTriangle | ( | const NLMISC::CTriangleUV & | tri, | |
| UMaterial & | mat | |||
| ) | [pure virtual] |
Draw the Triangle, taking color from material. With UV for texture.
Implemented in NL3D::CDriverUser.
| virtual void NL3D::UDriver::drawTriangle | ( | const NLMISC::CTriangleColor & | tri, | |
| UMaterial & | mat | |||
| ) | [pure virtual] |
Draw the Triangle, taking color from primitive.
Implemented in NL3D::CDriverUser.
| virtual void NL3D::UDriver::drawTriangle | ( | const NLMISC::CTriangle & | tri, | |
| UMaterial & | mat | |||
| ) | [pure virtual] |
Draw the Triangle, taking color from material.
Implemented in NL3D::CDriverUser.
| virtual void NL3D::UDriver::drawTriangles | ( | const NLMISC::CTriangleColorUV * | tris, | |
| uint32 | nbTris, | |||
| UMaterial & | mat | |||
| ) | [pure virtual] |
Implemented in NL3D::CDriverUser.
| virtual void NL3D::UDriver::drawTriangles | ( | const std::vector< NLMISC::CTriangleColorUV > & | tris, | |
| UMaterial & | mat | |||
| ) | [pure virtual] |
Implemented in NL3D::CDriverUser.
| virtual void NL3D::UDriver::drawWiredQuad | ( | float | xcenter, | |
| float | ycenter, | |||
| float | radius, | |||
| CRGBA | col | |||
| ) | [pure virtual] |
Draw a Quad in 2D. Warning: this is slow...
Implemented in NL3D::CDriverUser.
| virtual void NL3D::UDriver::drawWiredQuad | ( | float | x0, | |
| float | y0, | |||
| float | x1, | |||
| float | y1, | |||
| CRGBA | col | |||
| ) | [pure virtual] |
Draw a Quad in 2D. Warning: this is slow...
Implemented in NL3D::CDriverUser.
| virtual void NL3D::UDriver::enableFog | ( | bool | enable | ) | [pure virtual] |
Implemented in NL3D::CDriverUser.
Implemented in NL3D::CDriverUser.
| virtual NLMISC::IKeyboardDevice* NL3D::UDriver::enableLowLevelKeyboard | ( | bool | enable | ) | [pure virtual] |
Enable / disable a low level keyboard.
This returns a interface to some parameters when it is supported, or NULL otherwise. The interface pointer is valid as long as the low level keyboard is enabled. A call to disable the keyboard returns NULL, and restore the default keyboard behaviour.
Implemented in NL3D::CDriverUser.
| virtual NLMISC::IMouseDevice* NL3D::UDriver::enableLowLevelMouse | ( | bool | enable, | |
| bool | hardware | |||
| ) | [pure virtual] |
Enable / disable low level mouse.
This allow to take advantage of some options (speed of the mouse, automatic wrapping) It returns a interface to these parameters when it is supported, or NULL otherwise The interface pointer is valid as long as the low level mouse is enabled. A call to disable the mouse returns NULL, and restore the default mouse behaviour NB : - In this mode the mouse cursor isn't drawn.
Implemented in NL3D::CDriverUser.
| virtual void NL3D::UDriver::enableStencilTest | ( | bool | enable | ) | [pure virtual] |
Implemented in NL3D::CDriverUser.
| virtual void NL3D::UDriver::enableUsedTextureMemorySum | ( | bool | enable = true |
) | [pure virtual] |
Enable the sum of texture memory used since last swapBuffers() call.
To retrieve the memory used call getUsedTextureMemory().
Implemented in NL3D::CDriverUser.
| virtual void NL3D::UDriver::endBench | ( | ) | [pure virtual] |
Implemented in NL3D::CDriverUser.
| virtual void NL3D::UDriver::endDialogMode | ( | ) | [pure virtual] |
Implemented in NL3D::CDriverUser.
| virtual void NL3D::UDriver::endProfileIBLock | ( | std::vector< std::string > & | result | ) | [pure virtual] |
If the driver support it, stop profile index buffer locks, and "print" result No-Op if already profiling NB: The results are the Locks in Chronogical time (since last swapBuffers).
Since multiple frame are summed, an "*" is marked againts the index buffer name to show if it was not always this one (ptr test and not name test) in the chronogical order. NB: if the driver does not support index buffer profiling, result is empty. NB: ???? string is displayed if the index buffer has no name or if was just deleted.
Implemented in NL3D::CDriverUser.
| virtual void NL3D::UDriver::endProfileVBHardLock | ( | std::vector< std::string > & | result | ) | [pure virtual] |
If the driver support it, stop profile VBHard locks, and "print" result No-Op if already profiling NB: The results are the Locks in Chronogical time (since last swapBuffers).
Since multiple frame are summed, an "*" is marked againts the VBHard name to show if it was not always this one (ptr test and not name test) in the chronogical order. NB: if the driver does not support VBHard or VBHard profiling (like ATI VBHard), result is empty. NB: ???? string is displayed if the VBHard has no name or if was just deleted.
Implemented in NL3D::CDriverUser.
fill the RGBA back buffer
| bitmap | will be written in the buffer. no-op if bad size. |
Implemented in NL3D::CDriverUser.
| virtual void NL3D::UDriver::finish | ( | ) | [pure virtual] |
Implemented in NL3D::CDriverUser.
| virtual void NL3D::UDriver::flush | ( | ) | [pure virtual] |
Implemented in NL3D::CDriverUser.
| virtual bool NL3D::UDriver::fogEnabled | ( | ) | [pure virtual] |
Implemented in NL3D::CDriverUser.
| virtual void NL3D::UDriver::forceDXTCCompression | ( | bool | dxtcComp | ) | [pure virtual] |
if true force all the uncompressed RGBA 32 bits and RGBA 24 bits texture to be DXTC5 compressed.
Default is false. NB: this is done only on TextureFile, with format Automatic
Implemented in NL3D::CDriverUser.
| virtual void NL3D::UDriver::forceNativeFragmentPrograms | ( | bool | nativeOnly | ) | [pure virtual] |
Sets enforcement of native fragment programs.
This is by default enabled.
| nativeOnly | If set to false, fragment programs don't need to be native to stay loaded, otherwise (aka if true) they will be purged. |
Implemented in NL3D::CDriverUser.
| virtual void NL3D::UDriver::forceTextureResize | ( | uint | divisor | ) | [pure virtual] |
if !=1, force mostly all the textures (but TextureFonts lightmaps, interfaces etc.
.) to be divided by Divisor (2, 4, 8...) Default is 1. NB: this is done only on TextureFile
Implemented in NL3D::CDriverUser.
| virtual uint32 NL3D::UDriver::getAvailableVertexAGPMemory | ( | ) | [pure virtual] |
Return the amount of AGP memory allocated by initVertexArrayRange() to store vertices.
Implemented in NL3D::CDriverUser.
| virtual uint32 NL3D::UDriver::getAvailableVertexVRAMMemory | ( | ) | [pure virtual] |
Return the amount of video memory allocated by initVertexArrayRange() to store vertices.
Implemented in NL3D::CDriverUser.
| virtual void NL3D::UDriver::getBuffer | ( | CBitmap & | bitmap | ) | [pure virtual] |
get the RGBA back buffer.
After swapBuffers(), the content of the back buffer is undefined.
| bitmap | the buffer will be written in this bitmap |
Implemented in NL3D::CDriverUser.
| virtual void NL3D::UDriver::getBufferPart | ( | CBitmap & | bitmap, | |
| NLMISC::CRect & | rect | |||
| ) | [pure virtual] |
get a part of the RGBA back buffer.
After swapBuffers(), the content of the back buffer is undefined. NB: 0,0 is the bottom left corner of the screen.
| bitmap | the buffer will be written in this bitmap | |
| rect | the in/out (wanted/clipped) part of Color buffer to retrieve. |
Implemented in NL3D::CDriverUser.
| virtual float NL3D::UDriver::getClipSpaceZMin | ( | ) | const [pure virtual] |
Implemented in NL3D::CDriverUser.
| virtual TCullMode NL3D::UDriver::getCullMode | ( | ) | const [pure virtual] |
Implemented in NL3D::CDriverUser.
Referenced by NL3D::CWaterEnvMapRenderFromUScene::doRender().
Implemented in NL3D::CDriverUser.
Referenced by CEGUI::NeLRenderer::NeLRenderer().
Implemented in NL3D::CDriverUser.
| virtual void* NL3D::UDriver::getDisplay | ( | ) | [pure virtual] |
Return an OS dependent window handle. Under Win32, it is a HWND.
Implemented in NL3D::CDriverUser.
Implemented in NL3D::CDriverUser.
| virtual const char* NL3D::UDriver::getDriverInformation | ( | ) | [pure virtual] |
Get driver informations.
get the nel name of the driver (ex: "Opengl 1.2 NeL Driver")
Implemented in NL3D::CDriverUser.
| virtual std::string NL3D::UDriver::getFontManagerCacheInformation | ( | ) | const [pure virtual] |
get cahce information.
Implemented in NL3D::CDriverUser.
| virtual CFrustum NL3D::UDriver::getFrustum | ( | ) | [pure virtual] |
Implemented in NL3D::CDriverUser.
| virtual CMatrix NL3D::UDriver::getFrustumMatrix | ( | ) | [pure virtual] |
Implemented in NL3D::CDriverUser.
| virtual uint32 NL3D::UDriver::getImplementationVersion | ( | ) | const [pure virtual] |
Get the driver version.
Not the same than interface version. Incremented at each implementation change.
Implemented in NL3D::CDriverUser.
| virtual uint NL3D::UDriver::getLastAsyncTextureSizeGot | ( | ) | const [pure virtual] |
get what the system really allows
Implemented in NL3D::CDriverUser.
| virtual NLMISC::IInputDeviceManager* NL3D::UDriver::getLowLevelInputDeviceManager | ( | ) | [pure virtual] |
Check whether there is a low level device manager available, and get its interface.
Return NULL if not available. From this interface you can deal with mouse and keyboard as above, but you can also manage game devices (joysticks, joypads ...)
Implemented in NL3D::CDriverUser.
| virtual CMatrix NL3D::UDriver::getModelMatrix | ( | ) | [pure virtual] |
Implemented in NL3D::CDriverUser.
Implemented in NL3D::CDriverUser.
| virtual uint NL3D::UDriver::getNbTextureStages | ( | ) | [pure virtual] |
Get the number of texture stage available, for multitexturing (Normal material shaders). Valid only after setDisplay().
Implemented in NL3D::CDriverUser.
| virtual TPolygonMode NL3D::UDriver::getPolygonMode | ( | ) | [pure virtual] |
Get the global polygon mode.
| polygon | mode choose in this driver. |
Implemented in NL3D::CDriverUser.
Referenced by NL3D::CBloomEffect::endBloom(), and NL3D::CBloomEffect::endInterfacesDisplayBloom().
| virtual CScissor NL3D::UDriver::getScissor | ( | ) | [pure virtual] |
Implemented in NL3D::CDriverUser.
| virtual UShapeBank* NL3D::UDriver::getShapeBank | ( | ) | [pure virtual] |
Get the global shape bank.
The shape bank handles all the shape caches.
Implemented in NL3D::CDriverUser.
| virtual uint64 NL3D::UDriver::getSwapBufferCounter | ( | ) | [pure virtual] |
Implemented in NL3D::CDriverUser.
| virtual uint NL3D::UDriver::getSwapVBLInterval | ( | ) | [pure virtual] |
get the number of VBL wait when a swapBuffers() is issued. 0 means no synchronisation to the VBL
Implemented in NL3D::CDriverUser.
| virtual uint NL3D::UDriver::getTotalAsyncTextureSizeAsked | ( | ) | const [pure virtual] |
get the async texture Size asked (ie maybe bigger than MaxTotalTextureSize).
Implemented in NL3D::CDriverUser.
| virtual uint32 NL3D::UDriver::getUsedTextureMemory | ( | ) | const [pure virtual] |
Return the amount of texture video memory used since last swapBuffers() call.
Before use this method, you should enable the sum with enableUsedTextureMemorySum().
Implemented in NL3D::CDriverUser.
| virtual const char* NL3D::UDriver::getVideocardInformation | ( | ) | [pure virtual] |
| virtual CMatrix NL3D::UDriver::getViewMatrix | ( | ) | [pure virtual] |
Implemented in NL3D::CDriverUser.
| virtual CViewport NL3D::UDriver::getViewport | ( | ) | [pure virtual] |
Implemented in NL3D::CDriverUser.
| virtual uint NL3D::UDriver::getWindowHeight | ( | ) | [pure virtual] |
Get the height of the window.
Implemented in NL3D::CDriverUser.
Referenced by NL3D::CBloomEffect::endBloom(), NL3D::CBloomEffect::endInterfacesDisplayBloom(), NL3D::CBloomEffect::init(), and CEGUI::NeLRenderer::NeLRenderer().
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().
| virtual uint NL3D::UDriver::getWindowWidth | ( | ) | [pure virtual] |
Get the width of the window.
Implemented in NL3D::CDriverUser.
Referenced by NL3D::CBloomEffect::endBloom(), NL3D::CBloomEffect::endInterfacesDisplayBloom(), NL3D::CBloomEffect::init(), and CEGUI::NeLRenderer::NeLRenderer().
| virtual void NL3D::UDriver::getZBuffer | ( | std::vector< float > & | zbuffer | ) | [pure virtual] |
get the ZBuffer (back buffer).
| zbuffer | the returned array of Z. size of getWindowSize() . |
Implemented in NL3D::CDriverUser.
| virtual void NL3D::UDriver::getZBufferPart | ( | std::vector< float > & | zbuffer, | |
| NLMISC::CRect & | rect | |||
| ) | [pure virtual] |
get a part of the ZBuffer (back buffer).
NB: 0,0 is the bottom left corner of the screen.
| zbuffer | the returned array of Z. size of rec.Width*rec.Height. | |
| rect | the in/out (wanted/clipped) part of ZBuffer to retrieve. |
Implemented in NL3D::CDriverUser.
| virtual bool NL3D::UDriver::isActive | ( | ) | [pure virtual] |
Return true if driver is still active. Return false else. If he user close the window, must return false.
Implemented in NL3D::CDriverUser.
| virtual bool NL3D::UDriver::isLost | ( | ) | const [pure virtual] |
Implemented in NL3D::CDriverUser.
| virtual bool NL3D::UDriver::isStencilTestEnabled | ( | ) | const [pure virtual] |
Implemented in NL3D::CDriverUser.
| virtual void NL3D::UDriver::loadHLSBank | ( | const std::string & | fileName | ) | [pure virtual] |
Load a .hlsBank, add it to the HLSManager of the AsyncTextureManager.
Use CPath::lookup. throw EPathNotFound if error
Implemented in NL3D::CDriverUser.
| virtual uint32 NL3D::UDriver::profileAllocatedTextureMemory | ( | ) | [pure virtual] |
Return the amount of Texture memory requested.
taking mipmap, compression, texture format, etc... into account. NB: because of GeForce*, RGB888 is considered to be 32 bits. So it may be false for others cards :).
Implemented in NL3D::CDriverUser.
| virtual void NL3D::UDriver::profileIBAllocation | ( | std::vector< std::string > & | result | ) | [pure virtual] |
display index buffer allocated
Implemented in NL3D::CDriverUser.
| virtual void NL3D::UDriver::profileRenderedPrimitives | ( | CPrimitiveProfile & | pIn, | |
| CPrimitiveProfile & | pOut | |||
| ) | [pure virtual] |
Get the number of primitives rendered from the last swapBuffers() call.
| pIn | the number of requested rendered primitive. | |
| pOut | the number of effective rendered primitive. pOut==pIn if no multi-pass material is used (Lightmap, Specular ...). |
Implemented in NL3D::CDriverUser.
| virtual uint32 NL3D::UDriver::profileSetupedMaterials | ( | ) | const [pure virtual] |
Get the number of material setuped from the last swapBuffers() call.
Implemented in NL3D::CDriverUser.
| virtual uint32 NL3D::UDriver::profileSetupedModelMatrix | ( | ) | const [pure virtual] |
Get the number of matrix setuped from the last swapBuffers() call.
Implemented in NL3D::CDriverUser.
| virtual void NL3D::UDriver::profileTextureUsage | ( | std::vector< std::string > & | result | ) | [pure virtual] |
For each texture setuped in the driver, "print" result: type, shareName, format and size (mipmap included).
Implemented in NL3D::CDriverUser.
| virtual void NL3D::UDriver::profileVBHardAllocation | ( | std::vector< std::string > & | result | ) | [pure virtual] |
display VBhards allocated
Implemented in NL3D::CDriverUser.
| void NL3D::UDriver::purgeMemory | ( | ) | [static] |
Purge static memory.
Definition at line 99 of file driver_user.cpp.
References NLMISC::contReset(), NL3D::GetWaterPoolManager(), NL3D::CLandscapeGlobals::PassTriArray, NL3D::CPointLight::purge(), and NL3D::CWaterPoolManager::reset().
Referenced by ~UDriver().
| virtual void NL3D::UDriver::release | ( | ) | [pure virtual] |
Release the window. All components are released (Texture, materials, scene, textcontexts).
Implemented in NL3D::CDriverUser.
| virtual void NL3D::UDriver::setAmbientColor | ( | CRGBA | color | ) | [pure virtual] |
Implemented in NL3D::CDriverUser.
| virtual void NL3D::UDriver::setCapture | ( | bool | b | ) | [pure virtual] |
If true, capture the mouse to force it to stay under the window.
NB : If a low level mouse is used, it does nothing
Implemented in NL3D::CDriverUser.
Referenced by CEGUI::NeLRenderer::captureCursor().
| virtual void NL3D::UDriver::setColorMask | ( | bool | bRed, | |
| bool | bGreen, | |||
| bool | bBlue, | |||
| bool | bAlpha | |||
| ) | [pure virtual] |
Set the color mask filter through where the operation done will pass.
Implemented in NL3D::CDriverUser.
| virtual void NL3D::UDriver::setCullMode | ( | TCullMode | cullMode | ) | [pure virtual] |
Implemented in NL3D::CDriverUser.
Referenced by NL3D::CWaterEnvMapRenderFromUScene::doRender().
Set depth range.
Depth range specify a linear mapping from device z coordinates (in the [-1, 1] range) to window coordinates (in the [0, 1] range) This mapping occurs after clipping of primitives and division by w of vertices coordinates. Default range is [0, 1]. NB : znear should be different from zfar or an assertion is raised
Implemented in NL3D::CDriverUser.
| virtual bool NL3D::UDriver::setDisplay | ( | void * | wnd, | |
| const CMode & | mode, | |||
| bool | show = true, |
|||
| bool | resizeable = true | |||
| ) | [pure virtual] |
Implemented in NL3D::CDriverUser.
| virtual bool NL3D::UDriver::setDisplay | ( | const CMode & | mode, | |
| bool | show = true, |
|||
| bool | resizeable = true | |||
| ) | [pure virtual] |
create the window.
call activate(). Return true if mode activated, false if it failed.
| show | show or hide the window in window mode. |
Implemented in NL3D::CDriverUser.
| virtual void NL3D::UDriver::setFontManagerMaxMemory | ( | uint | maxMem | ) | [pure virtual] |
Set the maxMemory used for the FontManager.
Implemented in NL3D::CDriverUser.
| virtual void NL3D::UDriver::setFrustum | ( | const CFrustum & | frust | ) | [pure virtual] |
Set the active Frustum for rendering.
Implemented in NL3D::CDriverUser.
Referenced by CEGUI::NeLRenderer::doRender(), and CEGUI::NeLRenderer::renderQuad().
| virtual void NL3D::UDriver::setFrustumMatrix | ( | CMatrix & | frust | ) | [pure virtual] |
Implemented in NL3D::CDriverUser.
Implemented in NL3D::CDriverUser.
| virtual void NL3D::UDriver::setMatrixMode2D | ( | const CFrustum & | frust | ) | [pure virtual] |
Tool function: Setup frustum/viewmatrix/modelmatrix for 2D.
ModelMatrix is setup to identity. ViewMatrix is setup so that (x,y) of vectors maps to x,y screen.
Implemented in NL3D::CDriverUser.
Referenced by setMatrixMode2D11(), and setMatrixMode2D43().
| void NL3D::UDriver::setMatrixMode2D11 | ( | ) |
Tool function: same as setMatrixMode2D(), using a CFrustum(0,1,0,1,-1,1,false).
Definition at line 80 of file driver_user.cpp.
References setMatrixMode2D().
Referenced by NL3D::CBloomEffect::applyBlur(), NL3D::CBloomEffect::doBlur(), NL3D::CBloomEffect::endInterfacesDisplayBloom(), NL3D::CDriverUser::setDisplay(), and NL3D::CDriverUser::stretchRect().
| void NL3D::UDriver::setMatrixMode2D43 | ( | ) |
Tool function: same as setMatrixMode2D(), using a CFrustum(0,4/3,0,1,-1,1,false).
Definition at line 85 of file driver_user.cpp.
References setMatrixMode2D().
| virtual void NL3D::UDriver::setMatrixMode3D | ( | UCamera & | camera | ) | [pure virtual] |
Tool function: Setup frustum/viewmatrix/modelmatrix for 3D, using parameters of a UCamera.
ModelMatrix setuped to identity. ViewMatrix setuped to the inverse of camera 's LocalMatrix. Frustum setuped to UCamera frustum.
Implemented in NL3D::CDriverUser.
Referenced by NL3D::CBloomEffect::applyBlur(), and NL3D::CBloomEffect::endInterfacesDisplayBloom().
Implemented in NL3D::CDriverUser.
| virtual void NL3D::UDriver::setModelMatrix | ( | const CMatrix & | mat | ) | [pure virtual] |
Set the active ModelMatrix for rendering.
NB: UScene ignore this function (use camera parameters instead).
Implemented in NL3D::CDriverUser.
| virtual bool NL3D::UDriver::setMonitorColorProperties | ( | const CMonitorColorProperties & | properties | ) | [pure virtual] |
x and y must be between 0.0 and 1.0
Implemented in NL3D::CDriverUser.
| virtual void NL3D::UDriver::setPolygonMode | ( | TPolygonMode | mode | ) | [pure virtual] |
Set the global polygon mode.
Can be filled, line or point. The implementation driver must call IDriver::setPolygonMode and active this mode.
| polygon | mode choose in this driver. |
Implemented in NL3D::CDriverUser.
| virtual void NL3D::UDriver::setScissor | ( | const CScissor & | ) | [pure virtual] |
UScene ignore those function (use camera parameters instead, and UScene viewport), and do not disturb this active Matrix context.
(after a scene rendering, the Matrix context for this interface is restored). Remarks are nearly same for UTextContext, except for UTextContext::render3D() (see doc):
Implemented in NL3D::CDriverUser.
| virtual void NL3D::UDriver::setSwapVBLInterval | ( | uint | interval | ) | [pure virtual] |
set the number of VBL wait when a swapBuffers() is issued.
0 means no synchronisation to the VBL Default is 1. Values >1 may be clamped to 1 by the driver.
Implemented in NL3D::CDriverUser.
setup the mipMap levels.
When the texture is first added, it is loaded skipping the baseLevel first mipmap During time, furhter mipmap are loaded, according to instance position etc... maxLevel tells where to stop. If 0, the texture will finally be entirely uploaded. Default is 3,1.
Implemented in NL3D::CDriverUser.
| virtual void NL3D::UDriver::setupAsyncTextureMaxUploadPerFrame | ( | uint | maxup | ) | [pure virtual] |
Setup max texture upload in driver per updateAsyncTexture() call.
Implemented in NL3D::CDriverUser.
$ fog parameters. fog must enabled to see result. start and end are in [0,1] range.
Implemented in NL3D::CDriverUser.
| virtual void NL3D::UDriver::setupMaxHLSColoringPerFrame | ( | uint | maxCol | ) | [pure virtual] |
Setup max texture HLS Coloring per update() call (in bytes). Default to 20K.
Implemented in NL3D::CDriverUser.
| virtual void NL3D::UDriver::setupMaxTotalAsyncTextureSize | ( | uint | maxText | ) | [pure virtual] |
Setup max total texture size allowed. Default is 10Mo.
Implemented in NL3D::CDriverUser.
| virtual void NL3D::UDriver::setViewMatrix | ( | const CMatrix & | mat | ) | [pure virtual] |
Set the active ViewMatrix for rendering.
NB: this is the view matrix, which is the inverse of camera matrix.
Implemented in NL3D::CDriverUser.
| virtual void NL3D::UDriver::setViewport | ( | const CViewport & | ) | [pure virtual] |
Set the position of the NeL window.
Implemented in NL3D::CDriverUser.
| virtual void NL3D::UDriver::setWindowTitle | ( | const ucstring & | title | ) | [pure virtual] |
Set the title of the NeL window.
Implemented in NL3D::CDriverUser.
| virtual void NL3D::UDriver::showCursor | ( | bool | b | ) | [pure virtual] |
show cursor if b is true, or hide it if b is false NB: This has no effects if a low level mouse is used.
Implemented in NL3D::CDriverUser.
Referenced by CEGUI::NeLRenderer::captureCursor().
| virtual void NL3D::UDriver::showWindow | ( | bool | show = true |
) | [pure virtual] |
Show or hide the NeL window.
Implemented in NL3D::CDriverUser.
| virtual void NL3D::UDriver::startBench | ( | bool | wantStandardDeviation = false, |
|
| bool | quick = false, |
|||
| bool | reset = true | |||
| ) | [pure virtual] |
Implemented in NL3D::CDriverUser.
| virtual void NL3D::UDriver::startProfileIBLock | ( | ) | [pure virtual] |
If the driver support it, enable profile index buffers No-Op if already profiling.
Implemented in NL3D::CDriverUser.
| virtual void NL3D::UDriver::startProfileVBHardLock | ( | ) | [pure virtual] |
If the driver support it, enable profile VBHard locks.
No-Op if already profiling
Implemented in NL3D::CDriverUser.
| virtual void NL3D::UDriver::stencilFunc | ( | TStencilFunc | stencilFunc, | |
| int | ref, | |||
| uint | mask | |||
| ) | [pure virtual] |
Implemented in NL3D::CDriverUser.
| virtual void NL3D::UDriver::stencilMask | ( | uint | mask | ) | [pure virtual] |
Implemented in NL3D::CDriverUser.
| virtual void NL3D::UDriver::stencilOp | ( | TStencilOp | fail, | |
| TStencilOp | zfail, | |||
| TStencilOp | zpass | |||
| ) | [pure virtual] |
Implemented in NL3D::CDriverUser.
| virtual bool NL3D::UDriver::supportBloomEffect | ( | ) | const [pure virtual] |
Implemented in NL3D::CDriverUser.
Referenced by NL3D::CBloomEffect::endBloom(), and NL3D::CBloomEffect::endInterfacesDisplayBloom().
| virtual bool NL3D::UDriver::supportMADOperator | ( | ) | const [pure virtual] |
Implemented in NL3D::CDriverUser.
| virtual void NL3D::UDriver::swapBuffers | ( | ) | [pure virtual] |
This swap the back and front buffer (ALL the buffer :) ).
Implemented in NL3D::CDriverUser.
| virtual TMessageBoxId NL3D::UDriver::systemMessageBox | ( | const char * | message, | |
| const char * | title, | |||
| TMessageBoxType | type = okType, |
|||
| TMessageBoxIcon | icon = noIcon | |||
| ) | [pure virtual] |
Output a system message box and print a message with an icon.
This method can be call even if the driver is not initialized. This method is used to return internal driver problem when string can't be displayed in the driver window. If the driver can't open a messageBox, it should not override this method and let the IDriver class manage it with the ASCII console.
| message | This is the message to display in the message box. | |
| title | This is the title of the message box. | |
| type | This is the type of the message box, ie number of button and label of buttons. | |
| icon | This is the icon of the message box should use like warning, error etc... |
Implemented in NL3D::CDriverUser.
| virtual void NL3D::UDriver::updateAsyncTexture | ( | ) | [pure virtual] |
update the manager.
New loaded texture are uploaded. Instances are updated to know if all their pending textures have been uploaded.
Implemented in NL3D::CDriverUser.
The AsyncListener of this driver. Init after setDisplay()!!
Definition at line 153 of file u_driver.h.
Referenced by NL3D::CDriverUser::release(), and NL3D::CDriverUser::setDisplay().
The EventServer of this driver. Init after setDisplay()!!
Definition at line 151 of file u_driver.h.
Referenced by NL3D::CDriverUser::create3dMouseListener(), NL3D::CDriverUser::delete3dMouseListener(), CEGUI::NeLRenderer::NeLRenderer(), NL3D::CDriverUser::release(), NL3D::CDriverUser::setDisplay(), and CEGUI::NeLRenderer::~NeLRenderer().
1.6.1