IEffectFile Class Reference
 
 
 
IEffectFile Class Reference

#include <RTMax.h>

Inheritance diagram for IEffectFile:
BaseInterface InterfaceServer MaxHeapOperators

Class Description

Implemented by a plugin, typically a material, to provide access to the underlying shader code.

A developer can use this interface to access the actual shader code used to draw the material when in hardware mode. The interface can be accessed with the following code

IEffectFile* l_pEffectFile = static_cast<IEffectFile*>(lpMaterial->GetInterface(EFFECT_FILE_INTERFACE));
All methods are implemented by the host plugin

Public Member Functions

virtual Interface_ID  GetID ()
virtual bool  SaveEffectFile (const MCHAR *fileName)=0
  Save the current material as a D3D compliant Effect file.
virtual bool  SaveEffectFile (MCHAR *fileName) sealed

Member Function Documentation

virtual Interface_ID GetID ( ) [inline, virtual]
Remarks:
This method returns the unique interface ID.

Reimplemented from BaseInterface.

{ return EFFECT_FILE_INTERFACE; }
virtual bool SaveEffectFile ( const MCHAR *  fileName ) [pure virtual]

Save the current material as a D3D compliant Effect file.

This will save the underlying shader code to the file provided. The shader code will be as a UTF8 encoded string without a UTF8 Byte Order Marker (BOM).

Parameters:
*fileName The name of the file to save
Returns:
TRUE if successful
virtual bool SaveEffectFile ( MCHAR *  fileName ) [inline, sealed, virtual]
Deprecated:
Deprecated method in terms of implementation as of 3ds Max 2013 - re-implement with const MCHAR* method signature
{ return SaveEffectFile(const_cast<const MCHAR*>(fileName)); }