Public Member Functions

IHardwareShader Class Reference

Search for all occurrences

#include <ihardwareshader.h>

Inheritance diagram for IHardwareShader:
Inheritance graph
[legend]

List of all members.

Public Member Functions

virtual Interface_ID  GetID ()
virtual Interface_ID  GetVSID ()=0
virtual Interface_ID  GetPSID ()=0
virtual LifetimeType  LifetimeControl ()
virtual void  StartObject (Mesh *mesh)=0
virtual void  StartObject (MNMesh *mnmesh)=0
virtual void  InitializeShaders (Mesh *mesh, BaseInterface *pbvs, Material *mtlArray, int numMtl, GFX_ESCAPE_FN fn)=0
virtual void  InitializeShaders (MNMesh *mnmesh, BaseInterface *pbvs, Material *mtlArray, int numMtl, GFX_ESCAPE_FN fn)=0
virtual bool  CanTryStrips ()=0
virtual DWORD  GetRndMode ()=0
virtual Material GetMaterial (int numMat)=0
virtual void  SetMaterial (const Material &m, int index=0)=0
virtual int  GetNumMultiPass (int numMtl)=0
virtual void  SetNumMultiPass (int numPass)=0
virtual void  DrawMeshStrips (MeshData *data, GFX_ESCAPE_FN fn)=0
virtual void  DrawWireMesh (WireMeshData *data, GFX_ESCAPE_FN fn)=0
virtual void  StartLines (WireMeshData *data)=0
virtual void  AddLine (DWORD *vert, int vis)=0
virtual void  DrawLines ()=0
virtual void  EndLines (GFX_ESCAPE_FN fn)=0
virtual void  StartTriangles (MeshFaceData *data)=0
virtual void  AddTriangle (DWORD index, int *edgeVis)=0
virtual void  DrawTriangles ()=0
virtual void  EndTriangles (GFX_ESCAPE_FN fn)=0
virtual void  EndObject (Mesh *mesh)=0
virtual void  EndObject (MNMesh *mnmesh)=0

Member Function Documentation

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

Reimplemented from BaseInterface.

Reimplemented in IHardwareRenderer, and IHardwareRendererST.

{ return HARDWARE_SHADER_INTERFACE_ID; }
virtual Interface_ID GetVSID ( ) [pure virtual]
virtual Interface_ID GetPSID ( ) [pure virtual]
virtual LifetimeType LifetimeControl ( ) [inline, virtual]
Remarks:
This method allows inquiries into the actual lifetime policy of a client and provide a server-controlled delete notify callback.
Returns:
One of the following LifetimeTypes:

noRelease

Do not call release, use interface as long as you like.

immediateRelease

The interface is only good for one calls. The release is implied so a call to release is not required.

wantsRelease

The clients are controlling the lifetime, so the interface needs a Release() when the client has finished. This is the default.

serverControlled

The server controls the lifetime and will use the InterfaceNotifyCallback to inform the code when it is gone.
Default Implementation:
{ return noRelease; }

Reimplemented from BaseInterface.

Reimplemented in IHardwareRenderer.

{ return noRelease; }
virtual void StartObject ( Mesh mesh ) [pure virtual]
virtual void StartObject ( MNMesh mnmesh ) [pure virtual]
virtual void InitializeShaders ( Mesh mesh,
BaseInterface pbvs,
Material mtlArray,
int  numMtl,
GFX_ESCAPE_FN  fn 
) [pure virtual]
virtual void InitializeShaders ( MNMesh mnmesh,
BaseInterface pbvs,
Material mtlArray,
int  numMtl,
GFX_ESCAPE_FN  fn 
) [pure virtual]
virtual bool CanTryStrips ( ) [pure virtual]
virtual DWORD GetRndMode ( ) [pure virtual]
virtual Material* GetMaterial ( int  numMat ) [pure virtual]
virtual void SetMaterial ( const Material m,
int  index = 0 
) [pure virtual]
virtual int GetNumMultiPass ( int  numMtl ) [pure virtual]
virtual void SetNumMultiPass ( int  numPass ) [pure virtual]
virtual void DrawMeshStrips ( MeshData data,
GFX_ESCAPE_FN  fn 
) [pure virtual]
virtual void DrawWireMesh ( WireMeshData data,
GFX_ESCAPE_FN  fn 
) [pure virtual]
virtual void StartLines ( WireMeshData data ) [pure virtual]
virtual void AddLine ( DWORD *  vert,
int  vis 
) [pure virtual]
virtual void DrawLines ( ) [pure virtual]
virtual void EndLines ( GFX_ESCAPE_FN  fn ) [pure virtual]
virtual void StartTriangles ( MeshFaceData data ) [pure virtual]
virtual void AddTriangle ( DWORD  index,
int *  edgeVis 
) [pure virtual]
virtual void DrawTriangles ( ) [pure virtual]
virtual void EndTriangles ( GFX_ESCAPE_FN  fn ) [pure virtual]
virtual void EndObject ( Mesh mesh ) [pure virtual]
virtual void EndObject ( MNMesh mnmesh ) [pure virtual]

IHardwareShader IHardwareShader IHardwareShader IHardwareShader IHardwareShader IHardwareShader IHardwareShader IHardwareShader IHardwareShader IHardwareShader
IHardwareShader IHardwareShader IHardwareShader IHardwareShader IHardwareShader IHardwareShader IHardwareShader IHardwareShader IHardwareShader IHardwareShader