TalanSoft Toolkits  201707
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Groups Pages
List of all members
iGraphicsDriver Struct Referenceabstract
Inheritance diagram for iGraphicsDriver:
iUnknown

Detailed Description

Graphics driver.

Remarks
This interface should never be used directly, iGraphics is the interface that should be used.

System

virtual iGraphicsGetGraphics () const =0
 Get the parent iGraphics interface. {Property}. More...
 
virtual const acharGetName () const =0
 Get the driver's name. {Property}. More...
 
virtual const acharGetDesc () const =0
 Get the driver's description. {Property}. More...
 
virtual const acharGetDeviceName () const =0
 Get the driver device's name. {Property}. More...
 
virtual tInt GetCaps (eGraphicsCaps aCaps) const =0
 Get the driver's capabilities. {Property}. More...
 
virtual tGraphicsDriverImplFlags GetGraphicsDriverImplFlags () const =0
 Get the driver implementation details. {Property}. More...
 
virtual void SetDrawOpCapture (iGraphicsDrawOpCapture *apCapture)=0
 Set the draw op capture object. {Property}. More...
 
virtual iGraphicsDrawOpCaptureGetDrawOpCapture () const =0
 Get the draw op capture object. {Property}. More...
 

Context

virtual iGraphicsContextCreateContext (iOSWindow *apWindow, iUnknown *apExtended1, iUnknown *apExtended2, tU32 anWidth, tU32 anHeight, const achar *aaszBBFormat, const achar *aaszDSFormat, tBool abFullScreen, tU32 anSwapInterval, tTextureFlags aBackBufferFlags)=0
 Create a new context. More...
 

Textures

virtual tBool CheckTextureFormat (iBitmapFormat *apFormat, tTextureFlags aFlags)=0
 Check whether the specified texture format is supported and set the bitmap format object to the nearest matching native bitmap format. More...
 
virtual iTextureCreateTexture (iHString *ahspName, eBitmapType aType, const achar *aaszFormat, tU32 anNumMipMaps, tU32 anWidth, tU32 anHeight, tU32 anDepth, tTextureFlags aFlags)=0
 Create a new texture. More...
 
virtual tBool BlitBitmapToTexture (iBitmap2D *apSrc, iTexture *apDest, tU32 anDestLevel, const sRecti &aSrcRect, const sRecti &aDestRect, eTextureBlitFlags aFlags)=0
 Blit a bitmap to a texture. More...
 
virtual tBool BlitTextureToBitmap (iTexture *apSrc, tU32 anSrcLevel, iBitmap2D *apDest, const sRecti &aSrcRect, const sRecti &aDestRect, eTextureBlitFlags aFlags)=0
 Blit a texture to a bitmap. More...
 
virtual tBool BlitTextureToTexture (iTexture *apSrc, tU32 anSrcLevel, iTexture *apDest, tU32 anDestLevel, const sRecti &aSrcRect, const sRecti &aDestRect, eTextureBlitFlags aFlags)=0
 Blit a texture into another texture. More...
 
virtual tBool BlitBitmap3DToTexture (iBitmap3D *apSrc, iTexture *apDest, tU32 anDestLevel, const sVec3i &aSrcMin, const sVec3i &aDestMin, const sVec3i &avSize, eTextureBlitFlags aFlags)=0
 Blit a 3d bitmap to a 3d texture. More...
 
virtual tBool BlitTextureToBitmap3D (iTexture *apSrc, tU32 anSrcLevel, iBitmap3D *apDest, const sVec3i &aSrcMin, const sVec3i &aDestMin, const sVec3i &avSize, eTextureBlitFlags aFlags)=0
 Blit a 3d texture to a 3d bitmap. More...
 

Shaders

virtual tU32 GetNumShaderProfile (eShaderUnit aUnit) const =0
 Get the number of Shader profile supported in the specified unit. More...
 
virtual iHStringGetShaderProfile (eShaderUnit aUnit, tU32 anIndex) const =0
 Get the profile at the specified index. More...
 
virtual iShaderLoadShader (iFile *apFile)=0
 Load a compiled shader from the specified file. More...
 
virtual tBool IsShader (iFile *apFile) const =0
 Check if the given file contains a shader that can be loaded by this driver. More...
 

Occlusion queries.

virtual iOcclusionQueryCreateOcclusionQuery ()=0
 Create a new occlusion query object. More...
 

Optionally driver specific objects.

virtual iVertexArrayCreateVertexArray (tU32 anNumVertices, tFVF anFVF, eArrayUsage aUsage)=0
 Create a new driver vertex array instance. More...
 
virtual iIndexArrayCreateIndexArray (eGraphicsPrimitiveType aPrimitiveType, tU32 anNumIndex, tU32 anMaxVertexIndex, eArrayUsage aUsage)=0
 Create a new driver index array instance. More...
 
virtual iShaderConstantsCreateShaderConstants (tU32 anMaxRegisters) const =0
 Creates a new empty driver shader constants instance. More...
 
virtual tIntPtr CompileSamplerStates (iSamplerStates *apStates)=0
 Compile a sampler states. More...
 
virtual tIntPtr CompileRasterizerStates (iRasterizerStates *apStates)=0
 Compile a rasterizer states. More...
 
virtual tIntPtr CompileDepthStencilStates (iDepthStencilStates *apStates)=0
 Compile a depth stencil states. More...
 

Additional Inherited Members

- Public Member Functions inherited from iUnknown
virtual tBool IsOK () const =0
 Check if the object is valid. More...
 
virtual tI32 AddRef ()=0
 Signal that one more reference of the object has been created. More...
 
virtual tI32 Release ()=0
 Release a reference of the object. More...
 
virtual void DeleteThis ()=0
 Bypass any reference counting and delete this object. More...
 
virtual void Invalidate ()=0
 Invalidate the object. More...
 
virtual iUnknownQueryInterface (const tUUID &aIID)=0
 Query an interface. More...
 
virtual void ListInterfaces (iMutableCollection *apLst, tU32 anFlags) const =0
 Fill a UUID list containing the UUIDs of the implemented interfaces. More...
 
virtual tI32 SetNumRefs (tI32 anNumRefs)=0
 Set the reference counter directly. More...
 
virtual tI32 GetNumRefs () const =0
 Get the number of references to this object. More...
 

Member Function Documentation

virtual iGraphics* GetGraphics ( ) const
pure virtual

Get the parent iGraphics interface. {Property}.

virtual const achar* GetName ( ) const
pure virtual

Get the driver's name. {Property}.

virtual const achar* GetDesc ( ) const
pure virtual

Get the driver's description. {Property}.

virtual const achar* GetDeviceName ( ) const
pure virtual

Get the driver device's name. {Property}.

virtual tInt GetCaps ( eGraphicsCaps  aCaps) const
pure virtual

Get the driver's capabilities. {Property}.

virtual tGraphicsDriverImplFlags GetGraphicsDriverImplFlags ( ) const
pure virtual

Get the driver implementation details. {Property}.

virtual void SetDrawOpCapture ( iGraphicsDrawOpCapture apCapture)
pure virtual

Set the draw op capture object. {Property}.

virtual iGraphicsDrawOpCapture* GetDrawOpCapture ( ) const
pure virtual

Get the draw op capture object. {Property}.

virtual iGraphicsContext* CreateContext ( iOSWindow apWindow,
iUnknown apExtended1,
iUnknown apExtended2,
tU32  anWidth,
tU32  anHeight,
const achar aaszBBFormat,
const achar aaszDSFormat,
tBool  abFullScreen,
tU32  anSwapInterval,
tTextureFlags  aBackBufferFlags 
)
pure virtual

Create a new context.

virtual tBool CheckTextureFormat ( iBitmapFormat apFormat,
tTextureFlags  aFlags 
)
pure virtual

Check whether the specified texture format is supported and set the bitmap format object to the nearest matching native bitmap format.

virtual iTexture* CreateTexture ( iHString ahspName,
eBitmapType  aType,
const achar aaszFormat,
tU32  anNumMipMaps,
tU32  anWidth,
tU32  anHeight,
tU32  anDepth,
tTextureFlags  aFlags 
)
pure virtual

Create a new texture.

Remarks
Setting anNumMipMaps to zero with eTextureFlags_MipMaps automatically computes the number of mipmaps down to 4x4.
virtual tBool BlitBitmapToTexture ( iBitmap2D apSrc,
iTexture apDest,
tU32  anDestLevel,
const sRecti aSrcRect,
const sRecti aDestRect,
eTextureBlitFlags  aFlags 
)
pure virtual

Blit a bitmap to a texture.

virtual tBool BlitTextureToBitmap ( iTexture apSrc,
tU32  anSrcLevel,
iBitmap2D apDest,
const sRecti aSrcRect,
const sRecti aDestRect,
eTextureBlitFlags  aFlags 
)
pure virtual

Blit a texture to a bitmap.

virtual tBool BlitTextureToTexture ( iTexture apSrc,
tU32  anSrcLevel,
iTexture apDest,
tU32  anDestLevel,
const sRecti aSrcRect,
const sRecti aDestRect,
eTextureBlitFlags  aFlags 
)
pure virtual

Blit a texture into another texture.

virtual tBool BlitBitmap3DToTexture ( iBitmap3D apSrc,
iTexture apDest,
tU32  anDestLevel,
const sVec3i aSrcMin,
const sVec3i aDestMin,
const sVec3i avSize,
eTextureBlitFlags  aFlags 
)
pure virtual

Blit a 3d bitmap to a 3d texture.

virtual tBool BlitTextureToBitmap3D ( iTexture apSrc,
tU32  anSrcLevel,
iBitmap3D apDest,
const sVec3i aSrcMin,
const sVec3i aDestMin,
const sVec3i avSize,
eTextureBlitFlags  aFlags 
)
pure virtual

Blit a 3d texture to a 3d bitmap.

virtual tU32 GetNumShaderProfile ( eShaderUnit  aUnit) const
pure virtual

Get the number of Shader profile supported in the specified unit.

virtual iHString* GetShaderProfile ( eShaderUnit  aUnit,
tU32  anIndex 
) const
pure virtual

Get the profile at the specified index.

virtual iShader* LoadShader ( iFile apFile)
pure virtual

Load a compiled shader from the specified file.

virtual tBool IsShader ( iFile apFile) const
pure virtual

Check if the given file contains a shader that can be loaded by this driver.

Remarks
This doesnt change the current position of the file.
virtual iOcclusionQuery* CreateOcclusionQuery ( )
pure virtual

Create a new occlusion query object.

virtual iVertexArray* CreateVertexArray ( tU32  anNumVertices,
tFVF  anFVF,
eArrayUsage  aUsage 
)
pure virtual

Create a new driver vertex array instance.

virtual iIndexArray* CreateIndexArray ( eGraphicsPrimitiveType  aPrimitiveType,
tU32  anNumIndex,
tU32  anMaxVertexIndex,
eArrayUsage  aUsage 
)
pure virtual

Create a new driver index array instance.

virtual iShaderConstants* CreateShaderConstants ( tU32  anMaxRegisters) const
pure virtual

Creates a new empty driver shader constants instance.

virtual tIntPtr CompileSamplerStates ( iSamplerStates apStates)
pure virtual

Compile a sampler states.

virtual tIntPtr CompileRasterizerStates ( iRasterizerStates apStates)
pure virtual

Compile a rasterizer states.

virtual tIntPtr CompileDepthStencilStates ( iDepthStencilStates apStates)
pure virtual

Compile a depth stencil states.