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

#include <dx8renderer.h>

Inherits MultiListObjectClass.

Public Member Functions

 DX8TextureCategoryClass (DX8FVFCategoryContainer *container, TextureClass **textures, ShaderClass shd, VertexMaterialClass *mat, int pass)
 
 ~DX8TextureCategoryClass ()
 
void Add_Render_Task (DX8PolygonRendererClass *p_renderer, MeshClass *p_mesh)
 
void Render (void)
 
bool Anything_To_Render ()
 
void Clear_Render_List ()
 
TextureClassPeek_Texture (int stage)
 
const VertexMaterialClassPeek_Material ()
 
ShaderClass Get_Shader ()
 
DX8PolygonRendererListGet_Polygon_Renderer_List ()
 
unsigned Add_Mesh (Vertex_Split_Table &split_buffer, unsigned vertex_offset, unsigned index_offset, IndexBufferClass *index_buffer, unsigned pass)
 
void Log (bool only_visible)
 
void Remove_Polygon_Renderer (DX8PolygonRendererClass *p_renderer)
 
void Add_Polygon_Renderer (DX8PolygonRendererClass *p_renderer, DX8PolygonRendererClass *add_after_this=NULL)
 
DX8FVFCategoryContainerGet_Container (void)
 
- 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 void SetForceMultiply (bool multiply)
 

Detailed Description

DX8TextureCategoryClass This class is used for each Material-Texture-Shader combination that is encountered during rendering. Each polygon_renderer that uses the same 'TextureCategory' will be linked to the 'TextureCategory' object. Then, all polygons will be rendered in 'TextureCategory' batches to reduce the number of stage changes (and most importantly, texture changes) that we cause in DX8.

Definition at line 83 of file dx8renderer.h.

Constructor & Destructor Documentation

◆ DX8TextureCategoryClass()

DX8TextureCategoryClass::DX8TextureCategoryClass ( DX8FVFCategoryContainer * container,
TextureClass ** textures,
ShaderClass shd,
VertexMaterialClass * mat,
int pass )

Definition at line 188 of file dx8renderer.cpp.

◆ ~DX8TextureCategoryClass()

DX8TextureCategoryClass::~DX8TextureCategoryClass ( )

Definition at line 213 of file dx8renderer.cpp.

Member Function Documentation

◆ Add_Mesh()

unsigned DX8TextureCategoryClass::Add_Mesh ( Vertex_Split_Table & split_buffer,
unsigned vertex_offset,
unsigned index_offset,
IndexBufferClass * index_buffer,
unsigned pass )

Definition at line 1508 of file dx8renderer.cpp.

◆ Add_Polygon_Renderer()

void DX8TextureCategoryClass::Add_Polygon_Renderer ( DX8PolygonRendererClass * p_renderer,
DX8PolygonRendererClass * add_after_this = NULL )

Definition at line 236 of file dx8renderer.cpp.

◆ Add_Render_Task()

void DX8TextureCategoryClass::Add_Render_Task ( DX8PolygonRendererClass * p_renderer,
MeshClass * p_mesh )

Definition at line 227 of file dx8renderer.cpp.

◆ Anything_To_Render()

bool DX8TextureCategoryClass::Anything_To_Render ( )
inline

Definition at line 103 of file dx8renderer.h.

◆ Clear_Render_List()

void DX8TextureCategoryClass::Clear_Render_List ( )
inline

Definition at line 104 of file dx8renderer.h.

◆ Get_Container()

DX8FVFCategoryContainer * DX8TextureCategoryClass::Get_Container ( void )
inline

Definition at line 124 of file dx8renderer.h.

◆ Get_Polygon_Renderer_List()

DX8PolygonRendererList & DX8TextureCategoryClass::Get_Polygon_Renderer_List ( )
inline

Definition at line 110 of file dx8renderer.h.

◆ Get_Shader()

ShaderClass DX8TextureCategoryClass::Get_Shader ( )
inline

Definition at line 108 of file dx8renderer.h.

◆ Log()

void DX8TextureCategoryClass::Log ( bool only_visible)

Definition at line 368 of file dx8renderer.cpp.

◆ Peek_Material()

const VertexMaterialClass * DX8TextureCategoryClass::Peek_Material ( )
inline

Definition at line 107 of file dx8renderer.h.

◆ Peek_Texture()

TextureClass * DX8TextureCategoryClass::Peek_Texture ( int stage)
inline

Definition at line 106 of file dx8renderer.h.

◆ Remove_Polygon_Renderer()

void DX8TextureCategoryClass::Remove_Polygon_Renderer ( DX8PolygonRendererClass * p_renderer)

Definition at line 251 of file dx8renderer.cpp.

◆ Render()

void DX8TextureCategoryClass::Render ( void )

Definition at line 1687 of file dx8renderer.cpp.

◆ SetForceMultiply()

static void DX8TextureCategoryClass::SetForceMultiply ( bool multiply)
inlinestatic

Definition at line 127 of file dx8renderer.h.


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