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

Detailed Description

Graphics interface.

FVF

virtual tU32 FVFGetTexCooDim (tFVF anFVF, tU32 anTexCooIndex) const =0
 Get the number of dimensions of the specified texture coordinates. anTexCooIndex is the index (0 to 7). More...
 
virtual tU32 FVFGetNumTexCoos (tFVF anFVF) const =0
 Get the number of texture coordinates of the specified FVF. More...
 
virtual cString FVFToString (tFVF aFVF) const =0
 Convert the specified FVF to a string. More...
 
virtual tFVF FVFFromString (const achar *aaszString) const =0
 Get a FVF from the specified string. More...
 
virtual tU32 FVFGetComponentOffset (tFVF aFVF, eFVF C) const =0
 Get the offset of the specified component. More...
 
virtual tU32 FVFGetStride (tFVF aFVF) const =0
 Get the size of a FVF. More...
 

Pixel Format

virtual iPixelFormatCreatePixelFormat (const achar *aszFormat)=0
 Create a pixel format. More...
 

Bitmaps

virtual iBitmapFormatCreateBitmapFormat (eBitmapType aType, const achar *aaszFormat, tU32 anNumMipMaps, tU32 anWidth, tU32 anHeight, tU32 anDepth)=0
 Create a new bitmap format. More...
 
virtual iBitmapFormatCreateBitmapFormatEx (eBitmapType aType, iPixelFormat *pFmt, tU32 anNumMipMaps, tU32 anWidth, tU32 anHeight, tU32 anDepth)=0
 Create a new bitmap format. More...
 
virtual iBitmapFormatCreateBitmapFormatEmpty ()=0
 Create a new empty bitmap format. More...
 
virtual iBitmapBaseCreateBitmap (iHString *ahspName, eBitmapType aType, const achar *aaszFormat, tU32 anNumMipMaps, tU32 anWidth, tU32 anHeight, tU32 anDepth)=0
 Create a new bitmap. More...
 
virtual iBitmapBaseCreateBitmapEx (iHString *ahspName, eBitmapType aType, iPixelFormat *pFmt, tU32 anNumMipMaps, tU32 anWidth, tU32 anHeight, tU32 anDepth)=0
 Create a new bitmap. More...
 
virtual iBitmap2DCreateBitmap2DEx (tU32 nW, tU32 nH, iPixelFormat *pFmt)=0
 Create a 2D bitmap. More...
 
virtual iBitmap2DCreateBitmap2D (tU32 nW, tU32 nH, const achar *aszPixFmt)=0
 Create a 2D bitmap. More...
 
virtual iBitmap2DCreateBitmap2DMemoryEx (tU32 nW, tU32 nH, iPixelFormat *pFmt, tU32 anPitch, tPtr ptrAddr, tBool bFreeAddr)=0
 Create a 2D bitmap from the specified memory. More...
 
virtual iBitmap2DCreateBitmap2DMemory (tU32 nW, tU32 nH, const achar *aszPixFmt, tU32 anPitch, tPtr ptrAddr, tBool bFreeAddr)=0
 Create a 2D bitmap from the specified memory. More...
 
virtual iBitmapCubeCreateBitmapCubeEx (tU32 ulSize, iPixelFormat *pFmt)=0
 Create a Cube bitmap. More...
 
virtual iBitmapCubeCreateBitmapCube (tU32 ulSize, const achar *aszPixFmt)=0
 Create a Cube bitmap. More...
 
virtual iBitmap3DCreateBitmap3DEx (tU32 anW, tU32 anH, tU32 anD, iPixelFormat *apFmt)=0
 Create a 3D bitmap. More...
 
virtual iBitmap3DCreateBitmap3D (tU32 anW, tU32 anH, tU32 anD, const achar *aaszPixFmt)=0
 Create a 3D bitmap. More...
 
virtual iBitmap3DCreateBitmap3DMemoryEx (tU32 anW, tU32 anH, tU32 anD, iPixelFormat *apFmt, tU32 anRowPitch, tU32 anSlicePitch, tPtr aptrAddr, tBool abFreeAddr)=0
 Create a 3D bitmap from the specified memory. More...
 
virtual iBitmap3DCreateBitmap3DMemory (tU32 anW, tU32 anH, tU32 anD, const achar *aszPixFmt, tU32 anRowPitch, tU32 anSlicePitch, tPtr aptrAddr, tBool abFreeAddr)=0
 Create a 3D bitmap from the specified memory. More...
 
virtual iBitmapBaseLoadBitmap (iFile *pFile)=0
 Load a bitmap from a file. More...
 
virtual iBitmapBaseLoadBitmapFromRes (iHString *ahspRes, iHString *ahspBasePath)=0
 Load a bitmap from a resource. More...
 
virtual iBitmapBaseLoadBitmapEx (const achar *aaszFormat, iFile *pFile)=0
 Load a bitmap from a file with the specified format. More...
 
virtual tBool SaveBitmap (const achar *aszFile, iBitmapBase *pBmp, tU32 ulCompression=0)=0
 Save a bitmap in a file. More...
 
virtual tBool SaveBitmapEx (const achar *aaszFormat, iFile *apFile, iBitmapBase *apBmp, tU32 anCompression)=0
 Save a bitmap in the specified format in a file. More...
 
virtual cString URLFindBitmapFilePath (const achar *aszRes, const achar *aszBasePath)=0
 Find the path/url matching the specified resource and basepath. More...
 
virtual iFileOpenBitmapFile (const achar *aszRes, const achar *aszBasePath=NULL)=0
 Open a bitmap file. More...
 

Geometries

virtual iGeometryCreateGeometryPolygonal (tU32 aulNumVertices, tU32 aulNumIndices, tGeometryCreateFlags aFlags, tFVF aFVF)=0
 Create a polygonal geometry. More...
 
virtual iGeometryCreateGeometryPolygonalEx (iVertexArray *apVA, iIndexArray *apIA)=0
 Create a polygonal geometry from an exisiting vertex array and index array. More...
 
virtual iGeometryModifierCreateGeometryModifier (const achar *aszName, iGeometry *apGeometry, iUnknown *apInitData)=0
 Create a geometry modifier. More...
 
virtual iGeometryCreateGeometryPolygonalCube (tGeometryCreateFlags aFlags, tFVF aFVF, const sVec3f &avCenter, tF32 afWidth, tBool abCW, tU32 aulColor, const sMatrixf &amtxUV)=0
 Create a cube polygonal geometry. More...
 
virtual iGeometryCreateGeometryPolygonalPlane (tGeometryCreateFlags aFlags, tFVF aFVF, ePlaneType aPlaneType, const sVec3f &avCenter, tF32 afWidth, tF32 afHeight, tU32 aulNumDiv, tBool abCW, tU32 aulColor, const sMatrixf &amtxUV)=0
 Create a plane polygonal geometry. More...
 
virtual iGeometryCreateGeometryPolygonalCylinder (tGeometryCreateFlags aFlags, tFVF aFVF, tF32 baseRadius, tF32 topRadius, tF32 height, tI32 slices, tI32 stacks, tBool abCW, tU32 aulColor, const sMatrixf &amtxUV, tBool abCap, tBool abCentered)=0
 Create a cylinder polygonal geometry. More...
 
virtual iGeometryCreateGeometryPolygonalSphere (tGeometryCreateFlags aFlags, tFVF aFVF, tF32 radius, tI32 slices, tI32 stacks, tBool abCW, tU32 aulColor, const sMatrixf &amtxUV)=0
 Create a sphere polygonal geometry. More...
 
virtual iGeometryCreateGeometryPolygonalGeosphere (tGeometryCreateFlags aFlags, tFVF aFVF, tF32 radius, tI32 slices, tBool abCW, tU32 aulColor, const sMatrixf &amtxUV)=0
 Create a geosphere polygonal geometry. More...
 
virtual iGeometryCreateGeometryPolygonalDiskSweep (tGeometryCreateFlags aFlags, tFVF aFVF, tF32 innerRadius, tF32 outerRadius, tI32 slices, tI32 stacks, tF32 startAngle, tF32 sweepAngle, tBool abCW, tU32 aulColor, const sMatrixf &amtxUV)=0
 Create a disk sweep polygonal geometry. More...
 
virtual tBool UpdateGeometryPolygonalDiskSweep (iGeometry *apGeom, tF32 innerRadius, tF32 outerRadius, tI32 slices, tI32 stacks, tF32 startAngle, tF32 sweepAngle, tBool abCW, tU32 aulColor, const sMatrixf &amtxUV)=0
 Update a disk polygonal geometry. More...
 
virtual iGeometryCreateGeometryPolygonalDisk (tGeometryCreateFlags aFlags, tFVF aFVF, tF32 innerRadius, tF32 outerRadius, tI32 slices, tI32 stacks, tBool abCW, tU32 aulColor, const sMatrixf &amtxUV)=0
 Create a disk polygonal geometry. More...
 

Graphics context

virtual tBool InitializeDriver (iHString *ahspDriverName)=0
 Initialize the specified hardware driver. More...
 
virtual tBool GetIsDriverInitialized () const =0
 Get whether the driver has been initialized. {Property}. More...
 
virtual iGraphicsDriverGetDriver () const =0
 Get the driver that has been initialized. {Property}. More...
 
virtual tInt GetDriverCaps (eGraphicsCaps aCaps) const =0
 Get the driver's capabilities. {Property}. More...
 
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
 Creates a new context. More...
 
virtual iDeviceResourceManagerGetGenericDeviceResourceManager () const =0
 Get the generice device resource manager. {Property}. More...
 

States

virtual iSamplerStatesCreateSamplerStates ()=0
 Create a new sampler states instance. More...
 
virtual iDepthStencilStatesCreateDepthStencilStates ()=0
 Create a new depth stencil states instance. More...
 
virtual iRasterizerStatesCreateRasterizerStates ()=0
 Create a new rasterizer states instance. More...
 
virtual iFixedStatesCreateFixedStates ()=0
 Create a new fixed pipeline states instance. 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 iDeviceResourceManagerGetTextureDeviceResourceManager () const =0
 Get the texture device resource manager. {Property}. More...
 
virtual tU32 GetNumTextures () const =0
 Get the number of textures in the manager. {Property}. More...
 
virtual iTextureGetTextureFromName (iHString *ahspName) const =0
 Get a texture from its name. {Property}. More...
 
virtual iTextureGetTextureFromIndex (tU32 anIndex) const =0
 Get a texture from its index. {Property}. 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 iTextureCreateTextureFromBitmap (iHString *ahspName, iBitmapBase *apBitmap, tTextureFlags aFlags)=0
 Create a new texture from the specified bitmap. More...
 
virtual iTextureCreateTextureFromRes (iHString *ahspRes, iHString *ahspBasePath, tTextureFlags aFlags)=0
 Create a new texture from the specified resource. More...
 
virtual void SetRecreateTextureWhenChanged (tBool abEnabled)=0
 Set whether CreateTextureFromRes recreates the texture when the source resource has changed. {Property}. More...
 
virtual tBool GetRecreateTextureWhenChanged () const =0
 Get whether CreateTextureFromRes recreates the texture when the source resource has changed. {Property}. More...
 
virtual tBool BlitBitmapToTexture (iBitmap2D *apSrc, iTexture *apDest, tU32 anDestLevel, const sRecti &aSrcRect=sRecti(0, 0), const sRecti &aDestRect=sRecti(0, 0), eTextureBlitFlags aFlags=eTextureBlitFlags_None)=0
 Blit a bitmap to a texture. More...
 
virtual tBool BlitTextureToBitmap (iTexture *apSrc, tU32 anSrcLevel, iBitmap2D *apDest, const sRecti &aSrcRect=sRecti(0, 0), const sRecti &aDestRect=sRecti(0, 0), eTextureBlitFlags aFlags=eTextureBlitFlags_None)=0
 Blit a texture to a bitmap. More...
 
virtual tBool BlitTextureToTexture (iTexture *apSrc, tU32 anSrcLevel, iTexture *apDest, tU32 anDestLevel, const sRecti &aSrcRect=sRecti(0, 0), const sRecti &aDestRect=sRecti(0, 0), eTextureBlitFlags aFlags=eTextureBlitFlags_None)=0
 Blit a texture into another texture. More...
 
virtual tBool BlitBitmap3DToTexture (iBitmap3D *apSrc, iTexture *apDest, tU32 anDestLevel, const sVec3i &aSrcMin=sVec3i::Zero(), const sVec3i &aDestMin=sVec3i::Zero(), const sVec3i &avSize=sVec3i::Zero(), eTextureBlitFlags aFlags=eTextureBlitFlags_None)=0
 Blit a 3d bitmap to a 3d texture. More...
 
virtual tBool BlitTextureToBitmap3D (iTexture *apSrc, tU32 anSrcLevel, iBitmap3D *apDest, const sVec3i &aSrcMin=sVec3i::Zero(), const sVec3i &aDestMin=sVec3i::Zero(), const sVec3i &avSize=sVec3i::Zero(), eTextureBlitFlags aFlags=eTextureBlitFlags_None)=0
 Blit a 3d texture to a 3d bitmap. More...
 
virtual iBitmapBaseCreateBitmapFromTexture (iTexture *apSrc)=0
 Create a bitmap from a texture. 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 iShaderConstantsCreateShaderConstants (tU32 anMaxRegisters) const =0
 Creates an empty shader constants instance. More...
 
virtual tBool SerializeShaderConstants (iShaderConstants *apConsts, iDataTable *apDT, tSerializeFlags aFlags)=0
 Serialize shader constants in the specified datatable. More...
 
virtual iDeviceResourceManagerGetShaderDeviceResourceManager () const =0
 Get the shader device resource manager. {Property}. More...
 
virtual tBool IsShader (iFile *apFile) const =0
 Check if the given file contains a shader that can be loaded by this driver. More...
 
virtual iShaderLoadShader (iFile *apFile)=0
 Load a compiled shader from the specified file. More...
 
virtual iFileCompileShader (iHString *ahspName, eShaderUnit aUnit, iHString *ahspProfileName, iFile *apProgram, iDataTable *apMacros, tShaderCompilerFlags aFlags)=0
 Compile a shader. More...
 

Vertex, index and instance array.

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

Draw operation set.

virtual iDrawOperationCreateDrawOperation ()=0
 Creates a new draw operation. More...
 
virtual iDrawOperationSetCreateDrawOperationSet ()=0
 Create a draw operation set. More...
 

Occlusion queries.

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

Objects compilation

virtual tIntPtr CompileSamplerStates (iSamplerStates *apStates)=0
 Compile a sampler states. More...
 
virtual iSamplerStatesGetCompiledSamplerStates (tIntPtr aHandle) const =0
 Get the specified compiled sampler states. {Property}. More...
 
virtual tIntPtr CompileRasterizerStates (iRasterizerStates *apStates)=0
 Compile a rasterizer states. More...
 
virtual iRasterizerStatesGetCompiledRasterizerStates (tIntPtr aHandle) const =0
 Get the specified compiled rasterizer states. {Property}. More...
 
virtual tIntPtr CompileDepthStencilStates (iDepthStencilStates *apStates)=0
 Compile a depth stencil states. More...
 
virtual iDepthStencilStatesGetCompiledDepthStencilStates (tIntPtr aHandle) const =0
 Get the specified compiled depth stencil states. {Property}. More...
 

Materials

virtual iMaterialCreateMaterial ()=0
 Create an empty material. More...
 
virtual iMaterialLibraryCreateMaterialLibrary ()=0
 Create a material library. More...
 

Graphics debugger

virtual iGraphicsDrawOpCaptureCreateDrawOpCapture ()=0
 Create a new draw op capture object. 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...
 

Colors

virtual tF32 ColorLuminance (const sVec3f &aColor)=0
 Get the lumiance of a 3d color. More...
 
virtual tF32 ColorLuminanceEx (const sVec3f &aColor, const sVec3f &avLuminanceDistribution)=0
 Get the lumiance of a 3d color, allow to specify a luminance distribution. More...
 
virtual sVec3f ColorGammaCorrect (const sVec3f &aC, tF32 afFactor)=0
 Correct the gamma of a color. More...
 
virtual sVec3f ColorAdjustContrast (const sVec3f &C, tF32 c)=0
 Adjust the contrast of a color. More...
 
virtual sVec3f ColorAdjustSaturation (const sVec3f &C, tF32 s)=0
 Adjust the saturation of a color. More...
 
virtual sVec3f ColorNegative (const sVec3f &C)=0
 Get the negative of a color. More...
 
virtual sVec3f ColorGrey (const sVec3f &C)=0
 Gray a color. More...
 
virtual sVec3f ColorBlackWhite (const sVec3f &C, tF32 s)=0
 Set a color to be black or white in function of the specified reference. More...
 
virtual sVec4f ColorConvert (eColorSpace aSource, eColorSpace aDest, const sVec4f &aColor)=0
 Convert a color from one color space to another. More...
 
virtual sVec4f ColorConvertEx (eColorSpace aSource, eColorSpace aDest, const sVec4f &aColor, const sVec4f &aXYZRef)=0
 Convert a color from one color space to another, allows to specify the XYZ reference. More...
 
virtual tU32 GetNumNamedColors () const =0
 Get the number of named colors. {Property}. More...
 
virtual const acharGetColorName (tU32 anIndex) const =0
 Get the name of the color at the specified index. {Property}. More...
 
virtual tU32 GetColorIndex (iHString *ahspName) const =0
 Get the index of the color with the specified name. {Property}. More...
 
virtual tU32 GetColorValue (tU32 anIndex) const =0
 Get the value of the color at the specified index. {Property}. More...
 
virtual const acharFindColorName (const sColor4f &aColor) const =0
 Find the color with the closest match to the specified color. More...
 
virtual sVec3f GetColor3FromName (iHString *ahspName) const =0
 Get a color from it's name. {Property}. More...
 
virtual sVec4f GetColor4FromName (iHString *ahspName) const =0
 Get a color from it's name. {Property}. More...
 
virtual sVec4f GetColor4FromNameA (iHString *ahspName, tF32 afAlpha) const =0
 Get a color from it's name, specifying the alpha. More...
 
virtual sVec3f GetCssColor3FromName (iHString *ahspName) const =0
 Get a color from it's name. {Property}. More...
 
virtual sVec4f GetCssColor4FromName (iHString *ahspName) const =0
 Get a css color from it's name. {Property}. More...
 
virtual sVec4f GetCssColor4FromNameA (iHString *ahspName, tF32 afAlpha) const =0
 Get a css color from it's name, specifying the alpha. More...
 

UDPoints

virtual void UDPointsSphereRandom (tVec3fCVec *apResults) const =0
 Generates random points on a unit sphere. More...
 
virtual void UDPointsSphereHammersley (tVec3fCVec *apResults) const =0
 Generates hammersley base2 points on a unit sphere. More...
 
virtual void UDPointsSphereHammersleyEx (tVec3fCVec *apResults, tI32 p1) const =0
 Generates hammersley base p1 points on a unit sphere. More...
 
virtual void UDPointsSphereHalton (tVec3fCVec *apResults, tI32 p2=3) const =0
 Generates halton p1=2,p2 points on a unit sphere. More...
 
virtual void UDPointsSphereHaltonEx (tVec3fCVec *apResults, tI32 p1, tI32 p2) const =0
 Generates halton p1,p2 points on a unit sphere. More...
 
virtual void UDPointsHemisphereRandom (tVec3fCVec *apResults) const =0
 Generates random points on a unit hemisphere. More...
 
virtual void UDPointsHemisphereHammersley (tVec3fCVec *apResults) const =0
 Generates hammersley base2 points on a unit hemisphere. More...
 
virtual void UDPointsHemisphereHammersleyEx (tVec3fCVec *apResults, tI32 p1) const =0
 Generates hammersley base p1 points on a unit hemisphere. More...
 
virtual void UDPointsHemisphereHalton (tVec3fCVec *apResults, tI32 p2=3) const =0
 Generates halton p1=2,p2 points on a unit hemisphere. More...
 
virtual void UDPointsHemisphereHaltonEx (tVec3fCVec *apResults, tI32 p1, tI32 p2) const =0
 Generates halton p1,p2 points on a unit hemisphere. More...
 
virtual void UDPointsPlaneRandom (tVec2fCVec *apResults) const =0
 Generate random points on a unit plane. More...
 
virtual void UDPointsPlaneHammersley (tVec2fCVec *apResults) const =0
 Generate hammersley base2 points on a unit plane. More...
 
virtual void UDPointsPlaneHammersleyEx (tVec2fCVec *apResults, tI32 p1) const =0
 Generate hammersley base p1 points on a unit plane. More...
 
virtual void UDPointsPlaneHalton (tVec2fCVec *apResults, tI32 p2=3) const =0
 Generate halton p1=2,p2 points on a unit plane. More...
 
virtual void UDPointsPlaneHaltonEx (tVec2fCVec *apResults, tI32 p1, tI32 p2) const =0
 Generate halton p1,p2 points on a unit plane. More...
 

Damped springs

virtual tF32 DampedSpringGetDampingRatio (const tF32 Ks, const tF32 Kd) const =0
 Get the damping ratio of a spring set with the specified Ks/Kd constants. More...
 
virtual tF32 DampedSpringComputeKdFromDampingRatio (const tF32 Ks, const tF32 E) const =0
 Compute the value of Kd for the specified Ks that will result in a spring with the specified damping ratio. More...
 
virtual tF32 DampedSpringAcceleration1 (tF32 D, tF32 V, const tF32 Ks, const tF32 Kd) const =0
 Computes the acceleration of a 1D damped spring system. More...
 
virtual sVec2f DampedSpringAcceleration2 (const sVec2f &D, const sVec2f &V, const tF32 Ks, const tF32 Kd) const =0
 Computes the acceleration of a 1D damped spring system. More...
 
virtual sVec3f DampedSpringAcceleration3 (const sVec3f &D, const sVec3f &V, const tF32 Ks, const tF32 Kd) const =0
 Computes the acceleration of a 1D damped spring system. More...
 
virtual sVec4f DampedSpringAcceleration4 (const sVec4f &D, const sVec4f &V, const tF32 Ks, const tF32 Kd) const =0
 Computes the acceleration of a 4D damped spring system. The spring acceleration is applied in the direction opposite from its displacement from a rest position, and a damping acceleration is applied in the direction opposite from its velocity. The damping ratio is : E = Kd/(2*sqrt(Ks)). More...
 
virtual ni::iDampedSpring1CreateDampedSpring1 (const tF32 Ks, const tF32 Kd) const =0
 Creates a 1D damped spring. More...
 
virtual ni::iDampedSpring2CreateDampedSpring2 (const tF32 Ks, const tF32 Kd) const =0
 Creates a 2D damped spring. More...
 
virtual ni::iDampedSpring3CreateDampedSpring3 (const tF32 Ks, const tF32 Kd) const =0
 Creates a 3D damped spring. More...
 
virtual ni::iDampedSpring4CreateDampedSpring4 (const tF32 Ks, const tF32 Kd) const =0
 Creates a 4D damped spring. More...
 
virtual
ni::iDampedSpringPosition1
CreateDampedSpringPosition1 (const tF32 Ks, const tF32 Kd) const =0
 Creates a 1D damped spring position. More...
 
virtual
ni::iDampedSpringPosition2
CreateDampedSpringPosition2 (const tF32 Ks, const tF32 Kd) const =0
 Creates a 2D damped spring position. More...
 
virtual
ni::iDampedSpringPosition3
CreateDampedSpringPosition3 (const tF32 Ks, const tF32 Kd) const =0
 Creates a 3D damped spring position. More...
 
virtual
ni::iDampedSpringPosition4
CreateDampedSpringPosition4 (const tF32 Ks, const tF32 Kd) const =0
 Creates a 4D damped spring position. More...
 

Objects

virtual iTransformCreateTransform () const =0
 Creates a new transform. More...
 
virtual iFrustumCreateFrustum () const =0
 Creates a new frustum. More...
 
virtual iBoundingVolumeCreateAABB () const =0
 Creates a new AABB. More...
 
virtual iIntersectionCreateIntersection () const =0
 Creates an intersection. More...
 
virtual iCameraCreateCamera () const =0
 Creates a new camera instance. More...
 
virtual iNUSplineCreateNUSpline (eNUSplineType aType) const =0
 Creates a new Non-uniform spline. More...
 

Overlays

virtual iOverlayCreateOverlayColor (const sColor4f &aColor)=0
 Creates a color overlay. More...
 
virtual iOverlayCreateOverlayResource (iHString *ahspRes)=0
 Create an overlay from the specified resource. More...
 
virtual iOverlayCreateOverlayTexture (iTexture *apTexture)=0
 Creates an overlay that will use the specified texture. More...
 
virtual iOverlayCreateOverlayImage (iImage *apImage)=0
 Creates an overlay that will use the specified image. More...
 
virtual iOverlayCreateOverlayMaterial (iMaterial *apMaterial)=0
 Creates an overlay that will use the specified material. More...
 

Font

virtual iFontLoadFont (iHString *ahspName)=0
 Load a font. More...
 
virtual iFontLoadFontEx (iHString *ahspName, tFontLoadFlags aFlags)=0
 Load a font. More...
 
virtual iFontCreateFont (iHString *ahspName, iFile *pFile)=0
 Create a font from the given file. More...
 
virtual iFontCreateFontFromBitmap (iHString *ahspName, iBitmap2D *pBmp)=0
 Create a font from the given bitmap. More...
 
virtual iFontCreateFont8x8 (iHString *ahspName)=0
 Create the default 8x8 system font. More...
 
virtual tBool RegisterSystemFonts ()=0
 Register all the system fonts. More...
 
virtual tBool RegisterSystemFont (iHString *ahspName, iHString *ahspFilePath, iFont *apFont)=0
 Register a new font as a system font. More...
 
virtual tU32 GetNumSystemFonts () const =0
 Get the number of system fonts registered. {Property}. More...
 
virtual iHStringGetSystemFontName (tU32 anIndex) const =0
 Get the name of the specified system font. {Property}. More...
 
virtual iHStringGetSystemFontFilePath (tU32 anIndex) const =0
 Get the file path of the specified system font. {Property}. More...
 
virtual iHStringGetSystemFontFileName (tU32 anIndex) const =0
 Get the file name of the specified system font. {Property}. More...
 
virtual tU32 GetNumFonts () const =0
 Get the number of fonts registered. {Property}. More...
 
virtual iFontGetFontFromIndex (tU32 anIndex) const =0
 Get the font at the given index. {Property}. More...
 
virtual iFontGetFontFromName (iHString *ahspName) const =0
 Get a font from its exact name. {Property}. More...
 
virtual iFontFindFont (iHString *ahspName, tFontLoadFlags mode) const =0
 Find a loaded font which matches the specified names. More...
 
virtual tBool ClearAllFontCaches ()=0
 Clear all font caches. More...
 
virtual tU32 GetFontCacheID () const =0
 Get the global font cache ID. More...
 

Images and Canvas.

virtual iImageCreateImage (tU32 anWidth, tU32 anHeight)=0
 Create a new blank empty image. More...
 
virtual iImageCreateImageFromFile (iFile *apFile)=0
 Create a new image from the specified bitmap file. More...
 
virtual iImageCreateImageFromResource (iHString *ahspRes)=0
 Create a new image from the specified resource. More...
 
virtual iImageCreateImageFromBitmap (iBitmap2D *apBitmap)=0
 Create a new image from the specified bitmap. More...
 
virtual iImageCreateImageFromTexture (iTexture *apTexture)=0
 Create a new image from the specified texture. More...
 
virtual iImageCreateImageFromBitmapAndTexture (iBitmap2D *apBitmap, iTexture *apTexture)=0
 Create a new image from the specified bitmap and texture. More...
 
virtual iImageCreateImageEx (tU32 anWidth, tU32 anHeight, iBitmap2D *apBmp, iTexture *apTex, iTexture *apDepthStencil)=0
 Create a new image. More...
 
virtual iImageMapCreateImageMap (const achar *aaszBaseName, const achar *aaszPxf)=0
 Create an image map. More...
 
virtual iGraphicsContextCreateImageGraphicsContext (iImage *apImage, iGraphicsContext *apGraphicsContext)=0
 Create a graphics context that uses the specified Image as main render target and depth buffer. More...
 
virtual iCanvasCreateCanvas (iGraphicsContext *apContext, iMaterial *apResetMaterial)=0
 Creates a new canvas. More...
 

Text object

virtual Ptr< iTextObjectCreateTextObject (const sVec2f &avSize, const achar *aaszText)=0
 Create a new text object. More...
 

Video

virtual tBool IsVideoFile (iFile *apFile) const =0
 Check whether the given file is a supported video file. More...
 
virtual iVideoDecoderCreateVideoDecoder (iHString *ahspName, iFile *apFile, tU32 aFlags)=0
 Create a video decoder. 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 tU32 FVFGetTexCooDim ( tFVF  anFVF,
tU32  anTexCooIndex 
) const
pure virtual

Get the number of dimensions of the specified texture coordinates. anTexCooIndex is the index (0 to 7).

virtual tU32 FVFGetNumTexCoos ( tFVF  anFVF) const
pure virtual

Get the number of texture coordinates of the specified FVF.

virtual cString FVFToString ( tFVF  aFVF) const
pure virtual

Convert the specified FVF to a string.

virtual tFVF FVFFromString ( const achar aaszString) const
pure virtual

Get a FVF from the specified string.

virtual tU32 FVFGetComponentOffset ( tFVF  aFVF,
eFVF  C 
) const
pure virtual

Get the offset of the specified component.

virtual tU32 FVFGetStride ( tFVF  aFVF) const
pure virtual

Get the size of a FVF.

virtual iPixelFormat* CreatePixelFormat ( const achar aszFormat)
pure virtual

Create a pixel format.

Parameters
aszFormatis a achar string which describe the pixel format to create.
Returns
an interface to handle the created pixel format.
Remarks
Pixel format are created throught plugins, so the supported formats depend of the loaded plugins.
virtual iBitmapFormat* CreateBitmapFormat ( eBitmapType  aType,
const achar aaszFormat,
tU32  anNumMipMaps,
tU32  anWidth,
tU32  anHeight,
tU32  anDepth 
)
pure virtual

Create a new bitmap format.

virtual iBitmapFormat* CreateBitmapFormatEx ( eBitmapType  aType,
iPixelFormat pFmt,
tU32  anNumMipMaps,
tU32  anWidth,
tU32  anHeight,
tU32  anDepth 
)
pure virtual

Create a new bitmap format.

virtual iBitmapFormat* CreateBitmapFormatEmpty ( )
pure virtual

Create a new empty bitmap format.

virtual iBitmapBase* CreateBitmap ( iHString ahspName,
eBitmapType  aType,
const achar aaszFormat,
tU32  anNumMipMaps,
tU32  anWidth,
tU32  anHeight,
tU32  anDepth 
)
pure virtual

Create a new bitmap.

virtual iBitmapBase* CreateBitmapEx ( iHString ahspName,
eBitmapType  aType,
iPixelFormat pFmt,
tU32  anNumMipMaps,
tU32  anWidth,
tU32  anHeight,
tU32  anDepth 
)
pure virtual

Create a new bitmap.

virtual iBitmap2D* CreateBitmap2DEx ( tU32  nW,
tU32  nH,
iPixelFormat pFmt 
)
pure virtual

Create a 2D bitmap.

Remarks
the given iPixelFormat instance will be release if the creation failed and when the bitmap is released.
virtual iBitmap2D* CreateBitmap2D ( tU32  nW,
tU32  nH,
const achar aszPixFmt 
)
pure virtual

Create a 2D bitmap.

virtual iBitmap2D* CreateBitmap2DMemoryEx ( tU32  nW,
tU32  nH,
iPixelFormat pFmt,
tU32  anPitch,
tPtr  ptrAddr,
tBool  bFreeAddr 
)
pure virtual

Create a 2D bitmap from the specified memory.

Remarks
the given iPixelFormat instance will be release if the creation failed and when the bitmap is released.
virtual iBitmap2D* CreateBitmap2DMemory ( tU32  nW,
tU32  nH,
const achar aszPixFmt,
tU32  anPitch,
tPtr  ptrAddr,
tBool  bFreeAddr 
)
pure virtual

Create a 2D bitmap from the specified memory.

virtual iBitmapCube* CreateBitmapCubeEx ( tU32  ulSize,
iPixelFormat pFmt 
)
pure virtual

Create a Cube bitmap.

virtual iBitmapCube* CreateBitmapCube ( tU32  ulSize,
const achar aszPixFmt 
)
pure virtual

Create a Cube bitmap.

virtual iBitmap3D* CreateBitmap3DEx ( tU32  anW,
tU32  anH,
tU32  anD,
iPixelFormat apFmt 
)
pure virtual

Create a 3D bitmap.

virtual iBitmap3D* CreateBitmap3D ( tU32  anW,
tU32  anH,
tU32  anD,
const achar aaszPixFmt 
)
pure virtual

Create a 3D bitmap.

virtual iBitmap3D* CreateBitmap3DMemoryEx ( tU32  anW,
tU32  anH,
tU32  anD,
iPixelFormat apFmt,
tU32  anRowPitch,
tU32  anSlicePitch,
tPtr  aptrAddr,
tBool  abFreeAddr 
)
pure virtual

Create a 3D bitmap from the specified memory.

virtual iBitmap3D* CreateBitmap3DMemory ( tU32  anW,
tU32  anH,
tU32  anD,
const achar aszPixFmt,
tU32  anRowPitch,
tU32  anSlicePitch,
tPtr  aptrAddr,
tBool  abFreeAddr 
)
pure virtual

Create a 3D bitmap from the specified memory.

virtual iBitmapBase* LoadBitmap ( iFile pFile)
pure virtual

Load a bitmap from a file.

virtual iBitmapBase* LoadBitmapFromRes ( iHString ahspRes,
iHString ahspBasePath 
)
pure virtual

Load a bitmap from a resource.

virtual iBitmapBase* LoadBitmapEx ( const achar aaszFormat,
iFile pFile 
)
pure virtual

Load a bitmap from a file with the specified format.

virtual tBool SaveBitmap ( const achar aszFile,
iBitmapBase pBmp,
tU32  ulCompression = 0 
)
pure virtual

Save a bitmap in a file.

virtual tBool SaveBitmapEx ( const achar aaszFormat,
iFile apFile,
iBitmapBase apBmp,
tU32  anCompression 
)
pure virtual

Save a bitmap in the specified format in a file.

virtual cString URLFindBitmapFilePath ( const achar aszRes,
const achar aszBasePath 
)
pure virtual

Find the path/url matching the specified resource and basepath.

virtual iFile* OpenBitmapFile ( const achar aszRes,
const achar aszBasePath = NULL 
)
pure virtual

Open a bitmap file.

Parameters
aszResis the resource to open.
aszBasePathis an optional path where the resources will be searched first. Only the directory of the path is used.
Remarks
Search all the known extensions if no extension is specified.
If no resource manager is registered in the system only the low level File opening methods are used.
virtual iGeometry* CreateGeometryPolygonal ( tU32  aulNumVertices,
tU32  aulNumIndices,
tGeometryCreateFlags  aFlags,
tFVF  aFVF 
)
pure virtual

Create a polygonal geometry.

Remarks
to create a geometry that is not in system memory a renderer must be active.
if you switch renderer all geometries not created in system memory will be invalidated.
virtual iGeometry* CreateGeometryPolygonalEx ( iVertexArray apVA,
iIndexArray apIA 
)
pure virtual

Create a polygonal geometry from an exisiting vertex array and index array.

virtual iGeometryModifier* CreateGeometryModifier ( const achar aszName,
iGeometry apGeometry,
iUnknown apInitData 
)
pure virtual

Create a geometry modifier.

Parameters
aszNameis the name of the modifier.
apGeometryis the geometry that is gonna be modified by the modifier.
apInitDatais a modifier specific initialization parameter.
Returns
NULL if the modifier can't be created, else return a pointer to a valid geometry modifier.
Remarks
Just a wrapper around CreateInstance("GeometryModifier.NAME",apGeometry,apInitData).
virtual iGeometry* CreateGeometryPolygonalCube ( tGeometryCreateFlags  aFlags,
tFVF  aFVF,
const sVec3f avCenter,
tF32  afWidth,
tBool  abCW,
tU32  aulColor,
const sMatrixf amtxUV 
)
pure virtual

Create a cube polygonal geometry.

virtual iGeometry* CreateGeometryPolygonalPlane ( tGeometryCreateFlags  aFlags,
tFVF  aFVF,
ePlaneType  aPlaneType,
const sVec3f avCenter,
tF32  afWidth,
tF32  afHeight,
tU32  aulNumDiv,
tBool  abCW,
tU32  aulColor,
const sMatrixf amtxUV 
)
pure virtual

Create a plane polygonal geometry.

virtual iGeometry* CreateGeometryPolygonalCylinder ( tGeometryCreateFlags  aFlags,
tFVF  aFVF,
tF32  baseRadius,
tF32  topRadius,
tF32  height,
tI32  slices,
tI32  stacks,
tBool  abCW,
tU32  aulColor,
const sMatrixf amtxUV,
tBool  abCap,
tBool  abCentered 
)
pure virtual

Create a cylinder polygonal geometry.

virtual iGeometry* CreateGeometryPolygonalSphere ( tGeometryCreateFlags  aFlags,
tFVF  aFVF,
tF32  radius,
tI32  slices,
tI32  stacks,
tBool  abCW,
tU32  aulColor,
const sMatrixf amtxUV 
)
pure virtual

Create a sphere polygonal geometry.

virtual iGeometry* CreateGeometryPolygonalGeosphere ( tGeometryCreateFlags  aFlags,
tFVF  aFVF,
tF32  radius,
tI32  slices,
tBool  abCW,
tU32  aulColor,
const sMatrixf amtxUV 
)
pure virtual

Create a geosphere polygonal geometry.

virtual iGeometry* CreateGeometryPolygonalDiskSweep ( tGeometryCreateFlags  aFlags,
tFVF  aFVF,
tF32  innerRadius,
tF32  outerRadius,
tI32  slices,
tI32  stacks,
tF32  startAngle,
tF32  sweepAngle,
tBool  abCW,
tU32  aulColor,
const sMatrixf amtxUV 
)
pure virtual

Create a disk sweep polygonal geometry.

virtual tBool UpdateGeometryPolygonalDiskSweep ( iGeometry apGeom,
tF32  innerRadius,
tF32  outerRadius,
tI32  slices,
tI32  stacks,
tF32  startAngle,
tF32  sweepAngle,
tBool  abCW,
tU32  aulColor,
const sMatrixf amtxUV 
)
pure virtual

Update a disk polygonal geometry.

virtual iGeometry* CreateGeometryPolygonalDisk ( tGeometryCreateFlags  aFlags,
tFVF  aFVF,
tF32  innerRadius,
tF32  outerRadius,
tI32  slices,
tI32  stacks,
tBool  abCW,
tU32  aulColor,
const sMatrixf amtxUV 
)
pure virtual

Create a disk polygonal geometry.

virtual tBool InitializeDriver ( iHString ahspDriverName)
pure virtual

Initialize the specified hardware driver.

Remarks
Only one driver can be initialized for each graphics object instance.
"NULL/renNULL" driver will create a NULL driver.
"SOFT/renSOFT" driver will create a software renderer driver.
"Auto" driver will pick the most capable hardware driver first then fallback to software rendering if none can be found.
virtual tBool GetIsDriverInitialized ( ) const
pure virtual

Get whether the driver has been initialized. {Property}.

virtual iGraphicsDriver* GetDriver ( ) const
pure virtual

Get the driver that has been initialized. {Property}.

virtual tInt GetDriverCaps ( eGraphicsCaps  aCaps) const
pure virtual

Get the driver's capabilities. {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

Creates a new context.

Remarks
"NULL" driver name will return a NULL rendering context that doesn't render anything.
"SOFT" driver name will create a software renderer. apExtended1 can be used to specify a iBitmap2D (R8G8B8A8) back buffer to render to. apExtended2 can be used to specify a iBitmap2D depth buffer to render to (32bpp).
Other driver name are considered "Hardware" drivers and one same type of hardware can be used at a time.
virtual iDeviceResourceManager* GetGenericDeviceResourceManager ( ) const
pure virtual

Get the generice device resource manager. {Property}.

virtual iSamplerStates* CreateSamplerStates ( )
pure virtual

Create a new sampler states instance.

virtual iDepthStencilStates* CreateDepthStencilStates ( )
pure virtual

Create a new depth stencil states instance.

virtual iRasterizerStates* CreateRasterizerStates ( )
pure virtual

Create a new rasterizer states instance.

virtual iFixedStates* CreateFixedStates ( )
pure virtual

Create a new fixed pipeline states instance.

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 iDeviceResourceManager* GetTextureDeviceResourceManager ( ) const
pure virtual

Get the texture device resource manager. {Property}.

virtual tU32 GetNumTextures ( ) const
pure virtual

Get the number of textures in the manager. {Property}.

virtual iTexture* GetTextureFromName ( iHString ahspName) const
pure virtual

Get a texture from its name. {Property}.

virtual iTexture* GetTextureFromIndex ( tU32  anIndex) const
pure virtual

Get a texture from its index. {Property}.

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 iTexture* CreateTextureFromBitmap ( iHString ahspName,
iBitmapBase apBitmap,
tTextureFlags  aFlags 
)
pure virtual

Create a new texture from the specified bitmap.

virtual iTexture* CreateTextureFromRes ( iHString ahspRes,
iHString ahspBasePath,
tTextureFlags  aFlags 
)
pure virtual

Create a new texture from the specified resource.

virtual void SetRecreateTextureWhenChanged ( tBool  abEnabled)
pure virtual

Set whether CreateTextureFromRes recreates the texture when the source resource has changed. {Property}.

virtual tBool GetRecreateTextureWhenChanged ( ) const
pure virtual

Get whether CreateTextureFromRes recreates the texture when the source resource has changed. {Property}.

virtual tBool BlitBitmapToTexture ( iBitmap2D apSrc,
iTexture apDest,
tU32  anDestLevel,
const sRecti aSrcRect = sRecti(0, 0),
const sRecti aDestRect = sRecti(0, 0),
eTextureBlitFlags  aFlags = eTextureBlitFlags_None 
)
pure virtual

Blit a bitmap to a texture.

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

Blit a texture to a bitmap.

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

Blit a texture into another texture.

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

Blit a 3d bitmap to a 3d texture.

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

Blit a 3d texture to a 3d bitmap.

virtual iBitmapBase* CreateBitmapFromTexture ( iTexture apSrc)
pure virtual

Create a bitmap from a texture.

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 iShaderConstants* CreateShaderConstants ( tU32  anMaxRegisters) const
pure virtual

Creates an empty shader constants instance.

virtual tBool SerializeShaderConstants ( iShaderConstants apConsts,
iDataTable apDT,
tSerializeFlags  aFlags 
)
pure virtual

Serialize shader constants in the specified datatable.

virtual iDeviceResourceManager* GetShaderDeviceResourceManager ( ) const
pure virtual

Get the shader device resource manager. {Property}.

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 iShader* LoadShader ( iFile apFile)
pure virtual

Load a compiled shader from the specified file.

virtual iFile* CompileShader ( iHString ahspName,
eShaderUnit  aUnit,
iHString ahspProfileName,
iFile apProgram,
iDataTable apMacros,
tShaderCompilerFlags  aFlags 
)
pure virtual

Compile a shader.

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 iDrawOperation* CreateDrawOperation ( )
pure virtual

Creates a new draw operation.

virtual iDrawOperationSet* CreateDrawOperationSet ( )
pure virtual

Create a draw operation set.

Remarks
if the passed sorter is NULL the default sorter will be used.
virtual iOcclusionQuery* CreateOcclusionQuery ( )
pure virtual

Create a new occlusion query object.

virtual tIntPtr CompileSamplerStates ( iSamplerStates apStates)
pure virtual

Compile a sampler states.

virtual iSamplerStates* GetCompiledSamplerStates ( tIntPtr  aHandle) const
pure virtual

Get the specified compiled sampler states. {Property}.

virtual tIntPtr CompileRasterizerStates ( iRasterizerStates apStates)
pure virtual

Compile a rasterizer states.

virtual iRasterizerStates* GetCompiledRasterizerStates ( tIntPtr  aHandle) const
pure virtual

Get the specified compiled rasterizer states. {Property}.

virtual tIntPtr CompileDepthStencilStates ( iDepthStencilStates apStates)
pure virtual

Compile a depth stencil states.

virtual iDepthStencilStates* GetCompiledDepthStencilStates ( tIntPtr  aHandle) const
pure virtual

Get the specified compiled depth stencil states. {Property}.

virtual iMaterial* CreateMaterial ( )
pure virtual

Create an empty material.

virtual iMaterialLibrary* CreateMaterialLibrary ( )
pure virtual

Create a material library.

virtual iGraphicsDrawOpCapture* CreateDrawOpCapture ( )
pure virtual

Create a new draw op capture object.

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 tF32 ColorLuminance ( const sVec3f aColor)
pure virtual

Get the lumiance of a 3d color.

Remarks
Uses the lumiance distribution kvColorLuminanceR21G71B07.
virtual tF32 ColorLuminanceEx ( const sVec3f aColor,
const sVec3f avLuminanceDistribution 
)
pure virtual

Get the lumiance of a 3d color, allow to specify a luminance distribution.

virtual sVec3f ColorGammaCorrect ( const sVec3f aC,
tF32  afFactor 
)
pure virtual

Correct the gamma of a color.

virtual sVec3f ColorAdjustContrast ( const sVec3f C,
tF32  c 
)
pure virtual

Adjust the contrast of a color.

virtual sVec3f ColorAdjustSaturation ( const sVec3f C,
tF32  s 
)
pure virtual

Adjust the saturation of a color.

virtual sVec3f ColorNegative ( const sVec3f C)
pure virtual

Get the negative of a color.

virtual sVec3f ColorGrey ( const sVec3f C)
pure virtual

Gray a color.

virtual sVec3f ColorBlackWhite ( const sVec3f C,
tF32  s 
)
pure virtual

Set a color to be black or white in function of the specified reference.

virtual sVec4f ColorConvert ( eColorSpace  aSource,
eColorSpace  aDest,
const sVec4f aColor 
)
pure virtual

Convert a color from one color space to another.

virtual sVec4f ColorConvertEx ( eColorSpace  aSource,
eColorSpace  aDest,
const sVec4f aColor,
const sVec4f aXYZRef 
)
pure virtual

Convert a color from one color space to another, allows to specify the XYZ reference.

Remarks
kcolXYZRef2D65 is the standard XYZ reference value
virtual tU32 GetNumNamedColors ( ) const
pure virtual

Get the number of named colors. {Property}.

virtual const achar* GetColorName ( tU32  anIndex) const
pure virtual

Get the name of the color at the specified index. {Property}.

virtual tU32 GetColorIndex ( iHString ahspName) const
pure virtual

Get the index of the color with the specified name. {Property}.

virtual tU32 GetColorValue ( tU32  anIndex) const
pure virtual

Get the value of the color at the specified index. {Property}.

virtual const achar* FindColorName ( const sColor4f aColor) const
pure virtual

Find the color with the closest match to the specified color.

virtual sVec3f GetColor3FromName ( iHString ahspName) const
pure virtual

Get a color from it's name. {Property}.

Remarks
Supported syntaxes, case insensitive, in order of priority:
  • Vec3, Vec4, RGB, RGBA math expressions
  • color name
  • Hexadecimal code: "#AARRGGBB", "#RRGGBB", "#RGB", "#RGBA"
  • (CSS) rgb(N,N,N), rgba(N,N,N,N), N = [0-255], [0-100]%, [0.0-1.0]f
virtual sVec4f GetColor4FromName ( iHString ahspName) const
pure virtual

Get a color from it's name. {Property}.

virtual sVec4f GetColor4FromNameA ( iHString ahspName,
tF32  afAlpha 
) const
pure virtual

Get a color from it's name, specifying the alpha.

virtual sVec3f GetCssColor3FromName ( iHString ahspName) const
pure virtual

Get a color from it's name. {Property}.

Remarks
Supported syntaxes, case insensitive, in order of priority:
  • Vec3 & Vec4 math expressions
  • color name
  • Hexadecimal code : "#AARRGGBB", "#RRGGBB", "#RGB", "#RGBA"
  • (CSS) rgb(N,N,N), rgba(N,N,N,N), N = [0-255], [0-100]%, [0.0-1.0]f
See the W3C CSS2 specifications.
virtual sVec4f GetCssColor4FromName ( iHString ahspName) const
pure virtual

Get a css color from it's name. {Property}.

Remarks
See the W3C CSS2 specifications.
virtual sVec4f GetCssColor4FromNameA ( iHString ahspName,
tF32  afAlpha 
) const
pure virtual

Get a css color from it's name, specifying the alpha.

Remarks
See the W3C CSS2 specifications.
virtual void UDPointsSphereRandom ( tVec3fCVec apResults) const
pure virtual

Generates random points on a unit sphere.

virtual void UDPointsSphereHammersley ( tVec3fCVec apResults) const
pure virtual

Generates hammersley base2 points on a unit sphere.

virtual void UDPointsSphereHammersleyEx ( tVec3fCVec apResults,
tI32  p1 
) const
pure virtual

Generates hammersley base p1 points on a unit sphere.

virtual void UDPointsSphereHalton ( tVec3fCVec apResults,
tI32  p2 = 3 
) const
pure virtual

Generates halton p1=2,p2 points on a unit sphere.

virtual void UDPointsSphereHaltonEx ( tVec3fCVec apResults,
tI32  p1,
tI32  p2 
) const
pure virtual

Generates halton p1,p2 points on a unit sphere.

virtual void UDPointsHemisphereRandom ( tVec3fCVec apResults) const
pure virtual

Generates random points on a unit hemisphere.

virtual void UDPointsHemisphereHammersley ( tVec3fCVec apResults) const
pure virtual

Generates hammersley base2 points on a unit hemisphere.

virtual void UDPointsHemisphereHammersleyEx ( tVec3fCVec apResults,
tI32  p1 
) const
pure virtual

Generates hammersley base p1 points on a unit hemisphere.

virtual void UDPointsHemisphereHalton ( tVec3fCVec apResults,
tI32  p2 = 3 
) const
pure virtual

Generates halton p1=2,p2 points on a unit hemisphere.

virtual void UDPointsHemisphereHaltonEx ( tVec3fCVec apResults,
tI32  p1,
tI32  p2 
) const
pure virtual

Generates halton p1,p2 points on a unit hemisphere.

virtual void UDPointsPlaneRandom ( tVec2fCVec apResults) const
pure virtual

Generate random points on a unit plane.

virtual void UDPointsPlaneHammersley ( tVec2fCVec apResults) const
pure virtual

Generate hammersley base2 points on a unit plane.

virtual void UDPointsPlaneHammersleyEx ( tVec2fCVec apResults,
tI32  p1 
) const
pure virtual

Generate hammersley base p1 points on a unit plane.

virtual void UDPointsPlaneHalton ( tVec2fCVec apResults,
tI32  p2 = 3 
) const
pure virtual

Generate halton p1=2,p2 points on a unit plane.

virtual void UDPointsPlaneHaltonEx ( tVec2fCVec apResults,
tI32  p1,
tI32  p2 
) const
pure virtual

Generate halton p1,p2 points on a unit plane.

virtual tF32 DampedSpringGetDampingRatio ( const tF32  Ks,
const tF32  Kd 
) const
pure virtual

Get the damping ratio of a spring set with the specified Ks/Kd constants.

virtual tF32 DampedSpringComputeKdFromDampingRatio ( const tF32  Ks,
const tF32  E 
) const
pure virtual

Compute the value of Kd for the specified Ks that will result in a spring with the specified damping ratio.

virtual tF32 DampedSpringAcceleration1 ( tF32  D,
tF32  V,
const tF32  Ks,
const tF32  Kd 
) const
pure virtual

Computes the acceleration of a 1D damped spring system.

See also
ni::iSystem::DampedSpringAcceleration4
virtual sVec2f DampedSpringAcceleration2 ( const sVec2f D,
const sVec2f V,
const tF32  Ks,
const tF32  Kd 
) const
pure virtual

Computes the acceleration of a 1D damped spring system.

See also
ni::iSystem::DampedSpringAcceleration4
virtual sVec3f DampedSpringAcceleration3 ( const sVec3f D,
const sVec3f V,
const tF32  Ks,
const tF32  Kd 
) const
pure virtual

Computes the acceleration of a 1D damped spring system.

See also
ni::iSystem::DampedSpringAcceleration4
virtual sVec4f DampedSpringAcceleration4 ( const sVec4f D,
const sVec4f V,
const tF32  Ks,
const tF32  Kd 
) const
pure virtual

Computes the acceleration of a 4D damped spring system. The spring acceleration is applied in the direction opposite from its displacement from a rest position, and a damping acceleration is applied in the direction opposite from its velocity. The damping ratio is : E = Kd/(2*sqrt(Ks)).

  • When E=1, the spring system is critically damped, and the system will return to its rest position in the minimal possibile time for the given value of Ks.
  • When E < 1, the spring system is underdamped, and it will oscillate before returning to rest.
  • When E > 1, then the system is overdamped and it will take longer than it is necessary to reach equilibrum.
    Parameters
    Dis the displacement of the spring/object
    Vis the current velocity
    Ksspring acceleration constant, control the spring component of the acceleration - the stiffness of the spring (the higher the value the faster the spring will reach its target).
    Kddamping acceleration constant, control the damping component of the acceleration.
virtual ni::iDampedSpring1* CreateDampedSpring1 ( const tF32  Ks,
const tF32  Kd 
) const
pure virtual

Creates a 1D damped spring.

Remarks
If Ks and Kd are zero a critically damped spring with Ks=10 is set.
virtual ni::iDampedSpring2* CreateDampedSpring2 ( const tF32  Ks,
const tF32  Kd 
) const
pure virtual

Creates a 2D damped spring.

Remarks
If Ks and Kd are zero a critically damped spring with Ks=10 is set.
virtual ni::iDampedSpring3* CreateDampedSpring3 ( const tF32  Ks,
const tF32  Kd 
) const
pure virtual

Creates a 3D damped spring.

Remarks
If Ks and Kd are zero a critically damped spring with Ks=10 is set.
virtual ni::iDampedSpring4* CreateDampedSpring4 ( const tF32  Ks,
const tF32  Kd 
) const
pure virtual

Creates a 4D damped spring.

Remarks
If Ks and Kd are zero a critically damped spring with Ks=10 is set.
virtual ni::iDampedSpringPosition1* CreateDampedSpringPosition1 ( const tF32  Ks,
const tF32  Kd 
) const
pure virtual

Creates a 1D damped spring position.

Remarks
If Ks and Kd are zero a critically damped spring with Ks=10 is set.
virtual ni::iDampedSpringPosition2* CreateDampedSpringPosition2 ( const tF32  Ks,
const tF32  Kd 
) const
pure virtual

Creates a 2D damped spring position.

Remarks
If Ks and Kd are zero a critically damped spring with Ks=10 is set.
virtual ni::iDampedSpringPosition3* CreateDampedSpringPosition3 ( const tF32  Ks,
const tF32  Kd 
) const
pure virtual

Creates a 3D damped spring position.

Remarks
If Ks and Kd are zero a critically damped spring with Ks=10 is set.
virtual ni::iDampedSpringPosition4* CreateDampedSpringPosition4 ( const tF32  Ks,
const tF32  Kd 
) const
pure virtual

Creates a 4D damped spring position.

Remarks
If Ks and Kd are zero a critically damped spring with Ks=10 is set.
virtual iTransform* CreateTransform ( ) const
pure virtual

Creates a new transform.

virtual iFrustum* CreateFrustum ( ) const
pure virtual

Creates a new frustum.

virtual iBoundingVolume* CreateAABB ( ) const
pure virtual

Creates a new AABB.

virtual iIntersection* CreateIntersection ( ) const
pure virtual

Creates an intersection.

virtual iCamera* CreateCamera ( ) const
pure virtual

Creates a new camera instance.

virtual iNUSpline* CreateNUSpline ( eNUSplineType  aType) const
pure virtual

Creates a new Non-uniform spline.

virtual iOverlay* CreateOverlayColor ( const sColor4f aColor)
pure virtual

Creates a color overlay.

virtual iOverlay* CreateOverlayResource ( iHString ahspRes)
pure virtual

Create an overlay from the specified resource.

virtual iOverlay* CreateOverlayTexture ( iTexture apTexture)
pure virtual

Creates an overlay that will use the specified texture.

virtual iOverlay* CreateOverlayImage ( iImage apImage)
pure virtual

Creates an overlay that will use the specified image.

virtual iOverlay* CreateOverlayMaterial ( iMaterial apMaterial)
pure virtual

Creates an overlay that will use the specified material.

virtual iFont* LoadFont ( iHString ahspName)
pure virtual

Load a font.

See also
ni::iGraphics::LoadFont
Remarks
This function uses the default get flags.
Returns a font instance that can be used directly.
virtual iFont* LoadFontEx ( iHString ahspName,
tFontLoadFlags  aFlags 
)
pure virtual

Load a font.

Remarks
A list of font names separated by commas can be specified, the first font that matches will be used. A font name can be a regular names such as 'Arial, Courier New' and/or a file path. Ex: 'Arial, fonts/arial.ttf' will look for the Arial font registered in the system, if it isnt found it will try to load from the fonts/arial.ttf resource file. Font name that contain a '.' will not have Bold/Italic appended to their name automatically when using the eFontLoadFlags_Bold/Italic flags.
If no font matches, 'Default' is searched, if it fails the 8x8 font is returned.
For each name, system fonts are searched, then fonts which have already been loaded.
Font names can be a "file pattern regex", aka contain wildcards etc...
Returns a font instance that can be used directly.
virtual iFont* CreateFont ( iHString ahspName,
iFile pFile 
)
pure virtual

Create a font from the given file.

Remarks
Font name is extract from the file name is available otherwise the file name of the source path is used.
This method will not search for previously loaded font and create a new base font object. The prefered method to load/create fonts is to use the LoadFont/Ex() functions.
virtual iFont* CreateFontFromBitmap ( iHString ahspName,
iBitmap2D pBmp 
)
pure virtual

Create a font from the given bitmap.

Remarks
This method will not search for previously loaded font and create a new base font object. The prefered method to load/create fonts is to use the LoadFont/Ex() functions.
virtual iFont* CreateFont8x8 ( iHString ahspName)
pure virtual

Create the default 8x8 system font.

Remarks
The default font name is "8x8".
This method will not search for previously loaded font and create a new base font object. The prefered method to load/create fonts is to use the LoadFont/Ex() functions.
virtual tBool RegisterSystemFonts ( )
pure virtual

Register all the system fonts.

Remarks
This enumerates all the system fonts. That is all the fonts available on the underlying platform.
virtual tBool RegisterSystemFont ( iHString ahspName,
iHString ahspFilePath,
iFont apFont 
)
pure virtual

Register a new font as a system font.

virtual tU32 GetNumSystemFonts ( ) const
pure virtual

Get the number of system fonts registered. {Property}.

virtual iHString* GetSystemFontName ( tU32  anIndex) const
pure virtual

Get the name of the specified system font. {Property}.

virtual iHString* GetSystemFontFilePath ( tU32  anIndex) const
pure virtual

Get the file path of the specified system font. {Property}.

virtual iHString* GetSystemFontFileName ( tU32  anIndex) const
pure virtual

Get the file name of the specified system font. {Property}.

virtual tU32 GetNumFonts ( ) const
pure virtual

Get the number of fonts registered. {Property}.

Remarks
This doesn't include the font regular instances.
virtual iFont* GetFontFromIndex ( tU32  anIndex) const
pure virtual

Get the font at the given index. {Property}.

Remarks
Return a base font.
virtual iFont* GetFontFromName ( iHString ahspName) const
pure virtual

Get a font from its exact name. {Property}.

Remarks
Return a base font.
virtual iFont* FindFont ( iHString ahspName,
tFontLoadFlags  mode 
) const
pure virtual

Find a loaded font which matches the specified names.

Remarks
Uses the same rules as LoadFontEx.
Return a base font.
virtual tBool ClearAllFontCaches ( )
pure virtual

Clear all font caches.

virtual tU32 GetFontCacheID ( ) const
pure virtual

Get the global font cache ID.

Remarks
The cache ID changes every time a font's cache is cleared.
The ID can be used to detect changes in the font cache. For example to relayout geometries that depend on the font's internal texture cache.
The global font cache ID should be used when the actual fonts being used is not trivial (such as in a HTML context). {Property}
virtual iImage* CreateImage ( tU32  anWidth,
tU32  anHeight 
)
pure virtual

Create a new blank empty image.

virtual iImage* CreateImageFromFile ( iFile apFile)
pure virtual

Create a new image from the specified bitmap file.

virtual iImage* CreateImageFromResource ( iHString ahspRes)
pure virtual

Create a new image from the specified resource.

virtual iImage* CreateImageFromBitmap ( iBitmap2D apBitmap)
pure virtual

Create a new image from the specified bitmap.

virtual iImage* CreateImageFromTexture ( iTexture apTexture)
pure virtual

Create a new image from the specified texture.

virtual iImage* CreateImageFromBitmapAndTexture ( iBitmap2D apBitmap,
iTexture apTexture 
)
pure virtual

Create a new image from the specified bitmap and texture.

Remarks
The bitmap and texture must be of the same size.
virtual iImage* CreateImageEx ( tU32  anWidth,
tU32  anHeight,
iBitmap2D apBmp,
iTexture apTex,
iTexture apDepthStencil 
)
pure virtual

Create a new image.

virtual iImageMap* CreateImageMap ( const achar aaszBaseName,
const achar aaszPxf 
)
pure virtual

Create an image map.

virtual iGraphicsContext* CreateImageGraphicsContext ( iImage apImage,
iGraphicsContext apGraphicsContext 
)
pure virtual

Create a graphics context that uses the specified Image as main render target and depth buffer.

virtual iCanvas* CreateCanvas ( iGraphicsContext apContext,
iMaterial apResetMaterial 
)
pure virtual

Creates a new canvas.

Parameters
apContextis the graphics context where the canvas will draw
apResetMaterialif not NULL is the material that will be used to reset the default material's value when ResetStates() is called
virtual Ptr<iTextObject> CreateTextObject ( const sVec2f avSize,
const achar aaszText 
)
pure virtual

Create a new text object.

virtual tBool IsVideoFile ( iFile apFile) const
pure virtual

Check whether the given file is a supported video file.

virtual iVideoDecoder* CreateVideoDecoder ( iHString ahspName,
iFile apFile,
tU32  aFlags 
)
pure virtual

Create a video decoder.