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

Detailed Description

Shader constants buffer.

Remarks
All sizes and offsets are expressed in register (sVec4f/l) unit.

Public Member Functions

virtual iShaderConstantsClone () const =0
 Clone this constant buffer. More...
 
virtual tU32 GetMaxNumRegisters () const =0
 Get the constants buffer maximum number of registers. {Property}. More...
 
virtual tU32 AddConstant (iHString *ahspName, eShaderRegisterType aType, tU32 anSize)=0
 Add a new constant. More...
 
virtual tU32 GetNumConstants () const =0
 Get the number of constants in the buffer. {Property}. More...
 
virtual tU32 GetConstantIndex (iHString *ahspName) const =0
 Get the index of the specified constant. {Property}. More...
 
virtual iHStringGetConstantName (tU32 anConstIndex) const =0
 Get the name of the specified constant. {Property}. More...
 
virtual tU32 GetConstantSize (tU32 anConstIndex) const =0
 Get the size of the constant at the specified index. {Property}. More...
 
virtual eShaderRegisterType GetConstantType (tU32 anConstIndex) const =0
 Get the type of the specified constant. {Property}. More...
 
virtual tBool SetHwIndex (tU32 anConstIndex, tU32 anRegisterIndex)=0
 Set the hardware register index of the specified constant. More...
 
virtual tU32 GetHwIndex (tU32 anConstIndex) const =0
 Get the hardware register index of the specified constant. {Property}. More...
 
virtual tBool SetFloatArray (tU32 anConstIndex, const tVec4fCVec *apV, tU32 anSize=1)=0
 Set a float constant from 4D vectors. More...
 
virtual tBool SetFloatPointer (tU32 anConstIndex, const sVec4f *apV, tU32 anSize=1)=0
 Set a float constant from 4D vectors. {NoAutomation}. More...
 
virtual tBool SetFloat (tU32 anConstIndex, const sVec4f &aV)=0
 Set a float constant from 4D vectors. More...
 
virtual tBool SetFloatMatrixArray (tU32 anConstIndex, const tMatrixfCVec *apV, tU32 anSize=1)=0
 Set four float constants from matrices. More...
 
virtual tBool SetFloatMatrix (tU32 anConstIndex, const sMatrixf &aV)=0
 Set four float constants from matrices. More...
 
virtual tBool SetIntArray (tU32 anConstIndex, const tVec4iCVec *apV, tU32 anSize=1)=0
 Set an integer constant from 4D vectors. More...
 
virtual tBool SetIntPointer (tU32 anConstIndex, const sVec4i *apV, tU32 anSize=1)=0
 Set an integer constant from 4D vectors. {NoAutomation}. More...
 
virtual tBool SetInt (tU32 anConstIndex, const sVec4i &aV)=0
 Set an integer constant from 4D vectors. More...
 
virtual sVec4f GetFloat (tU32 anConstIndex, tU32 anOffset) const =0
 Get the float constant at the specified index. More...
 
virtual sMatrixf GetFloatMatrix (tU32 anConstIndex) const =0
 Get the float constant matrix at the specified index. More...
 
virtual sVec4fGetFloatPointer (tU32 anConstIndex) const =0
 Get the float constant pointer at the specified index. {NoAutomation}. More...
 
virtual sVec4i GetInt (tU32 anConstIndex, tU32 anOffset) const =0
 Get the float constant at the specified index. More...
 
virtual sVec4iGetIntPointer (tU32 anConstIndex) const =0
 Get the float constant pointer at the specified index. {NoAutomation}. More...
 
virtual tPtr GetDescStructPtr () const =0
 Get the shader constants buffer description structure pointer. {Property}. More...
 
virtual void SetConstantMetadata (tU32 anConstIndex, iHString *ahspMetadata)=0
 Set the metadata of the specified constant. {Property}. More...
 
virtual iHStringGetConstantMetadata (tU32 anConstIndex) const =0
 Get the metadata of the specified constant. {Property}. More...
 
- Public Member Functions inherited from iSerializable
virtual const acharGetSerializeObjectTypeID () const =0
 Get the object type ID. More...
 
virtual tSize Serialize (iFile *apFile, eSerializeMode aMode)=0
 Serialize the object. 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 iShaderConstants* Clone ( ) const
pure virtual

Clone this constant buffer.

virtual tU32 GetMaxNumRegisters ( ) const
pure virtual

Get the constants buffer maximum number of registers. {Property}.

virtual tU32 AddConstant ( iHString ahspName,
eShaderRegisterType  aType,
tU32  anSize 
)
pure virtual

Add a new constant.

Returns
The index of the added constant, eInvalidHandle if error.
virtual tU32 GetNumConstants ( ) const
pure virtual

Get the number of constants in the buffer. {Property}.

virtual tU32 GetConstantIndex ( iHString ahspName) const
pure virtual

Get the index of the specified constant. {Property}.

virtual iHString* GetConstantName ( tU32  anConstIndex) const
pure virtual

Get the name of the specified constant. {Property}.

virtual tU32 GetConstantSize ( tU32  anConstIndex) const
pure virtual

Get the size of the constant at the specified index. {Property}.

virtual eShaderRegisterType GetConstantType ( tU32  anConstIndex) const
pure virtual

Get the type of the specified constant. {Property}.

virtual tBool SetHwIndex ( tU32  anConstIndex,
tU32  anRegisterIndex 
)
pure virtual

Set the hardware register index of the specified constant.

Remarks
a eInvalidHandle value means that the register index is not specified and has to be determined from the context. {Property}
virtual tU32 GetHwIndex ( tU32  anConstIndex) const
pure virtual

Get the hardware register index of the specified constant. {Property}.

virtual tBool SetFloatArray ( tU32  anConstIndex,
const tVec4fCVec apV,
tU32  anSize = 1 
)
pure virtual

Set a float constant from 4D vectors.

virtual tBool SetFloatPointer ( tU32  anConstIndex,
const sVec4f apV,
tU32  anSize = 1 
)
pure virtual

Set a float constant from 4D vectors. {NoAutomation}.

virtual tBool SetFloat ( tU32  anConstIndex,
const sVec4f aV 
)
pure virtual

Set a float constant from 4D vectors.

virtual tBool SetFloatMatrixArray ( tU32  anConstIndex,
const tMatrixfCVec apV,
tU32  anSize = 1 
)
pure virtual

Set four float constants from matrices.

virtual tBool SetFloatMatrix ( tU32  anConstIndex,
const sMatrixf aV 
)
pure virtual

Set four float constants from matrices.

virtual tBool SetIntArray ( tU32  anConstIndex,
const tVec4iCVec apV,
tU32  anSize = 1 
)
pure virtual

Set an integer constant from 4D vectors.

virtual tBool SetIntPointer ( tU32  anConstIndex,
const sVec4i apV,
tU32  anSize = 1 
)
pure virtual

Set an integer constant from 4D vectors. {NoAutomation}.

virtual tBool SetInt ( tU32  anConstIndex,
const sVec4i aV 
)
pure virtual

Set an integer constant from 4D vectors.

virtual sVec4f GetFloat ( tU32  anConstIndex,
tU32  anOffset 
) const
pure virtual

Get the float constant at the specified index.

virtual sMatrixf GetFloatMatrix ( tU32  anConstIndex) const
pure virtual

Get the float constant matrix at the specified index.

virtual sVec4f* GetFloatPointer ( tU32  anConstIndex) const
pure virtual

Get the float constant pointer at the specified index. {NoAutomation}.

virtual sVec4i GetInt ( tU32  anConstIndex,
tU32  anOffset 
) const
pure virtual

Get the float constant at the specified index.

virtual sVec4i* GetIntPointer ( tU32  anConstIndex) const
pure virtual

Get the float constant pointer at the specified index. {NoAutomation}.

virtual tPtr GetDescStructPtr ( ) const
pure virtual

Get the shader constants buffer description structure pointer. {Property}.

virtual void SetConstantMetadata ( tU32  anConstIndex,
iHString ahspMetadata 
)
pure virtual

Set the metadata of the specified constant. {Property}.

virtual iHString* GetConstantMetadata ( tU32  anConstIndex) const
pure virtual

Get the metadata of the specified constant. {Property}.