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

Public Member Functions

 cMaterial_Diffuse2D (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 Update (float afTimeStep)
 
virtual iGpuProgramgetGpuProgram (const eMaterialRenderType aType, const int alPass, iLight3D *apLight)
 
virtual iMaterialProgramSetupgetGpuProgramSetup (const eMaterialRenderType aType, const int alPass, iLight3D *apLight)
 
virtual iGpuProgramGetVertexProgram (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 iMaterialProgramSetupGetVertexProgramSetup (eMaterialRenderType aType, int alPass, iLight3D *apLight)
 
virtual iGpuProgramGetFragmentProgram (eMaterialRenderType aType, int alPass, iLight3D *apLight)
 
virtual iMaterialProgramSetupGetFragmentProgramSetup (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 iTextureGetTexture (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)
 
iTextureGetTexture (eMaterialTexture aType)
 
cRect2f GetTextureOffset (eMaterialTexture aType)
 
void SetTexture (iTexture *apTex, eMaterialTexture aType)
 
void SetImage (cResourceImage *apImg, eMaterialTexture aType)
 
cResourceImageGetImage (eMaterialTexture aType)
 
void SetProgram (iGpuProgram *apProgram, eGpuProgramType aType, unsigned int alNum)
 
iGpuProgramGetProgram (eGpuProgramType aType, unsigned int alNum)
 
virtual bool IsTransperant ()
 
virtual bool IsGlowing ()
 
virtual bool UsesLights ()
 
virtual tTextureTypeList GetTextureTypes ()
 
void SetId (int alId)
 
int GetId ()
 
virtual iGpuProgramgetRefractionProgram ()
 
virtual bool GetRefractionUsesDiffuse ()
 
virtual eMaterialTexture GetRefractionDiffuseTexture ()
 
virtual bool GetRefractionUsesEye ()
 
virtual bool GetRefractionUsesTime ()
 
virtual bool GetRefractionSkipsStandardTrans ()
 
const tStringGetPhysicsMaterial ()
 
void SetPhysicsMaterial (const tString &asName)
 
- Public Member Functions inherited from hpl::iResourceBase
 iResourceBase (tString asName, unsigned long alPrio)
 
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
iLowLevelGraphicsmpLowLevelGraphics
 
cImageManagermpImageManager
 
cTextureManagermpTextureManager
 
cRenderer2DmpRenderer
 
cRenderer3DmpRenderer3D
 
cRenderSettingsmpRenderSettings
 
cGpuProgramManagermpProgramManager
 
bool mbIsTransperant
 
bool mbIsGlowing
 
bool mbUsesLights
 
bool mbHasAlpha
 
bool mbDepthTest
 
float mfValue
 
int mlId
 
tString msPhysicsMaterial
 
tTextureVec mvTexture
 
tResourceImageVec mvImage
 
eMaterialType mType
 
eMaterialPicture mPicture
 
iGpuProgrammpProgram [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

◆ StartRendering()

bool hpl::cMaterial_Diffuse2D::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_Diffuse2D::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_Diffuse2D::GetBatchFlags ( eMaterialRenderType  mType)
virtual

Return the data types needed for rendering.

Parameters
mType
Returns

Implements hpl::iMaterial.

◆ NextPass()

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

Set new states and return true for another pass

Parameters
mType
Returns

Implements hpl::iMaterial.

◆ HasMultiplePasses()

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

return true if the program has multple passes

Parameters
mType
Returns

Implements hpl::iMaterial.

◆ GetType()

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

Get type

Parameters
mType
Returns

Implements hpl::iMaterial.


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