ScummVM API documentation
hpl::iGLStateProgram Class Referenceabstract
Inheritance diagram for hpl::iGLStateProgram:
hpl::iGpuProgram hpl::iResourceBase

Public Member Functions

 iGLStateProgram (tString asName)
 
void SetUp (iLowLevelGraphics *apLowLevelGraphics)
 
virtual void Bind ()=0
 
virtual void UnBind ()=0
 
bool CreateFromFile (const tString &asFile, const tString &asEntry)
 
bool SetFloat (const tString &asName, float afX)
 
bool SetVec2f (const tString &asName, float afX, float afY)
 
bool SetVec3f (const tString &asName, float afX, float afY, float afZ)
 
bool SetVec4f (const tString &asName, float afX, float afY, float afZ, float afW)
 
bool SetMatrixf (const tString &asName, const cMatrixf &mMtx)
 
bool SetMatrixf (const tString &asName, eGpuProgramMatrix mType, eGpuProgramMatrixOp mOp)
 
bool SetTexture (const tString &asName, iTexture *apTexture, bool abAutoDisable=true)
 
bool SetTextureToUnit (int alUnit, iTexture *apTexture)
 
eGpuProgramType GetType ()
 
bool reload ()
 
void unload ()
 
void destroy ()
 
- Public Member Functions inherited from hpl::iGpuProgram
 iGpuProgram (const tString &asName)
 
virtual void Bind ()=0
 
virtual void UnBind ()=0
 
virtual bool SetFloat (const tString &asName, float afX)=0
 
bool SetVec2f (const tString &asName, const cVector2f avVec)
 
virtual bool SetVec2f (const tString &asName, float afX, float afY)=0
 
bool SetVec3f (const tString &asName, const cVector3f &avVec)
 
bool SetColor3f (const tString &asName, const cColor &aCol)
 
virtual bool SetVec3f (const tString &asName, float afX, float afY, float afZ)=0
 
bool SetColor4f (const tString &asName, const cColor &aCol)
 
virtual bool SetVec4f (const tString &asName, float afX, float afY, float afZ, float afW)=0
 
virtual bool SetMatrixf (const tString &asName, const cMatrixf &mMtx)=0
 
virtual bool SetMatrixf (const tString &asName, eGpuProgramMatrix mType, eGpuProgramMatrixOp mOp)=0
 
- Public Member Functions inherited from hpl::iResourceBase
 iResourceBase (tString asName, unsigned long alPrio)
 
virtual bool reload ()=0
 
virtual void unload ()=0
 
virtual void destroy ()=0
 
tString GetName ()
 
unsigned long GetHandle ()
 
void SetHandle (unsigned long alHandle)
 
tString GetFilePath ()
 
unsigned long GetTime ()
 
unsigned long GetPrio ()
 
unsigned long GetSize ()
 
void SetLogDestruction (bool abX)
 
unsigned int GetUserCount ()
 
void IncUserCount ()
 
void DecUserCount ()
 
bool HasUsers ()
 

Protected Member Functions

virtual void InitData ()=0
 

Protected Attributes

iLowLevelGraphics * mpLowGfx
 
bool mbSetUpDone
 
- Protected Attributes inherited from hpl::iResourceBase
unsigned int mlPrio
 
unsigned long mlTime
 
unsigned long mlSize
 
unsigned int mlUserCount
 
unsigned long mlHandle
 
tString msName
 
tString msFilePath
 
bool mbLogDestruction
 

Additional Inherited Members

- Static Public Member Functions inherited from hpl::iGpuProgram
static void SetLogDebugInformation (bool abX)
 
- Static Public Member Functions inherited from hpl::iResourceBase
static bool GetLogCreateAndDelete ()
 
static void SetLogCreateAndDelete (bool abX)
 
- Static Protected Attributes inherited from hpl::iGpuProgram
static bool mbDebugInfo
 
- Static Protected Attributes inherited from hpl::iResourceBase
static bool mbLogCreateAndDelete
 

Member Function Documentation

◆ Bind()

virtual void hpl::iGLStateProgram::Bind ( )
pure virtual

Bind the program to the GPU

Implements hpl::iGpuProgram.

◆ UnBind()

virtual void hpl::iGLStateProgram::UnBind ( )
pure virtual

Unbind the program to the GPU

Implements hpl::iGpuProgram.

◆ SetFloat()

bool hpl::iGLStateProgram::SetFloat ( const tString &  asName,
float  afX 
)
inlinevirtual

Implements hpl::iGpuProgram.

◆ SetVec2f()

bool hpl::iGLStateProgram::SetVec2f ( const tString &  asName,
float  afX,
float  afY 
)
inlinevirtual

Implements hpl::iGpuProgram.

◆ SetVec3f()

bool hpl::iGLStateProgram::SetVec3f ( const tString &  asName,
float  afX,
float  afY,
float  afZ 
)
inlinevirtual

Implements hpl::iGpuProgram.

◆ SetVec4f()

bool hpl::iGLStateProgram::SetVec4f ( const tString &  asName,
float  afX,
float  afY,
float  afZ,
float  afW 
)
inlinevirtual

Implements hpl::iGpuProgram.

◆ SetMatrixf() [1/2]

bool hpl::iGLStateProgram::SetMatrixf ( const tString &  asName,
const cMatrixf &  mMtx 
)
inlinevirtual

Implements hpl::iGpuProgram.

◆ SetMatrixf() [2/2]

bool hpl::iGLStateProgram::SetMatrixf ( const tString &  asName,
eGpuProgramMatrix  mType,
eGpuProgramMatrixOp  mOp 
)
inlinevirtual

Implements hpl::iGpuProgram.

◆ reload()

bool hpl::iGLStateProgram::reload ( )
inlinevirtual

virtual bool Reload()=0;

Returns
true is reload was successful, else false.

Implements hpl::iResourceBase.

◆ unload()

void hpl::iGLStateProgram::unload ( )
inlinevirtual

Free most the memory, save info to get started again.

Implements hpl::iResourceBase.

◆ destroy()

void hpl::iGLStateProgram::destroy ( )
inlinevirtual

Free all memory.

Implements hpl::iResourceBase.


The documentation for this class was generated from the following file: