Viewport DXEffect interface.
A Direct X 8.1 shader should implement this class. It is used by the system to get information from the shader If a material implements this class, then all it needs to do is pass back a pointer in the GetInterface implementation. All the other methods can simply be a no op.
RefResult LightMap::NotifyRefChanged(Interval changeInt, RefTargetHandle hTarget, PartID& partID, RefMessage message ) { switch (message) { //this allows the manager to control the TV better. case REFMSG_WANT_SHOWPARAMLEVEL: { BOOL * pb = (BOOL*)(partID); *pb = TRUE; return REF_HALT; } } return(REF_SUCCEED); }
#include <IViewportManager.h>
Public Member Functions |
|
virtual Interface_ID | GetID () |
virtual LifetimeType | LifetimeControl () |
virtual ParamDlg * | CreateEffectDlg (HWND hWnd, IMtlParams *imp)=0 |
The Viewport Manager will call this to
display the dialog (if needed) |
|
virtual void | DisableUI ()=0 |
This is no longer used. |
|
virtual MCHAR * | GetName ()=0 |
Get the UI name of the effect - this is only
used for Viewport MAnager effects - not materials. |
|
virtual void | SetDXData (IHardwareMaterial *pHWMtl, Mtl *pMtl)=0 |
For effects that will be using the fixed
function pipeline. |
virtual Interface_ID GetID | ( | ) | [inline, virtual] |
Reimplemented from BaseInterface.
Reimplemented in IDX9DataBridge.
{ return VIEWPORT_SHADER_CLIENT_INTERFACE; }
virtual LifetimeType LifetimeControl | ( | ) | [inline, virtual] |
Reimplemented from BaseInterface.
Reimplemented in IDX9DataBridge.
{ return noRelease; }
virtual ParamDlg* CreateEffectDlg | ( | HWND | hWnd, |
IMtlParams * | imp | ||
) | [pure virtual] |
The Viewport Manager will call this to display the dialog (if needed)
hWnd | The parent window handle |
*imp | A pointer to IMtlParam - see the main max SDK for info on this class |
virtual void DisableUI | ( | ) | [pure virtual] |
virtual MCHAR* GetName | ( | ) | [pure virtual] |
Get the UI name of the effect - this is only used for Viewport MAnager effects - not materials.
virtual void SetDXData | ( | IHardwareMaterial * | pHWMtl, |
Mtl * | pMtl | ||
) | [pure virtual] |
For effects that will be using the fixed function pipeline.
This provided access to the IHArdwareMaterial allowing access to DirectX FFP.
*pHWMtl | A pointer to the internal hardware material. |
*pMtl | A pointer to the parent Material |