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

#include <shddef.h>

Inherits EditableClass, and RefCountClass.

Inherited by ShdBumpDiffDefClass, ShdBumpSpecDefClass, ShdCubeMapDefClass, ShdGlossMaskDefClass, ShdLegacyW3DDefClass, and ShdSimpleDefClass.

Public Member Functions

 DECLARE_EDITABLE (ShdDefClass, EditableClass)
 
 ShdDefClass (uint32 class_id)
 
 ShdDefClass (const ShdDefClass &that)
 
virtual ~ShdDefClass (void)
 
virtual ShdDefClassClone (void) const =0
 
virtual void Reset (void)
 
WWINLINE uint32 Get_Class_ID (void) const
 
virtual void Init ()=0
 
virtual void Shutdown ()=0
 
virtual ShdInterfaceClassCreate (void) const =0
 
const char * Get_Name (void) const
 
void Set_Name (const char *new_name)
 
int Get_Surface_Type (void) const
 
void Set_Surface_Type (int t)
 
virtual bool Is_Valid_Config (StringClass &message)
 
virtual bool Uses_Vertex_Alpha (void) const
 
virtual bool Uses_UV_Channel (int i) const
 
virtual bool Uses_Vertex_Colors (void) const
 
virtual bool Requires_Normals (void) const
 
virtual bool Requires_Tangent_Space_Vectors (void) const
 
virtual bool Requires_Sorting (void) const
 
virtual int Static_Sort_Index (void) const
 
virtual bool Save (ChunkSaveClass &csave)
 Serialize this ShdDef into a chunk saver.
 
virtual bool Load (ChunkLoadClass &cload)
 Load this ShdDef from a chunk loader.
 
- Public Member Functions inherited from EditableClass
virtual int Get_Parameter_Count (void) const
 
virtual ParameterClassLock_Parameter (int i)
 
virtual void Unlock_Parameter (int i)
 
- 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)
 

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

ShdDefClass - This class is the base class for all shader "definition" objects.

A shader definition object has two responsibilities.

  • It contains a "generic" description (chars, ints, floats, etc) of all of the user-settable parameters used by an instance of this type of shader (e.g. what textures it uses, colors, etc).
  • It contains a virtual "Create" function which can create an actual shader for you. This function is an abstract factory which creates a shader implementation compatible with the current hardware the application is running on.

Definition at line 84 of file shddef.h.

Constructor & Destructor Documentation

◆ ShdDefClass() [1/2]

ShdDefClass::ShdDefClass ( uint32 class_id)

Definition at line 45 of file shddef.cpp.

◆ ShdDefClass() [2/2]

ShdDefClass::ShdDefClass ( const ShdDefClass & that)

Definition at line 91 of file shddef.cpp.

◆ ~ShdDefClass()

ShdDefClass::~ShdDefClass ( void )
virtual

Definition at line 98 of file shddef.cpp.

Member Function Documentation

◆ Clone()

virtual ShdDefClass * ShdDefClass::Clone ( void ) const
pure virtual

◆ Create()

virtual ShdInterfaceClass * ShdDefClass::Create ( void ) const
pure virtual

◆ DECLARE_EDITABLE()

ShdDefClass::DECLARE_EDITABLE ( ShdDefClass ,
EditableClass  )

◆ Get_Class_ID()

WWINLINE uint32 ShdDefClass::Get_Class_ID ( void ) const
inline

Definition at line 97 of file shddef.h.

◆ Get_Name()

const char * ShdDefClass::Get_Name ( void ) const

Definition at line 102 of file shddef.cpp.

◆ Get_Surface_Type()

int ShdDefClass::Get_Surface_Type ( void ) const
inline

Definition at line 109 of file shddef.h.

◆ Init()

virtual void ShdDefClass::Init ( )
pure virtual

◆ Is_Valid_Config()

virtual bool ShdDefClass::Is_Valid_Config ( StringClass & message)
inlinevirtual

◆ Load()

bool ShdDefClass::Load ( ChunkLoadClass & cload)
virtual

Load this ShdDef from a chunk loader.

Parameters
cload- ChunkLoad object to read from

Reimplemented in ShdBumpDiffDefClass, ShdBumpSpecDefClass, ShdCubeMapDefClass, ShdGlossMaskDefClass, ShdLegacyW3DDefClass, and ShdSimpleDefClass.

Definition at line 160 of file shddef.cpp.

◆ Requires_Normals()

virtual bool ShdDefClass::Requires_Normals ( void ) const
inlinevirtual

◆ Requires_Sorting()

virtual bool ShdDefClass::Requires_Sorting ( void ) const
inlinevirtual

◆ Requires_Tangent_Space_Vectors()

virtual bool ShdDefClass::Requires_Tangent_Space_Vectors ( void ) const
inlinevirtual

◆ Reset()

void ShdDefClass::Reset ( void )
virtual

Definition at line 112 of file shddef.cpp.

◆ Save()

bool ShdDefClass::Save ( ChunkSaveClass & csave)
virtual

Serialize this ShdDef into a chunk saver.

Parameters
csave- ChunkSave object to write into

Reimplemented in ShdBumpDiffDefClass, ShdBumpSpecDefClass, ShdCubeMapDefClass, ShdGlossMaskDefClass, ShdLegacyW3DDefClass, and ShdSimpleDefClass.

Definition at line 140 of file shddef.cpp.

◆ Set_Name()

void ShdDefClass::Set_Name ( const char * new_name)

Definition at line 107 of file shddef.cpp.

◆ Set_Surface_Type()

void ShdDefClass::Set_Surface_Type ( int t)
inline

Definition at line 110 of file shddef.h.

◆ Shutdown()

virtual void ShdDefClass::Shutdown ( )
pure virtual

◆ Static_Sort_Index()

virtual int ShdDefClass::Static_Sort_Index ( void ) const
inlinevirtual

◆ Uses_UV_Channel()

virtual bool ShdDefClass::Uses_UV_Channel ( int i) const
inlinevirtual

Reimplemented in ShdLegacyW3DDefClass.

Definition at line 117 of file shddef.h.

◆ Uses_Vertex_Alpha()

virtual bool ShdDefClass::Uses_Vertex_Alpha ( void ) const
inlinevirtual

Definition at line 116 of file shddef.h.

◆ Uses_Vertex_Colors()

virtual bool ShdDefClass::Uses_Vertex_Colors ( void ) const
inlinevirtual

Definition at line 118 of file shddef.h.


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