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

#include <dx8renderer.h>

Inherits MultiListObjectClass.

Inherited by DX8RigidFVFCategoryContainer, and DX8SkinFVFCategoryContainer.

Public Types

enum  { MAX_PASSES =4 }
 

Public Member Functions

 DX8FVFCategoryContainer (unsigned FVF, bool sorting)
 
virtual ~DX8FVFCategoryContainer ()
 
bool Is_Sorting () const
 
void Change_Polygon_Renderer_Texture (DX8PolygonRendererList &polygon_renderer_list, TextureClass *texture, TextureClass *new_texture, unsigned pass, unsigned stage)
 
void Change_Polygon_Renderer_Material (DX8PolygonRendererList &polygon_renderer_list, VertexMaterialClass *vmat, VertexMaterialClass *new_vmat, unsigned pass)
 
void Remove_Texture_Category (DX8TextureCategoryClass *tex_category)
 
virtual void Render (void)=0
 
virtual void Add_Mesh (MeshModelClass *mmc)=0
 
virtual void Log (bool only_visible)=0
 
virtual bool Check_If_Mesh_Fits (MeshModelClass *mmc)=0
 
unsigned Get_FVF () const
 
void Add_Visible_Texture_Category (DX8TextureCategoryClass *tex_category, int pass)
 
void Add_Visible_Material_Pass (MaterialPassClass *pass, MeshClass *mesh)
 
virtual void Add_Delayed_Visible_Material_Pass (MaterialPassClass *pass, MeshClass *mesh)=0
 
virtual void Render_Delayed_Procedural_Material_Passes (void)=0
 
- Public Member Functions inherited from MultiListObjectClass
 MultiListObjectClass (void)
 
virtual ~MultiListObjectClass (void)
 
MultiListNodeClassGet_List_Node () const
 
void Set_List_Node (MultiListNodeClass *node)
 

Static Public Member Functions

static unsigned Define_FVF (MeshModelClass *mmc, bool enable_lighting)
 

Protected Member Functions

void Generate_Texture_Categories (Vertex_Split_Table &split_table, unsigned vertex_offset)
 
void Insert_To_Texture_Category (Vertex_Split_Table &split_table, TextureClass **textures, VertexMaterialClass *mat, ShaderClass shader, int pass, unsigned vertex_offset)
 
bool Anything_To_Render ()
 
bool Any_Delayed_Passes_To_Render ()
 
void Render_Procedural_Material_Passes (void)
 
DX8TextureCategoryClassFind_Matching_Texture_Category (TextureClass *texture, unsigned pass, unsigned stage, DX8TextureCategoryClass *ref_category)
 
DX8TextureCategoryClassFind_Matching_Texture_Category (VertexMaterialClass *vmat, unsigned pass, DX8TextureCategoryClass *ref_category)
 

Protected Attributes

TextureCategoryList texture_category_list [MAX_PASSES]
 
TextureCategoryList visible_texture_category_list [MAX_PASSES]
 
MatPassTaskClassvisible_matpass_head
 
MatPassTaskClassvisible_matpass_tail
 
IndexBufferClassindex_buffer
 
int used_indices
 
unsigned FVF
 
unsigned passes
 
unsigned uv_coordinate_channels
 
bool sorting
 
bool AnythingToRender
 
bool AnyDelayedPassesToRender
 

Detailed Description

DX8FVFCategoryContainer

Definition at line 137 of file dx8renderer.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
MAX_PASSES 

Definition at line 140 of file dx8renderer.h.

Constructor & Destructor Documentation

◆ DX8FVFCategoryContainer()

DX8FVFCategoryContainer::DX8FVFCategoryContainer ( unsigned FVF,
bool sorting )

Definition at line 421 of file dx8renderer.cpp.

◆ ~DX8FVFCategoryContainer()

DX8FVFCategoryContainer::~DX8FVFCategoryContainer ( )
virtual

Definition at line 446 of file dx8renderer.cpp.

Member Function Documentation

◆ Add_Delayed_Visible_Material_Pass()

virtual void DX8FVFCategoryContainer::Add_Delayed_Visible_Material_Pass ( MaterialPassClass * pass,
MeshClass * mesh )
pure virtual

◆ Add_Mesh()

virtual void DX8FVFCategoryContainer::Add_Mesh ( MeshModelClass * mmc)
pure virtual

◆ Add_Visible_Material_Pass()

void DX8FVFCategoryContainer::Add_Visible_Material_Pass ( MaterialPassClass * pass,
MeshClass * mesh )

Definition at line 274 of file dx8renderer.cpp.

◆ Add_Visible_Texture_Category()

void DX8FVFCategoryContainer::Add_Visible_Texture_Category ( DX8TextureCategoryClass * tex_category,
int pass )
inline

Definition at line 215 of file dx8renderer.h.

◆ Any_Delayed_Passes_To_Render()

bool DX8FVFCategoryContainer::Any_Delayed_Passes_To_Render ( )
inlineprotected

Definition at line 170 of file dx8renderer.h.

◆ Anything_To_Render()

bool DX8FVFCategoryContainer::Anything_To_Render ( )
inlineprotected

Definition at line 169 of file dx8renderer.h.

◆ Change_Polygon_Renderer_Material()

void DX8FVFCategoryContainer::Change_Polygon_Renderer_Material ( DX8PolygonRendererList & polygon_renderer_list,
VertexMaterialClass * vmat,
VertexMaterialClass * new_vmat,
unsigned pass )

Definition at line 608 of file dx8renderer.cpp.

◆ Change_Polygon_Renderer_Texture()

void DX8FVFCategoryContainer::Change_Polygon_Renderer_Texture ( DX8PolygonRendererList & polygon_renderer_list,
TextureClass * texture,
TextureClass * new_texture,
unsigned pass,
unsigned stage )

Definition at line 514 of file dx8renderer.cpp.

◆ Check_If_Mesh_Fits()

virtual bool DX8FVFCategoryContainer::Check_If_Mesh_Fits ( MeshModelClass * mmc)
pure virtual

◆ Define_FVF()

unsigned DX8FVFCategoryContainer::Define_FVF ( MeshModelClass * mmc,
bool enable_lighting )
static

Definition at line 700 of file dx8renderer.cpp.

◆ Find_Matching_Texture_Category() [1/2]

DX8TextureCategoryClass * DX8FVFCategoryContainer::Find_Matching_Texture_Category ( TextureClass * texture,
unsigned pass,
unsigned stage,
DX8TextureCategoryClass * ref_category )
protected

Definition at line 459 of file dx8renderer.cpp.

◆ Find_Matching_Texture_Category() [2/2]

DX8TextureCategoryClass * DX8FVFCategoryContainer::Find_Matching_Texture_Category ( VertexMaterialClass * vmat,
unsigned pass,
DX8TextureCategoryClass * ref_category )
protected

Definition at line 489 of file dx8renderer.cpp.

◆ Generate_Texture_Categories()

void DX8FVFCategoryContainer::Generate_Texture_Categories ( Vertex_Split_Table & split_table,
unsigned vertex_offset )
protected

Definition at line 1203 of file dx8renderer.cpp.

◆ Get_FVF()

unsigned DX8FVFCategoryContainer::Get_FVF ( ) const
inline

Definition at line 213 of file dx8renderer.h.

◆ Insert_To_Texture_Category()

void DX8FVFCategoryContainer::Insert_To_Texture_Category ( Vertex_Split_Table & split_table,
TextureClass ** textures,
VertexMaterialClass * mat,
ShaderClass shader,
int pass,
unsigned vertex_offset )
protected

Definition at line 1113 of file dx8renderer.cpp.

◆ Is_Sorting()

bool DX8FVFCategoryContainer::Is_Sorting ( ) const
inline

Definition at line 191 of file dx8renderer.h.

◆ Log()

virtual void DX8FVFCategoryContainer::Log ( bool only_visible)
pure virtual

◆ Remove_Texture_Category()

void DX8FVFCategoryContainer::Remove_Texture_Category ( DX8TextureCategoryClass * tex_category)

Definition at line 262 of file dx8renderer.cpp.

◆ Render()

virtual void DX8FVFCategoryContainer::Render ( void )
pure virtual

◆ Render_Delayed_Procedural_Material_Passes()

virtual void DX8FVFCategoryContainer::Render_Delayed_Procedural_Material_Passes ( void )
pure virtual

◆ Render_Procedural_Material_Passes()

void DX8FVFCategoryContainer::Render_Procedural_Material_Passes ( void )
protected

Definition at line 290 of file dx8renderer.cpp.

Member Data Documentation

◆ AnyDelayedPassesToRender

bool DX8FVFCategoryContainer::AnyDelayedPassesToRender
protected

Definition at line 158 of file dx8renderer.h.

◆ AnythingToRender

bool DX8FVFCategoryContainer::AnythingToRender
protected

Definition at line 157 of file dx8renderer.h.

◆ FVF

unsigned DX8FVFCategoryContainer::FVF
protected

Definition at line 153 of file dx8renderer.h.

◆ index_buffer

IndexBufferClass* DX8FVFCategoryContainer::index_buffer
protected

Definition at line 151 of file dx8renderer.h.

◆ passes

unsigned DX8FVFCategoryContainer::passes
protected

Definition at line 154 of file dx8renderer.h.

◆ sorting

bool DX8FVFCategoryContainer::sorting
protected

Definition at line 156 of file dx8renderer.h.

◆ texture_category_list

TextureCategoryList DX8FVFCategoryContainer::texture_category_list[MAX_PASSES]
protected

Definition at line 145 of file dx8renderer.h.

◆ used_indices

int DX8FVFCategoryContainer::used_indices
protected

Definition at line 152 of file dx8renderer.h.

◆ uv_coordinate_channels

unsigned DX8FVFCategoryContainer::uv_coordinate_channels
protected

Definition at line 155 of file dx8renderer.h.

◆ visible_matpass_head

MatPassTaskClass* DX8FVFCategoryContainer::visible_matpass_head
protected

Definition at line 148 of file dx8renderer.h.

◆ visible_matpass_tail

MatPassTaskClass* DX8FVFCategoryContainer::visible_matpass_tail
protected

Definition at line 149 of file dx8renderer.h.

◆ visible_texture_category_list

TextureCategoryList DX8FVFCategoryContainer::visible_texture_category_list[MAX_PASSES]
protected

Definition at line 146 of file dx8renderer.h.


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