ScummVM API documentation
hpl::iMaterial_BaseLight Class Reference
Inheritance diagram for hpl::iMaterial_BaseLight:
hpl::iMaterial hpl::iResourceBase hpl::cMaterial_Bump hpl::cMaterial_BumpColorSpec hpl::cMaterial_BumpSpec hpl::cMaterial_Diffuse hpl::cMaterial_DiffuseSpec

Public Member Functions

 iMaterial_BaseLight (const tString &asLightVertexProgram, const tString &asLightFragmentProgram, const tString &asName, iLowLevelGraphics *apLowLevelGraphics, cImageManager *apImageManager, cTextureManager *apTextureManager, cRenderer2D *apRenderer, cGpuProgramManager *apProgramManager, eMaterialPicture aPicture, cRenderer3D *apRenderer3D)
 
tTextureTypeList GetTextureTypes ()
 
bool UsesType (eMaterialRenderType aType)
 
iGpuProgramgetGpuProgram (const eMaterialRenderType aType, const int alPass, iLight3D *apLight)
 
iMaterialProgramSetupgetGpuProgramSetup (const eMaterialRenderType aType, const int alPass, iLight3D *apLight)
 
bool VertexProgramUsesLight (eMaterialRenderType aType, int alPass, iLight3D *apLight)
 
bool VertexProgramUsesEye (eMaterialRenderType aType, int alPass, iLight3D *apLight)
 
eMaterialAlphaMode GetAlphaMode (eMaterialRenderType aType, int alPass, iLight3D *apLight)
 
eMaterialBlendMode GetBlendMode (eMaterialRenderType aType, int alPass, iLight3D *apLight)
 
eMaterialChannelMode GetChannelMode (eMaterialRenderType aType, int alPass, iLight3D *apLight)
 
iTextureGetTexture (int alUnit, eMaterialRenderType aType, int alPass, iLight3D *apLight)
 
eMaterialBlendMode GetTextureBlend (int alUnit, eMaterialRenderType aType, int alPass, iLight3D *apLight)
 
int GetNumOfPasses (eMaterialRenderType aType, iLight3D *apLight)
 
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 iGpuProgramGetVertexProgram (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)
 
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 ()
 
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 ()
 

Protected Attributes

iTexturempNormalizationMap
 
iTexturempSpotNegativeRejectMap
 
bool mbUsesTwoPassSpot
 
bool mbUseSpecular
 
bool mbUseNormalMap
 
bool mbUseColorSpecular
 
iGpuProgram_diffuseShader
 
iGpuProgram_ambientShader
 
iGpuProgram_shaders [eBaseLightProgram_LastEnum]
 
- 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
 

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)
 
- 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::iMaterial_BaseLight::StartRendering ( eMaterialRenderType  aType,
iCamera apCam,
iLight pLight 
)
inlinevirtual

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::iMaterial_BaseLight::EndRendering ( eMaterialRenderType  mType)
inlinevirtual

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

Parameters
mType

Implements hpl::iMaterial.

◆ GetBatchFlags()

tVtxBatchFlag hpl::iMaterial_BaseLight::GetBatchFlags ( eMaterialRenderType  mType)
inlinevirtual

Return the data types needed for rendering.

Parameters
mType
Returns

Implements hpl::iMaterial.

◆ NextPass()

bool hpl::iMaterial_BaseLight::NextPass ( eMaterialRenderType  mType)
inlinevirtual

Set new states and return true for another pass

Parameters
mType
Returns

Implements hpl::iMaterial.

◆ HasMultiplePasses()

bool hpl::iMaterial_BaseLight::HasMultiplePasses ( eMaterialRenderType  mType)
inlinevirtual

return true if the program has multple passes

Parameters
mType
Returns

Implements hpl::iMaterial.

◆ GetType()

eMaterialType hpl::iMaterial_BaseLight::GetType ( eMaterialRenderType  mType)
inlinevirtual

Get type

Parameters
mType
Returns

Implements hpl::iMaterial.


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