ScummVM API documentation
hpl::cMaterial_Smoke2D Class Reference
Inheritance diagram for hpl::cMaterial_Smoke2D:
hpl::iMaterial hpl::iResourceBase

Public Member Functions

 cMaterial_Smoke2D (const tString &asName, iLowLevelGraphics *apLowLevelGraphics, cImageManager *apImageManager, cTextureManager *apTextureManager, cRenderer2D *apRenderer, cGpuProgramManager *apProgramManager, eMaterialPicture aPicture, cRenderer3D *apRenderer3D)
 
void Compile ()
 
bool StartRendering (eMaterialRenderType aType, iCamera *apCam, iLight *pLight)
 
void EndRendering (eMaterialRenderType aType)
 
tVtxBatchFlag GetBatchFlags (eMaterialRenderType aType)
 
bool NextPass (eMaterialRenderType aType)
 
bool HasMultiplePasses (eMaterialRenderType aType)
 
eMaterialType GetType (eMaterialRenderType aType)
 
void EditVertexes (eMaterialRenderType aType, iCamera *apCam, iLight *pLight, tVertexVec *apVtxVec, cVector3f *apTransform, unsigned int alIndexAdd)
 
- Public Member Functions inherited from hpl::iMaterial
 iMaterial (const tString &asName, iLowLevelGraphics *apLowLevelGraphics, cImageManager *apImageManager, cTextureManager *apTextureManager, cRenderer2D *apRenderer, cGpuProgramManager *apProgramManager, eMaterialPicture aPicture, cRenderer3D *apRenderer3D)
 
bool reload ()
 
void unload ()
 
void destroy ()
 
virtual void Compile ()=0
 
virtual void Update (float afTimeStep)
 
virtual iGpuProgram * getGpuProgram (const eMaterialRenderType aType, const int alPass, iLight3D *apLight)
 
virtual iMaterialProgramSetup * getGpuProgramSetup (const eMaterialRenderType aType, const int alPass, iLight3D *apLight)
 
virtual iGpuProgram * GetVertexProgram (eMaterialRenderType aType, int alPass, iLight3D *apLight)
 
virtual bool VertexProgramUsesLight (eMaterialRenderType aType, int alPass, iLight3D *apLight)
 
virtual bool VertexProgramUsesEye (eMaterialRenderType aType, int alPass, iLight3D *apLight)
 
virtual iMaterialProgramSetup * GetVertexProgramSetup (eMaterialRenderType aType, int alPass, iLight3D *apLight)
 
virtual iGpuProgram * GetFragmentProgram (eMaterialRenderType aType, int alPass, iLight3D *apLight)
 
virtual iMaterialProgramSetup * GetFragmentProgramSetup (eMaterialRenderType aType, int alPass, iLight3D *apLight)
 
virtual eMaterialAlphaMode GetAlphaMode (eMaterialRenderType aType, int alPass, iLight3D *apLight)
 
virtual eMaterialBlendMode GetBlendMode (eMaterialRenderType aType, int alPass, iLight3D *apLight)
 
virtual eMaterialChannelMode GetChannelMode (eMaterialRenderType aType, int alPass, iLight3D *apLight)
 
virtual iTexture * GetTexture (int alUnit, eMaterialRenderType aType, int alPass, iLight3D *apLight)
 
virtual eMaterialBlendMode GetTextureBlend (int alUnit, eMaterialRenderType aType, int alPass, iLight3D *apLight)
 
virtual int GetNumOfPasses (eMaterialRenderType aType, iLight3D *apLight)
 
virtual bool UsesType (eMaterialRenderType aType)
 
bool HasAlpha ()
 
void SetHasAlpha (bool abX)
 
bool GetDepthTest ()
 
void SetDepthTest (bool abX)
 
float GetValue ()
 
void SetValue (float afX)
 
virtual bool LoadData (TiXmlElement *apRootElem)
 
virtual bool StartRendering (eMaterialRenderType aType, iCamera *apCam, iLight *pLight)=0
 
virtual void EndRendering (eMaterialRenderType mType)=0
 
virtual tVtxBatchFlag GetBatchFlags (eMaterialRenderType mType)=0
 
virtual bool NextPass (eMaterialRenderType mType)=0
 
virtual bool HasMultiplePasses (eMaterialRenderType mType)=0
 
virtual eMaterialType GetType (eMaterialRenderType mType)=0
 
virtual void EditVertexes (eMaterialRenderType mType, iCamera *apCam, iLight *pLight, tVertexVec *apVtxVec, cVector3f *apTransform, unsigned int alIndexAdd)=0
 
iTexture * GetTexture (eMaterialTexture aType)
 
cRect2f GetTextureOffset (eMaterialTexture aType)
 
void SetTexture (iTexture *apTex, eMaterialTexture aType)
 
void SetImage (cResourceImage *apImg, eMaterialTexture aType)
 
cResourceImage * GetImage (eMaterialTexture aType)
 
void SetProgram (iGpuProgram *apProgram, eGpuProgramType aType, unsigned int alNum)
 
iGpuProgram * GetProgram (eGpuProgramType aType, unsigned int alNum)
 
virtual bool IsTransperant ()
 
virtual bool IsGlowing ()
 
virtual bool UsesLights ()
 
virtual tTextureTypeList GetTextureTypes ()
 
void SetId (int alId)
 
int GetId ()
 
virtual iGpuProgram * getRefractionProgram ()
 
virtual bool GetRefractionUsesDiffuse ()
 
virtual eMaterialTexture GetRefractionDiffuseTexture ()
 
virtual bool GetRefractionUsesEye ()
 
virtual bool GetRefractionUsesTime ()
 
virtual bool GetRefractionSkipsStandardTrans ()
 
const tString & GetPhysicsMaterial ()
 
void SetPhysicsMaterial (const tString &asName)
 
- 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 ()
 

Additional Inherited Members

- Static Public Member Functions inherited from hpl::iMaterial
static void SetQuality (eMaterialQuality aQuality)
 
static eMaterialQuality GetQuality ()
 
- Static Public Member Functions inherited from hpl::iResourceBase
static bool GetLogCreateAndDelete ()
 
static void SetLogCreateAndDelete (bool abX)
 
- Protected Attributes inherited from hpl::iMaterial
iLowLevelGraphics * mpLowLevelGraphics
 
cImageManager * mpImageManager
 
cTextureManager * mpTextureManager
 
cRenderer2D * mpRenderer
 
cRenderer3D * mpRenderer3D
 
cRenderSettings * mpRenderSettings
 
cGpuProgramManager * mpProgramManager
 
bool mbIsTransperant
 
bool mbIsGlowing
 
bool mbUsesLights
 
bool mbHasAlpha
 
bool mbDepthTest
 
float mfValue
 
int mlId
 
tString msPhysicsMaterial
 
tTextureVec mvTexture
 
tResourceImageVec mvImage
 
eMaterialType mType
 
eMaterialPicture mPicture
 
iGpuProgram * mpProgram [2][(5)]
 
int mlPassCount
 
- 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
 
- Static Protected Attributes inherited from hpl::iMaterial
static eMaterialQuality mQuality
 
- Static Protected Attributes inherited from hpl::iResourceBase
static bool mbLogCreateAndDelete
 

Member Function Documentation

◆ Compile()

void hpl::cMaterial_Smoke2D::Compile ( )
virtual

Implements hpl::iMaterial.

◆ StartRendering()

bool hpl::cMaterial_Smoke2D::StartRendering ( eMaterialRenderType  aType,
iCamera *  apCam,
iLight *  pLight 
)
virtual

Here the set up should be done like setting texture units, blend mode, etc

Parameters
mType
apCam
*pLight
Returns

Implements hpl::iMaterial.

◆ EndRendering()

void hpl::cMaterial_Smoke2D::EndRendering ( eMaterialRenderType  mType)
virtual

Here all stuff should be set back to normal, like unbinding gpu programs

Parameters
mType

Implements hpl::iMaterial.

◆ GetBatchFlags()

tVtxBatchFlag hpl::cMaterial_Smoke2D::GetBatchFlags ( eMaterialRenderType  mType)
virtual

Return the data types needed for rendering.

Parameters
mType
Returns

Implements hpl::iMaterial.

◆ NextPass()

bool hpl::cMaterial_Smoke2D::NextPass ( eMaterialRenderType  mType)
virtual

Set new states and return true for another pass

Parameters
mType
Returns

Implements hpl::iMaterial.

◆ HasMultiplePasses()

bool hpl::cMaterial_Smoke2D::HasMultiplePasses ( eMaterialRenderType  mType)
virtual

return true if the program has multple passes

Parameters
mType
Returns

Implements hpl::iMaterial.

◆ GetType()

eMaterialType hpl::cMaterial_Smoke2D::GetType ( eMaterialRenderType  mType)
virtual

Get type

Parameters
mType
Returns

Implements hpl::iMaterial.

◆ EditVertexes()

void hpl::cMaterial_Smoke2D::EditVertexes ( eMaterialRenderType  aType,
iCamera *  apCam,
iLight *  pLight,
tVertexVec *  apVtxVec,
cVector3f *  apTransform,
unsigned int  alIndexAdd 
)
virtual

Implements hpl::iMaterial.


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