Richard Boegli's CnC_Generals_Zero_Hour Fork WIP
This is documentation of Richard Boegil's Zero Hour Fork
 
Loading...
Searching...
No Matches
ShdInterfaceClass Class Referenceabstract

#include <shdinterface.h>

Inherits RefCountClass.

Inherited by Shd6BumpDiffClass, Shd6BumpSpecClass, Shd6CubeMapClass, Shd6GlossMaskClass, Shd6LegacyW3DClass, Shd6SimpleClass, Shd7BumpDiffClass, Shd7BumpSpecClass, Shd8BumpDiffClass, and Shd8BumpSpecClass.

Public Member Functions

 ShdInterfaceClass (const ShdDefClass *def, int class_id)
 Constructor.
 
virtual ~ShdInterfaceClass (void)
 Destructor.
 
const ShdDefClassPeek_Definition (void)
 returns a pointer to the definition for this shader
 
WWINLINE int Get_Class_ID () const
 
virtual bool Greater_Than (const ShdInterfaceClass &s, int pass) const
 
virtual bool Similar_Enough (const ShdInterfaceClass &s, int pass) const
 
virtual int Get_Pass_Count (void)=0
 
virtual bool Pass_Selection (ShdMeshClass *, RenderInfoClass *, int)
 
virtual void Apply_Shared (int cur_pass, RenderInfoClass &rinfo)=0
 
virtual void Apply_Instance (int cur_pass, RenderInfoClass &rinfo)=0
 
virtual unsigned Get_Vertex_Stream_Count () const =0
 
virtual unsigned Get_Vertex_Size (unsigned stream) const =0
 
virtual bool Use_HW_Vertex_Processing () const =0
 
virtual int Get_Texture_Count () const =0
 
virtual TextureClassPeek_Texture (int idx) const =0
 
virtual void Copy_Vertex_Stream (unsigned stream, void *dest_buffer, const VertexStreamStruct &vss, unsigned vertex_count)=0
 
virtual bool Is_Opaque (void) const
 
- Public Member Functions inherited from RefCountClass
 RefCountClass (void)
 
 RefCountClass (const RefCountClass &)
 
void Add_Ref (void) const
 
WWINLINE void Release_Ref (void) const
 
int Num_Refs (void) const
 
virtual void Delete_This (void)
 

Protected Attributes

const ShdDefClassDefinition
 
int ClassID
 

Additional Inherited Members

- Static Public Member Functions inherited from RefCountClass
static int Total_Refs (void)
 
static RefCountClassAdd_Active_Ref (RefCountClass *obj)
 
static RefCountClassSet_Ref_Owner (RefCountClass *obj, char *file, int line)
 
static void Remove_Active_Ref (RefCountClass *obj)
 
static bool Validate_Active_Ref (RefCountClass *obj)
 
- Public Attributes inherited from RefCountClass
RefCountNodeClass ActiveRefNode
 
ActiveRefStruct ActiveRefInfo
 
- Static Public Attributes inherited from RefCountClass
static RefCountListClass ActiveRefList
 
- Protected Member Functions inherited from RefCountClass
virtual ~RefCountClass (void)
 

Detailed Description

ShdInterfaceClass - This class is the virtual interface for all shaders. A derived shader's job is to set up the D3D render states for a particular rendering operation. Instances of shaders are are created by an associated ShdDefClass.

Definition at line 93 of file shdinterface.h.

Constructor & Destructor Documentation

◆ ShdInterfaceClass()

ShdInterfaceClass::ShdInterfaceClass ( const ShdDefClass * def,
int class_id )

Constructor.

Base class constructor for shaders. Saves a pointer to the definition for this shader.

Parameters

Definition at line 51 of file shdinterface.cpp.

◆ ~ShdInterfaceClass()

ShdInterfaceClass::~ShdInterfaceClass ( void )
virtual

Destructor.

Destructor for ShdInterfaceClass, releases the definition.

Definition at line 64 of file shdinterface.cpp.

Member Function Documentation

◆ Apply_Instance()

virtual void ShdInterfaceClass::Apply_Instance ( int cur_pass,
RenderInfoClass & rinfo )
pure virtual

◆ Apply_Shared()

virtual void ShdInterfaceClass::Apply_Shared ( int cur_pass,
RenderInfoClass & rinfo )
pure virtual

◆ Copy_Vertex_Stream()

virtual void ShdInterfaceClass::Copy_Vertex_Stream ( unsigned stream,
void * dest_buffer,
const VertexStreamStruct & vss,
unsigned vertex_count )
pure virtual

◆ Get_Class_ID()

WWINLINE int ShdInterfaceClass::Get_Class_ID ( ) const
inline

Definition at line 101 of file shdinterface.h.

◆ Get_Pass_Count()

◆ Get_Texture_Count()

◆ Get_Vertex_Size()

virtual unsigned ShdInterfaceClass::Get_Vertex_Size ( unsigned stream) const
pure virtual

◆ Get_Vertex_Stream_Count()

virtual unsigned ShdInterfaceClass::Get_Vertex_Stream_Count ( ) const
pure virtual

◆ Greater_Than()

virtual bool ShdInterfaceClass::Greater_Than ( const ShdInterfaceClass & s,
int pass ) const
inlinevirtual

Reimplemented in Shd6LegacyW3DClass.

Definition at line 105 of file shdinterface.h.

◆ Is_Opaque()

virtual bool ShdInterfaceClass::Is_Opaque ( void ) const
inlinevirtual

Reimplemented in Shd6LegacyW3DClass.

Definition at line 132 of file shdinterface.h.

◆ Pass_Selection()

virtual bool ShdInterfaceClass::Pass_Selection ( ShdMeshClass * ,
RenderInfoClass * ,
int  )
inlinevirtual

Reimplemented in Shd8BumpDiffClass, and Shd8BumpSpecClass.

Definition at line 109 of file shdinterface.h.

◆ Peek_Definition()

const ShdDefClass * ShdInterfaceClass::Peek_Definition ( void )

returns a pointer to the definition for this shader

Returns

Definition at line 75 of file shdinterface.cpp.

◆ Peek_Texture()

◆ Similar_Enough()

virtual bool ShdInterfaceClass::Similar_Enough ( const ShdInterfaceClass & s,
int pass ) const
inlinevirtual

Definition at line 106 of file shdinterface.h.

◆ Use_HW_Vertex_Processing()

virtual bool ShdInterfaceClass::Use_HW_Vertex_Processing ( ) const
pure virtual

Member Data Documentation

◆ ClassID

int ShdInterfaceClass::ClassID
protected

Definition at line 137 of file shdinterface.h.

◆ Definition

const ShdDefClass* ShdInterfaceClass::Definition
protected

Definition at line 136 of file shdinterface.h.


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