60class DX8RenderTypeArrayClass;
74#define RECORD_RENDER(I,P) render_stats[I].count++; render_stats[I].polys+=P;
93 static bool m_gForceMultiply;
114 unsigned vertex_offset,
115 unsigned index_offset,
118 void Log(
bool only_visible);
167 unsigned vertex_offset);
210 virtual void Log(
bool only_visible)=0;
248 void Log(
bool only_visible);
284 void Log(
bool only_visible);
299 void clearVisibleSkinList();
301 unsigned int VisibleVertexCount;
IndexBufferClass * index_buffer
TextureCategoryList texture_category_list[MAX_PASSES]
virtual void Log(bool only_visible)=0
void Add_Visible_Material_Pass(MaterialPassClass *pass, MeshClass *mesh)
void Insert_To_Texture_Category(Vertex_Split_Table &split_table, TextureClass **textures, VertexMaterialClass *mat, ShaderClass shader, int pass, unsigned vertex_offset)
virtual void Add_Mesh(MeshModelClass *mmc)=0
virtual void Render_Delayed_Procedural_Material_Passes(void)=0
unsigned uv_coordinate_channels
bool AnyDelayedPassesToRender
TextureCategoryList visible_texture_category_list[MAX_PASSES]
virtual ~DX8FVFCategoryContainer()
MatPassTaskClass * visible_matpass_tail
void Change_Polygon_Renderer_Texture(DX8PolygonRendererList &polygon_renderer_list, TextureClass *texture, TextureClass *new_texture, unsigned pass, unsigned stage)
bool Anything_To_Render()
MatPassTaskClass * visible_matpass_head
virtual void Render(void)=0
void Render_Procedural_Material_Passes(void)
static unsigned Define_FVF(MeshModelClass *mmc, bool enable_lighting)
virtual void Add_Delayed_Visible_Material_Pass(MaterialPassClass *pass, MeshClass *mesh)=0
void Remove_Texture_Category(DX8TextureCategoryClass *tex_category)
virtual bool Check_If_Mesh_Fits(MeshModelClass *mmc)=0
void Add_Visible_Texture_Category(DX8TextureCategoryClass *tex_category, int pass)
DX8TextureCategoryClass * Find_Matching_Texture_Category(TextureClass *texture, unsigned pass, unsigned stage, DX8TextureCategoryClass *ref_category)
bool Any_Delayed_Passes_To_Render()
DX8FVFCategoryContainer(unsigned FVF, bool sorting)
void Generate_Texture_Categories(Vertex_Split_Table &split_table, unsigned vertex_offset)
void Change_Polygon_Renderer_Material(DX8PolygonRendererList &polygon_renderer_list, VertexMaterialClass *vmat, VertexMaterialClass *new_vmat, unsigned pass)
void Invalidate(bool shutdown=false)
void Set_Camera(CameraClass *cam)
DecalMeshClass * visible_decal_meshes
void Render_Decal_Meshes(void)
void Log_Statistics_String(bool only_visible)
SimpleDynVecClass< FVFCategoryList * > texture_category_container_lists_rigid
void Clear_Pending_Delete_Lists()
FVFCategoryList * texture_category_container_list_skin
CameraClass * Peek_Camera(void)
static void Request_Log_Statistics()
void Add_To_Render_List(DecalMeshClass *decalmesh)
void Unregister_Mesh_Type(MeshModelClass *mmc)
void Enable_Lighting(bool enable)
void Register_Mesh_Type(MeshModelClass *mmc)
MatPassTaskClass * delayed_matpass_tail
void Add_Mesh(MeshModelClass *mmc)
virtual void Render_Delayed_Procedural_Material_Passes(void)
bool Check_If_Mesh_Fits(MeshModelClass *mmc)
VertexBufferClass * vertex_buffer
void Log(bool only_visible)
DX8RigidFVFCategoryContainer(unsigned FVF, bool sorting)
MatPassTaskClass * delayed_matpass_head
virtual void Add_Delayed_Visible_Material_Pass(MaterialPassClass *pass, MeshClass *mesh)
~DX8RigidFVFCategoryContainer()
void Add_Visible_Skin(MeshClass *mesh)
virtual void Add_Delayed_Visible_Material_Pass(MaterialPassClass *pass, MeshClass *mesh)
~DX8SkinFVFCategoryContainer()
virtual void Render_Delayed_Procedural_Material_Passes(void)
void Add_Mesh(MeshModelClass *mmc)
DX8SkinFVFCategoryContainer(bool sorting)
bool Check_If_Mesh_Fits(MeshModelClass *mmc)
void Log(bool only_visible)
~DX8TextureCategoryClass()
void Add_Render_Task(DX8PolygonRendererClass *p_renderer, MeshClass *p_mesh)
DX8FVFCategoryContainer * Get_Container(void)
bool Anything_To_Render()
void Add_Polygon_Renderer(DX8PolygonRendererClass *p_renderer, DX8PolygonRendererClass *add_after_this=NULL)
unsigned Add_Mesh(Vertex_Split_Table &split_buffer, unsigned vertex_offset, unsigned index_offset, IndexBufferClass *index_buffer, unsigned pass)
DX8PolygonRendererList & Get_Polygon_Renderer_List()
DX8TextureCategoryClass(DX8FVFCategoryContainer *container, TextureClass **textures, ShaderClass shd, VertexMaterialClass *mat, int pass)
const VertexMaterialClass * Peek_Material()
void Log(bool only_visible)
void Remove_Polygon_Renderer(DX8PolygonRendererClass *p_renderer)
TextureClass * Peek_Texture(int stage)
static void SetForceMultiply(bool multiply)
MultiListObjectClass(void)
MultiListClass< DX8TextureCategoryClass > TextureCategoryList
MultiListClass< DX8FVFCategoryContainer > FVFCategoryList
MultiListClass< DX8PolygonRendererClass > DX8PolygonRendererList
DX8MeshRendererClass TheDX8MeshRenderer