My Project
Classes | Public Member Functions | Static Public Member Functions | List of all members
ParaEngine::CEffectFileDirectX Class Reference
Inheritance diagram for ParaEngine::CEffectFileDirectX:
ParaEngine::CEffectFileBase ParaEngine::AssetEntity ParaEngine::IObjectScriptingInterface ParaEngine::IAttributeFields ParaEngine::IObject ParaEngine::CRefCounted ParaEngine::CEffectFile

Classes

struct  TechniqueDescDX
 a technique description More...
 

Public Member Functions

 CEffectFileDirectX (const char *filename)
 
 CEffectFileDirectX (const AssetKey &key)
 
virtual HRESULT InitDeviceObjects ()
 
virtual HRESULT RestoreDeviceObjects ()
 
virtual HRESULT InvalidateDeviceObjects ()
 
virtual HRESULT DeleteDeviceObjects ()
 
bool loadResource ()
 
bool saveResource (const char *filename=0)
 
void SetFileName (const std::string &filename)
 set inner file name, usually at the load time. More...
 
bool begin (bool bApplyParam=true, DWORD flag=D3DXFX_DONOTSAVESTATE|D3DXFX_DONOTSAVESAMPLERSTATE|D3DXFX_DONOTSAVESHADERSTATE, bool bForceBegin=false)
 
bool BeginPass (int pass, bool bForceBegin=false)
 
void CommitChanges ()
 
void EndPass (bool bForceEnd=false)
 
void end (bool bForceEnd=false)
 
void EnableShareMode (bool bEnable)
 
bool IsInShareMode ()
 
bool BeginSharePassMode (bool bApplyParam=true, DWORD flag=D3DXFX_DONOTSAVESTATE|D3DXFX_DONOTSAVESAMPLERSTATE|D3DXFX_DONOTSAVESHADERSTATE, bool bForceBegin=true)
 This is a handy function that calls EnableShareMode(true), begin() and then BeginPass().
 
void EndSharePassMode ()
 This is a handy function that calls EnableShareMode(false), EndPass(true), end(true).
 
void OnSwitchInShader ()
 this is called when the shader is selected by the pipeline. More...
 
void OnSwitchOutShader ()
 this is called when the shader is deselected by the pipeline. More...
 
bool SetFirstValidTechniqueByCategory (TechniqueCategory nCat)
 Set technique if it is different from the current one. More...
 
bool SetTechniqueByIndex (int nIndex)
 Set technique if it is different from the current one. More...
 
const TechniqueDescGetCurrentTechniqueDesc ()
 get the current technique description. More...
 
int GetCurrentTechniqueIndex ()
 current technique index. More...
 
LPD3DXEFFECT effect () const
 
int totalPasses () const
 
bool isParameterUsed (eParameterHandles index) const
 
bool isMatrixUsed (eParameterHandles index) const
 
bool isTextureUsed (int index) const
 
bool isTextureMatrixUsed (int index) const
 
bool isShadowTextureUsed () const
 
bool setParameter (eParameterHandles index, const void *data, INT32 size=D3DX_DEFAULT) const
 
bool setBool (eParameterHandles index, BOOL bBoolean) const
 
bool setInt (eParameterHandles index, int nValue) const
 
bool setFloat (eParameterHandles index, float fValue) const
 
bool setMatrix (eParameterHandles index, const Matrix4 *data) const
 
bool setMatrixArray (eParameterHandles index, const Matrix4 *data, UINT32 count) const
 
bool setMatrixInArray (eParameterHandles index, UINT32 element, const Matrix4 *data) const
 
bool setFloatArray (eParameterHandles index, const float *data, UINT32 count) const
 
bool setVectorArray (eParameterHandles index, const Vector4 *pVector, UINT count) const
 
bool setFloatInArray (eParameterHandles index, UINT32 element, float data) const
 
bool setTexture (int index, TextureEntity *data)
 
bool setTexture (int index, LPDIRECT3DTEXTURE9 pTex)
 
bool setTextureInternal (int index, LPDIRECT3DTEXTURE9 pTex)
 
bool setTextureMatrix (int index, const Matrix4 *data) const
 
void SetShadowMapSize (int nsize)
 
void SetShadowRadius (float fRadius)
 set the shadow radius
 
void applySurfaceMaterial (const ParaMaterial *pSurfaceMaterial, bool bUseGlobalAmbient=true)
 
void applyCameraMatrices ()
 
void applyWorldMatrices ()
 
void applyGlobalLightingData (CSunLight &sunlight)
 
void applyLocalLightingData (const LightList *lights, int nLightNum)
 
void applyFogParameters (bool bEnableFog, const Vector4 *fogParam, const LinearColor *fogColor)
 
void applyLayersNum (int nLayers)
 
void applyTexWorldViewProj (const Matrix4 *mat)
 
void EnableAlphaBlending (bool bAlphaBlending)
 whether to enable alpha blending in shader. More...
 
void EnableAlphaTesting (bool bAlphaTesting)
 whether to enable alpha testing
 
void EnableSunLight (bool bEnableSunLight)
 whether to enable sun light calculation
 
void EnableShadowmap (int nShadowMethod)
 whether to enable rendering with shadow map More...
 
bool SetBoolean (int nIndex, bool value)
 set a boolean parameter. More...
 
bool EnableEnvironmentMapping (bool bEnable)
 enable environment mapping More...
 
bool EnableReflectionMapping (bool bEnable, float fSurfaceHeight=0.f)
 enable reflection mapping More...
 
void SetReflectFactor (float fFactor)
 set shader parameter "reflectFactor" More...
 
void EnableNormalMap (bool bEnable)
 whether to enable the use of normal map More...
 
void EnableLightMap (bool bEnable)
 whether to enable the use of light map More...
 
LPD3DXEFFECT GetDXEffect ()
 get directX effect object associated with this object. More...
 
virtual CParameterBlockGetParamBlock (bool bCreateIfNotExist=false)
 get effect parameter block with this object. More...
 
void LockTexture (int nIndex)
 Lock a texture at a given index. More...
 
void UnLockTexture (int nIndex)
 UnLock a texture at a given index. More...
 
bool IsTextureLocked (int nIndex) const
 check whether a given texture is locked at the given index. More...
 
D3DXHANDLE & GetTextureHandle (int nIndex)
 get texture handle at the given index. More...
 
HRESULT SetRawValue (D3DXHANDLE hParameter, LPCVOID pData, UINT ByteOffset, UINT Bytes)
 
bool SetBool (D3DXHANDLE hParameter, BOOL bBoolean)
 
bool SetInt (D3DXHANDLE hParameter, int nValue)
 
bool SetFloat (D3DXHANDLE hParameter, float fValue)
 
bool SetVector2 (D3DXHANDLE hParameter, const Vector2 &vValue)
 
bool SetVector3 (D3DXHANDLE hParameter, const Vector3 &vValue)
 
bool SetVector4 (D3DXHANDLE hParameter, const Vector4 &vValue)
 
bool SetMatrix (D3DXHANDLE hParameter, const Matrix4 &data)
 
- Public Member Functions inherited from ParaEngine::CEffectFileBase
 CEffectFileBase (const AssetKey &key)
 
virtual AssetType GetType ()
 
void SetFileName (const std::string &filename)
 set inner file name, usually at the load time. More...
 
int totalPasses () const
 
void EnableSunLight (bool bEnableSunLight)
 whether to enable sun light calculation
 
void applySurfaceMaterial (const ParaMaterial *pSurfaceMaterial, bool bUseGlobalAmbient=true)
 
void applyCameraMatrices ()
 
void applyWorldMatrices ()
 
void applyFogParameters (bool bEnableFog, const Vector4 *fogParam, const LinearColor *fogColor)
 
void applyGlobalLightingData (CSunLight &sunlight)
 
bool setParameter (eParameterHandles index, const void *data, int32 size=D3DX_DEFAULT)
 
bool setParameter (eParameterHandles index, const Vector2 *data)
 
bool setParameter (eParameterHandles index, const Vector3 *data)
 
bool setParameter (eParameterHandles index, const Vector4 *data)
 
bool setBool (eParameterHandles index, BOOL bBoolean)
 
bool setInt (eParameterHandles index, int nValue)
 
bool setFloat (eParameterHandles index, float fValue)
 
HRESULT SetRawValue (const char *hParameter, const void *pData, uint32 ByteOffset, uint32 Bytes)
 
bool SetBool (const char *hParameter, BOOL bBoolean)
 
bool SetInt (const char *hParameter, int nValue)
 
bool SetFloat (const char *hParameter, float fValue)
 
bool SetVector2 (const char *hParameter, const Vector2 &vValue)
 
bool SetVector3 (const char *hParameter, const Vector3 &vValue)
 
bool SetVector4 (const char *hParameter, const Vector4 &vValue)
 
bool SetMatrix (const char *hParameter, const Matrix4 &data)
 
bool isParameterUsed (eParameterHandles index)
 
bool setMatrix (eParameterHandles index, const Matrix4 *data)
 
bool isMatrixUsed (eParameterHandles index)
 
bool setTexture (int index, TextureEntity *data)
 
bool setTexture (int index, DeviceTexturePtr_type pTex)
 
bool SetBoolean (int nIndex, bool value)
 
bool begin (bool bApplyParam=true, DWORD flag=0)
 
bool BeginPass (int pass, bool bForceBegin=false)
 
void CommitChanges ()
 
void EndPass (bool bForceEnd=false)
 
void end (bool bForceEnd=false)
 
bool LoadBuildinShader ()
 
void releaseEffect (int nPass=-1)
 
bool EnableEnvironmentMapping (bool bEnable)
 enable environment mapping More...
 
bool EnableReflectionMapping (bool bEnable, float fSurfaceHeight=0.f)
 enable reflection mapping More...
 
void SetReflectFactor (float fFactor)
 set shader parameter "reflectFactor" More...
 
void EnableNormalMap (bool bEnable)
 whether to enable the use of normal map More...
 
void EnableLightMap (bool bEnable)
 whether to enable the use of light map More...
 
void EnableAlphaBlending (bool bAlphaBlending)
 whether to enable alpha blending in shader. More...
 
void EnableAlphaTesting (bool bAlphaTesting)
 whether to enable alpha testing
 
bool SetFirstValidTechniqueByCategory (TechniqueCategory nCat)
 Set technique if it is different from the current one. More...
 
bool SetTechniqueByIndex (int nIndex)
 Set technique if it is different from the current one. More...
 
const TechniqueDescGetCurrentTechniqueDesc ()
 get the current technique description. More...
 
void onDrawPass (CParameterBlock *pMaterialParams, int passIndex)
 
- Public Member Functions inherited from ParaEngine::AssetEntity
 AssetEntity (const AssetKey &key)
 
 ATTRIBUTE_DEFINE_CLASS (AssetEntity)
 
virtual int InstallFields (CAttributeClass *pClass, bool bOverride)
 this class should be implemented if one wants to add new attribute. More...
 
 ATTRIBUTE_METHOD1 (AssetEntity, GetLocalFileName_s, const char **)
 
 ATTRIBUTE_METHOD1 (AssetEntity, SetLocalFileName_s, const char *)
 
 ATTRIBUTE_METHOD1 (AssetEntity, GetRemoteAssetURL_s, const char **)
 
 ATTRIBUTE_METHOD1 (AssetEntity, IsValid_s, bool *)
 
 ATTRIBUTE_METHOD1 (AssetEntity, IsLoaded_s, bool *)
 
 ATTRIBUTE_METHOD1 (AssetEntity, IsLocked_s, bool *)
 
 ATTRIBUTE_METHOD1 (AssetEntity, IsInitialized_s, bool *)
 
 ATTRIBUTE_METHOD1 (AssetEntity, GetState_s, int *)
 
 ATTRIBUTE_METHOD1 (AssetEntity, SetState_s, int)
 
virtual const std::string & GetIdentifier ()
 
virtual bool AutoSync (bool bForceSync=false, bool bLazyLoading=true)
 call this function to automatically sync with the remote server according to current asset state More...
 
virtual void Refresh (const char *sFilename=NULL, bool bLazyLoad=false)
 refresh the asset from local disk. More...
 
virtual const string & GetLocalFileName ()
 the actual local file name. More...
 
virtual void SetLocalFileName (const char *sFileName)
 
virtual string GetRemoteAssetURL ()
 get the remote server url of this asset. More...
 
bool IsValid ()
 whether this is a valid resource object. More...
 
bool IsInitialized ()
 whether initialized. More...
 
virtual bool IsLoaded ()
 most assets are loaded asynchronously. More...
 
virtual int Release ()
 call this function to safely release this asset. More...
 
AssetKeyGetKey ()
 return the key object. More...
 
AssetState GetState ()
 return the asset state. More...
 
void SetState (AssetState state)
 set the asset state. More...
 
virtual IAttributeFieldsGetAttributeObject ()
 get the attribute object of this asset. More...
 
virtual HRESULT RendererRecreated ()
 callback of listening the event that renderer was recreated on Android/WP8 all opengl related id has already become invalid at this time, no need to release them, just recreate them all in this function.
 
virtual void Cleanup ()
 Clean up additional resources. More...
 
void LoadAsset ()
 load asset. More...
 
void UnloadAsset ()
 unload asset. More...
 
void GarbageCollectMe ()
 if its reference count is zero, unload this asset object. More...
 
bool IsLocked ()
 whether this is a locked resource resource. More...
 
virtual bool Lock (int nMethod=0)
 Lock the object. More...
 
virtual void UnLock ()
 UnLock the object.
 
virtual bool GetBoundingBox (Vector3 *pMin, Vector3 *pMax)
 Get AABB bounding box of the asset object. More...
 
- Public Member Functions inherited from ParaEngine::IAttributeFields
virtual int GetAttributeClassID ()
 attribute class ID should be identical, unless one knows how overriding rules work. More...
 
virtual const char * GetAttributeClassName ()
 a static string, describing the attribute class object's name
 
virtual const char * GetAttributeClassDescription ()
 a static string, describing the attribute class object
 
virtual int GetChildAttributeColumnCount ()
 we support multi-dimensional child object. More...
 
virtual int GetChildAttributeObjectCount (int nColumnIndex=0)
 get the number of child objects (row count) in the given column. More...
 
virtual IAttributeFieldsGetChildAttributeObject (int nRowIndex, int nColumnIndex=0)
 
virtual IAttributeFieldsGetChildAttributeObject (const std::string &sName)
 get attribute by child object. More...
 
 ATTRIBUTE_METHOD1 (IAttributeFields, GetName_s, const char **)
 
 ATTRIBUTE_METHOD1 (IAttributeFields, SetName_s, const char *)
 
 ATTRIBUTE_METHOD (IAttributeFields, PrintObject_s)
 
 ATTRIBUTE_METHOD (IAttributeFields, AddRef_s)
 
 ATTRIBUTE_METHOD1 (IAttributeFields, GetRefCount_s, int *)
 
 ATTRIBUTE_METHOD1 (IAttributeFields, SetTime_s, int)
 
 ATTRIBUTE_METHOD1 (IAttributeFields, GetTime_s, int *)
 
 ATTRIBUTE_METHOD (IAttributeFields, Release_s)
 
virtual void SetIdentifier (const std::string &sID)
 
virtual bool IsModified ()
 whether some of the fields are modified.It is up to the implementation class to provide this functionality if necessary. More...
 
virtual void SetModified (bool bModified)
 set whether any field has been modified. More...
 
virtual bool ValidateFields ()
 validate all fields and return true if validation passed. More...
 
virtual string GetValidationMessage ()
 get the recent validation message due to the most recent call to ValidateFields()
 
virtual bool ResetField (int nFieldID)
 Reset the field to its initial or default value. More...
 
virtual bool InvokeEditor (int nFieldID, const std::string &sParameters)
 Invoke an (external) editor for a given field. More...
 
virtual bool AddChildAttributeObject (IAttributeFields *pChild, int nRowIndex=-1, int nColumnIndex=0)
 add child object. More...
 
virtual void * QueryObjectByName (const std::string &sObjectType)
 convert to object of a given type. More...
 
virtual void * QueryObject (int nObjectType)
 convert to object of a given type. More...
 
virtual int GetTime ()
 get the current local time in case it is animated in milli seconds frames. More...
 
virtual void SetTime (int nTime)
 
virtual CDynamicAttributeFieldGetDynamicField (const std::string &sName)
 Get a dynamic field with a given name. More...
 
virtual CDynamicAttributeFieldGetDynamicField (int nIndex)
 Get a dynamic field with a given index. More...
 
virtual const char * GetDynamicFieldNameByIndex (int nIndex)
 get field name by index
 
virtual int GetDynamicFieldCount ()
 how many dynamic field this object currently have. More...
 
virtual int SetDynamicField (const std::string &sName, const CVariable &value)
 set a dynamic field with a given name. More...
 
virtual int AddDynamicField (const std::string &sName, ATTRIBUTE_FIELDTYPE dwType)
 add dynamic field and return field index
 
virtual void RemoveAllDynamicFields ()
 remove all dynamic fields
 
virtual int SaveDynamicFieldsToString (std::string &output)
 save only text dynamic fields to fieldname = value text strings. More...
 
virtual int LoadDynamicFieldsFromString (const std::string &input)
 load only text dynamic fields from string More...
 
CAttributeClassGetAttributeClass ()
 get the main attribute class object. More...
 
void PrintObject ()
 print the content of this object to a text file at temp/doc/[ClassName].txt. More...
 
- Public Member Functions inherited from ParaEngine::IObject
virtual void Clone (IObject *obj) const
 Clone the object's contains to a pointer. More...
 
virtual IObjectClone () const
 Clone the object's contains and return a pointer to the newly created object. More...
 
virtual bool Equals (const IObject *obj) const
 Compare the object with another object. More...
 
virtual const ITypeGetType () const
 
virtual std::string ToString () const
 
WeakPtr_typeGetWeakReference ()
 get weak reference object. More...
 
virtual int ProcessObjectEvent (const ObjectEvent &event)
 this function is only used to backward compatibility of ParaObject:AddEvent() function. More...
 
- Public Member Functions inherited from ParaEngine::CRefCounted
void addref () const
 add reference count of the object. More...
 
bool delref () const
 decrease reference count of the object. More...
 
int GetRefCount () const
 get the reference count
 
CRefCountedAddToAutoReleasePool ()
 addref and releases the ownership sometime soon automatically (usually at the end of the current frame). More...
 
- Public Member Functions inherited from ParaEngine::IObjectScriptingInterface
virtual bool AddScriptCallback (int func_type, const string &script_func)
 add a new call back handler. More...
 
virtual ScriptCallbackGetScriptCallback (int func_type)
 return NULL if there is no associated script. More...
 
virtual bool RemoveScriptCallback (int func_type)
 remove a call back handler
 

Static Public Member Functions

static void EnableTextures (bool bEnable)
 one occasion to disable textures is during the shadow pass. More...
 
static bool AreTextureEnabled ()
 
- Static Public Member Functions inherited from ParaEngine::CEffectFileBase
static void EnableTextures (bool bEnable)
 
static bool AreTextureEnabled ()
 
- Static Public Member Functions inherited from ParaEngine::AssetEntity
static const string & GetAssetServerUrl ()
 get the asset server url. More...
 
static void SetAssetServerUrl (const char *pStr)
 set the asset server url. More...
 
- Static Public Member Functions inherited from ParaEngine::IAttributeFields
static HRESULT GetAttributeClassID_s (IAttributeFields *cls, int *p1)
 
static HRESULT GetAttributeClassName_s (IAttributeFields *cls, const char **p1)
 
static bool OpenWithDefaultEditor (const char *sFilename, bool bWaitOnReturn=false)
 Open a given file with the default registered editor in the game engine. More...
 

Additional Inherited Members

- Public Types inherited from ParaEngine::CEffectFileBase
enum  TechniqueCategory {
  TechCategory_default = 0, TechCategory_GenShadowMap, TechCategory_Character, TechCategory_DetailCharacter,
  TechCategory_Vegetation
}
 The game engine will identified some predefined technique name from the the effect file, and given them a category number e.g. More...
 
enum  eParameterHandles {
  k_worldMatrix = 0, k_worldInverseMatrix, k_worldViewMatrix, k_worldViewProjMatrix,
  k_worldMatrixArray, k_viewMatrix, k_projMatrix, k_viewProjMatrix,
  k_TexWorldViewProjMatrix, k_skyBoxMatrix, k_first_parameter, k_boneInfluenceCount,
  k_ambientMaterialColor, k_diffuseMaterialColor, k_emissiveMaterialColor, k_specularMaterialColor,
  k_specularMaterialPower, k_reflectFactor, k_LayersNum, k_LocalLightNum,
  k_LightPositions, k_LightColors, k_LightParams, k_patchCorners,
  k_posScaleOffset, k_uvScaleOffset, k_lensFlareColor, k_sunVector,
  k_sunColor, k_fresnelR0, k_ambientLight, k_atmosphericLighting,
  k_cameraPos, k_cameraDistances, k_cameraFacing, k_sunlightInscatter,
  k_sunlightExtinction, k_LightStrength, k_bSunlightEnable, k_nShadowmapSize,
  k_fShadowRadius, k_fogEnable, k_fogParameters, k_fogColor,
  k_worldPos, k_ConstVector0, k_ConstVector1, k_ConstVector2,
  k_ConstVector3, k_time, k_specularPower, k_texCoordOffset,
  k_opacity, k_shadowFactor, k_transitionFactor, k_bAlphaTesting,
  k_bAlphaBlending, k_bBoolean0, k_bBoolean1, k_bBoolean2,
  k_bBoolean3, k_bBoolean4, k_bBoolean5, k_bBoolean6,
  k_bBoolean7, k_bBoolean8, k_bBoolean9, k_bBoolean10,
  k_bBoolean11, k_bBoolean12, k_bBoolean13, k_bBoolean14,
  k_bBoolean15, k_bBooleanMAX, k_tex0, k_tex1,
  k_tex2, k_tex3, k_tex4, k_tex5,
  k_tex6, k_tex7, k_tex8, k_tex9,
  k_tex10, k_tex11, k_tex12, k_tex13,
  k_tex14, k_tex15, k_tex_max, k_tex_mat0,
  k_tex_mat1, k_tex_mat2, k_tex_mat3, k_tex_mat4,
  k_tex_mat5, k_tex_mat6, k_tex_mat7, k_tex_mat8,
  k_tex_mat9, k_tex_mat10, k_tex_mat11, k_tex_mat12,
  k_tex_mat13, k_tex_mat14, k_tex_mat15, k_tex_mat_max,
  k_max_param_handles
}
 
enum  CallBackType { Type_DrawPass }
 
- Public Types inherited from ParaEngine::AssetEntity
enum  AssetState {
  ASSET_STATE_NORMAL, ASSET_STATE_LOCAL, ASSET_STATE_REMOTE, ASSET_STATE_CACHE,
  ASSET_STATE_SYNC_START, ASSET_STATE_SYNC_SUCCEED, ASSET_STATE_SYNC_FAIL, ASSET_STATE_FAILED_TO_LOAD
}
 the asset state. More...
 
enum  AssetType {
  base =0, texture, mesh, multianimation,
  spritevertex, font, sound, mdx,
  parax, database, effectfile, dllplugin,
  datagrid, cadMesh, image
}
 each asset type has a unique asset type number
 
- Public Types inherited from ParaEngine::IAttributeFields
typedef ParaEngine::weak_ptr< IObject, IAttributeFieldsWeakPtr_type
 
- Public Types inherited from ParaEngine::IObject
typedef ParaEngine::weak_ptr< IObjectWeakPtr_type
 
- Public Types inherited from ParaEngine::IObjectScriptingInterface
typedef std::vector< ScriptCallbackObjectCallbackPool_Type
 
- Public Attributes inherited from ParaEngine::AssetEntity
AssetKey m_key
 this is the unique key object. More...
 
bool m_bIsInitialized
 whether this entity is initialized;Entity is by default lazily initialized
 
bool m_bIsValid
 whether this is a valid resource object. More...
 
- Static Public Attributes inherited from ParaEngine::CEffectFileBase
static const int MAX_EFFECT_LIGHT_NUM = 4
 
- Protected Member Functions inherited from ParaEngine::IAttributeFields
virtual CAttributeClassCreateAttributeClass ()
 initialize fields
 
virtual CDynamicAttributesSetGetDynamicAttributes (bool bCreateIfNotExist=false)
 
- Protected Attributes inherited from ParaEngine::IObject
WeakPtr_type m_weak_reference
 
- Protected Attributes inherited from ParaEngine::CRefCounted
int m_refcount
 
- Protected Attributes inherited from ParaEngine::IObjectScriptingInterface
ObjectCallbackPool_Type m_callback_scripts
 the NPL script handlers
 

Member Function Documentation

§ applySurfaceMaterial()

void ParaEngine::CEffectFileDirectX::applySurfaceMaterial ( const ParaMaterial pSurfaceMaterial,
bool  bUseGlobalAmbient = true 
)
Parameters
bUseGlobalAmbientif true and that the ambient in pSurfaceMaterial is 0, the ambient in the material is ignored. and the scene's ambient color will be used.

§ begin()

bool ParaEngine::CEffectFileDirectX::begin ( bool  bApplyParam = true,
DWORD  flag = D3DXFX_DONOTSAVESTATE|D3DXFX_DONOTSAVESAMPLERSTATE|D3DXFX_DONOTSAVESHADERSTATE,
bool  bForceBegin = false 
)
Parameters
bApplyParamwhether to apply current camera and lighting parameters to shader
flagdefault is not saving any state D3DXFX_DONOTSAVESTATE: No state is saved when calling Begin or restored when calling End. (1 << 0) D3DXFX_DONOTSAVESAMPLERSTATE: A stateblock saves state when calling Begin and restores state when calling End. (1 << 2) D3DXFX_DONOTSAVESHADERSTATE: A stateblock saves state (except shaders and shader constants) when calling Begin and restores state when calling End.
bShareif this false, it will only begin the effect if the effect file is not in shared mode.

§ EnableAlphaBlending()

void ParaEngine::CEffectFileDirectX::EnableAlphaBlending ( bool  bAlphaBlending)

whether to enable alpha blending in shader.

§ EnableEnvironmentMapping()

bool ParaEngine::CEffectFileDirectX::EnableEnvironmentMapping ( bool  bEnable)

enable environment mapping

Parameters
bEnable
Returns
true if successfully set.

§ EnableLightMap()

void ParaEngine::CEffectFileDirectX::EnableLightMap ( bool  bEnable)

whether to enable the use of light map

Parameters
bEnable

§ EnableNormalMap()

void ParaEngine::CEffectFileDirectX::EnableNormalMap ( bool  bEnable)

whether to enable the use of normal map

Parameters
bEnable

§ EnableReflectionMapping()

bool ParaEngine::CEffectFileDirectX::EnableReflectionMapping ( bool  bEnable,
float  fSurfaceHeight = 0.f 
)

enable reflection mapping

Parameters
bEnable
fSurfaceHeightsurface height in current model space. only used when bEnable is true.
Returns
true if successfully set.

§ EnableShadowmap()

void ParaEngine::CEffectFileDirectX::EnableShadowmap ( int  nShadowMethod)

whether to enable rendering with shadow map

Parameters
nShadowMethod0 disable shadow map; 1 hardware shadow map; 2 F32 shadow map

§ EnableTextures()

static void ParaEngine::CEffectFileDirectX::EnableTextures ( bool  bEnable)
static

one occasion to disable textures is during the shadow pass.

When textures are disabled all setTexture call will take no effect.

§ GetCurrentTechniqueDesc()

const TechniqueDesc* ParaEngine::CEffectFileDirectX::GetCurrentTechniqueDesc ( )

get the current technique description.

This function may return NULL

§ GetCurrentTechniqueIndex()

int ParaEngine::CEffectFileDirectX::GetCurrentTechniqueIndex ( )

current technique index.

Returns

§ GetDXEffect()

LPD3DXEFFECT ParaEngine::CEffectFileDirectX::GetDXEffect ( )
inline

get directX effect object associated with this object.

§ GetParamBlock()

virtual CParameterBlock* ParaEngine::CEffectFileDirectX::GetParamBlock ( bool  bCreateIfNotExist = false)
virtual

get effect parameter block with this object.

Parameters
bCreateIfNotExist

Reimplemented from ParaEngine::AssetEntity.

§ GetTextureHandle()

D3DXHANDLE& ParaEngine::CEffectFileDirectX::GetTextureHandle ( int  nIndex)

get texture handle at the given index.

§ IsTextureLocked()

bool ParaEngine::CEffectFileDirectX::IsTextureLocked ( int  nIndex) const

check whether a given texture is locked at the given index.

Parameters
nIndex0 based index of the texture registry.

§ LockTexture()

void ParaEngine::CEffectFileDirectX::LockTexture ( int  nIndex)

Lock a texture at a given index.

A locked texture will make all subsequent calls to setTexture takes no effect, thus preserving old value in video card.

Parameters
nIndex0 based index of the texture registry. If -1 it will lock all.

§ OnSwitchInShader()

void ParaEngine::CEffectFileDirectX::OnSwitchInShader ( )

this is called when the shader is selected by the pipeline.

There may be many objects drawn using the same shader between switch in and out.

§ OnSwitchOutShader()

void ParaEngine::CEffectFileDirectX::OnSwitchOutShader ( )

this is called when the shader is deselected by the pipeline.

There may be many objects drawn using the same shader between switch in and out.

§ SetBoolean()

bool ParaEngine::CEffectFileDirectX::SetBoolean ( int  nIndex,
bool  value 
)

set a boolean parameter.

Parameters
nIndexrange 0-15, value 0-7 is reserved for lights.
Returns
true if successful

§ SetFileName()

void ParaEngine::CEffectFileDirectX::SetFileName ( const std::string &  filename)

set inner file name, usually at the load time.

§ SetFirstValidTechniqueByCategory()

bool ParaEngine::CEffectFileDirectX::SetFirstValidTechniqueByCategory ( TechniqueCategory  nCat)

Set technique if it is different from the current one.

Parameters
nCat
See also
TechniqueCategory
Returns
: return true if the technique is found and successfully set.

§ SetReflectFactor()

void ParaEngine::CEffectFileDirectX::SetReflectFactor ( float  fFactor)

set shader parameter "reflectFactor"

Parameters
fFactor(0,1). 1 is fully reflective. 0 is not reflective.

§ SetTechniqueByIndex()

bool ParaEngine::CEffectFileDirectX::SetTechniqueByIndex ( int  nIndex)

Set technique if it is different from the current one.

multiple calls to this function with the same index takes no effect.

Parameters
nIndex0 based index.
Returns
: return true if the technique is found and successfully set.

§ UnLockTexture()

void ParaEngine::CEffectFileDirectX::UnLockTexture ( int  nIndex)

UnLock a texture at a given index.

A locked texture will make all subsequent calls to setTexture takes no effect, thus preserving old value in video card.

Parameters
nIndex0 based index of the texture registry. If -1 it will unlock all.

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