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

Detailed Description

Painter interface.

Public Member Functions

virtual iGraphicsContextGetBaseGraphicsContext () const =0
 Get the base graphics context interface. {Property}. More...
 
virtual tBool CheckGraphicsContext ()=0
 Check if the graphics context's size has changed. More...
 
virtual iPainterStatesCreateStates ()=0
 Creates a new painter states object set to the default. More...
 
virtual iPainterRenderContextCreateRenderContext ()=0
 Create a new painter render context. More...
 
virtual iPainterLightCreateLight (eLightType aType)=0
 Create a painter light. More...
 
virtual iPainterDrawSetCreateDrawSet ()=0
 Create a painter draw set. More...
 
virtual iPainterObjectCreateDrawOpObject (iDrawOperation *apDO, tPainterObjectFlags aFlags)=0
 Create a default painter object implementation around a draw operation. More...
 
virtual iPainterObjectCreateDrawOpSetObject (iDrawOperationSet *apDOSet, tPainterObjectFlags aFlags)=0
 Create a default painter object implementation around a draw operation. More...
 
virtual tFVF GetMaterialFVF (const iMaterial *apMat) const =0
 Get the FVF for the specified material. More...
 
virtual iTextureGetPainterTexture (ePainterTexture aTex) const =0
 Get the specified painter texture. {Property}. More...
 
virtual void SetPainterRenderTargetScale (tF32 afScale)=0
 Set the ePainterRT resolution scale. {Property}. More...
 
virtual tF32 GetPainterRenderTargetScale () const =0
 Get the ePainterRT resolution scale. {Property}. More...
 
virtual iTextureGetPainterRenderTarget (iGraphicsContext *apGC, ePainterRT aRT)=0
 Get a reserved render target. More...
 
virtual tBool SetPainterRenderTarget (iGraphicsContext *apContext, ePainterRT aRT, tPaintRenderTargetFlags aRenderRTFlags)=0
 Set a painter render target as render target of the specified graphics context. More...
 
virtual tBool SetPainterRenderTargetEx (iGraphicsContext *apContext, ePainterRT aRT, tPaintRenderTargetFlags aRenderRTFlags, iTexture *apRT0, iTexture *apRT1, iTexture *apRT2, iTexture *apRT3, iTexture *apDS)=0
 Set render targets as render targets of the specified graphics context. More...
 
virtual ePainterRT GetCurrentPainterRenderTarget () const =0
 Get the current painter render target. {Property}. More...
 
virtual ePainterRT CheckPreferedDepthStencilForRenderTarget (iGraphicsContext *apContext, const iTexture *apRT) const =0
 Check what would be the best depth stencil for the specified render target texture. More...
 
virtual iPainterShaderCacheGetShaderCache () const =0
 Get the painter's shader cache. {Property}. More...
 
virtual void ResetShadowCache ()=0
 Reset the shadow cache. More...
 
virtual tBool InitializeShadowCache ()=0
 Initialize the shadow cache. More...
 
virtual iPainterShadowCacheGetShadowCache () const =0
 Get the shadow cache. {Property}. More...
 
virtual iPainterPostProcessBloomCreatePostProcessBloom ()=0
 Create a new Bloom post process. More...
 
virtual void SetBoundPainterRenderTargets (tU32 anBoundRT)=0
 Set the bound painter render targets. More...
 
virtual tU32 GetBoundPainterRenderTargets () const =0
 Get the painter render targets that have been bound during rendering. {Property}. More...
 
- 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 iGraphicsContext* GetBaseGraphicsContext ( ) const
pure virtual

Get the base graphics context interface. {Property}.

virtual tBool CheckGraphicsContext ( )
pure virtual

Check if the graphics context's size has changed.

virtual iPainterStates* CreateStates ( )
pure virtual

Creates a new painter states object set to the default.

virtual iPainterRenderContext* CreateRenderContext ( )
pure virtual

Create a new painter render context.

virtual iPainterLight* CreateLight ( eLightType  aType)
pure virtual

Create a painter light.

virtual iPainterDrawSet* CreateDrawSet ( )
pure virtual

Create a painter draw set.

virtual iPainterObject* CreateDrawOpObject ( iDrawOperation apDO,
tPainterObjectFlags  aFlags 
)
pure virtual

Create a default painter object implementation around a draw operation.

virtual iPainterObject* CreateDrawOpSetObject ( iDrawOperationSet apDOSet,
tPainterObjectFlags  aFlags 
)
pure virtual

Create a default painter object implementation around a draw operation.

virtual tFVF GetMaterialFVF ( const iMaterial apMat) const
pure virtual

Get the FVF for the specified material.

Remarks
If the material has a FVF != 0 stored it'll just return it. Otherwise it'll return the FVF for the fixed shader corresponding to the material.
virtual iTexture* GetPainterTexture ( ePainterTexture  aTex) const
pure virtual

Get the specified painter texture. {Property}.

virtual void SetPainterRenderTargetScale ( tF32  afScale)
pure virtual

Set the ePainterRT resolution scale. {Property}.

Remarks
This is the resolution of the painter render targets relative to the main graphics context's resolution.
Default is 1.0.
virtual tF32 GetPainterRenderTargetScale ( ) const
pure virtual

Get the ePainterRT resolution scale. {Property}.

virtual iTexture* GetPainterRenderTarget ( iGraphicsContext apGC,
ePainterRT  aRT 
)
pure virtual

Get a reserved render target.

virtual tBool SetPainterRenderTarget ( iGraphicsContext apContext,
ePainterRT  aRT,
tPaintRenderTargetFlags  aRenderRTFlags 
)
pure virtual

Set a painter render target as render target of the specified graphics context.

virtual tBool SetPainterRenderTargetEx ( iGraphicsContext apContext,
ePainterRT  aRT,
tPaintRenderTargetFlags  aRenderRTFlags,
iTexture apRT0,
iTexture apRT1,
iTexture apRT2,
iTexture apRT3,
iTexture apDS 
)
pure virtual

Set render targets as render targets of the specified graphics context.

virtual ePainterRT GetCurrentPainterRenderTarget ( ) const
pure virtual

Get the current painter render target. {Property}.

virtual ePainterRT CheckPreferedDepthStencilForRenderTarget ( iGraphicsContext apContext,
const iTexture apRT 
) const
pure virtual

Check what would be the best depth stencil for the specified render target texture.

virtual iPainterShaderCache* GetShaderCache ( ) const
pure virtual

Get the painter's shader cache. {Property}.

virtual void ResetShadowCache ( )
pure virtual

Reset the shadow cache.

virtual tBool InitializeShadowCache ( )
pure virtual

Initialize the shadow cache.

virtual iPainterShadowCache* GetShadowCache ( ) const
pure virtual

Get the shadow cache. {Property}.

virtual iPainterPostProcessBloom* CreatePostProcessBloom ( )
pure virtual

Create a new Bloom post process.

virtual void SetBoundPainterRenderTargets ( tU32  anBoundRT)
pure virtual

Set the bound painter render targets.

Remarks
This override what's been set automatically by the PainterRT themselve. The intended use is to clear the list after a full frame's been rendered. {Property}
virtual tU32 GetBoundPainterRenderTargets ( ) const
pure virtual

Get the painter render targets that have been bound during rendering. {Property}.