[AI] Level-Of-Detail (LOD) object used for rendering and managing polygonal mesh data with LOD switch...
LegoResult FUN_100aad70(LegoTextureInfo *p_textureInfo)
[AI] Assigns the group texture to all textured meshes, but does NOT override mesh color.
int NumPolys() const override
[AI] Get number of polygons (faces) for this LOD.
void ClearMeshOffset()
[AI] Reset mesh offset index to start at 0, affecting which meshes are updated by future color/textur...
LegoU32 m_numPolys
Total number of polygons (faces) across all meshes (NumPolys implementation). [AI].
LegoU32 m_meshOffset
Internal mesh starting index for iteration; used for color/texture selective assignment....
~LegoLOD() override
[AI] Destructor.
LegoLOD * Clone(Tgl::Renderer *p_renderer)
[AI] Create an exact copy of this LOD, including cloned meshes, for another (or the same) renderer.
LegoResult SetTextureInfo(LegoTextureInfo *p_textureInfo)
[AI] Assigns the same texture group to all textured meshes in this LOD.
float VTable0x10() override
[AI] Reserved LOD callback, returns zero.
LegoResult SetColor(LegoFloat p_red, LegoFloat p_green, LegoFloat p_blue, LegoFloat p_alpha)
[AI] Overrides the color of all non-textured mesh parts for this LOD.
LegoResult GetTextureInfo(LegoTextureInfo *&p_textureInfo)
[AI] Retrieves the texture info/group of the first mesh with group texture in this LOD.
LegoU32 m_numVertices
Total number of vertices across all mesh parts. Used for stats and validation. [AI].
LegoResult Read(Tgl::Renderer *p_renderer, LegoTextureContainer *p_textureContainer, LegoStorage *p_storage)
[AI] Load LOD geometry and material info from storage, building Tgl::Mesh group(s).
static LegoBool FUN_100aae20(const LegoChar *p_name)
[AI] Helper to check if a mesh/material name matches the "inh" group, which separates non-inheritable...
LegoU32 m_numMeshes
Number of sub-meshes held in m_melems. [AI].
Mesh * m_melems
Array of mesh struct objects representing all mesh parts that make up this LOD. [AI].
Abstract base class providing an interface for file-like storage with binary and text read/write oper...
Specialized LegoContainer handling LegoTextureInfo objects and their DirectDraw/Direct3D caching.
[AI] Contains DirectDraw and Direct3DRM handles and metadata for a texture used in the LEGO Island re...
[AI] Represents a renderable 3D mesh.
[AI] Main interface/factory for rendering resources and scene graphs.
[AI] Represents a Level of Detail (LOD) object for rendering, implemented with a mesh builder and sup...
[AI] Defines basic fixed-width data types and platform-neutral constants for LEGO Island codebase.
unsigned long LegoU32
[AI] Unsigned 32-bit integer type for cross-platform compatibility.
char LegoChar
[AI] Alias for char, for use in character/byte data and string handling.
LegoS32 LegoResult
[AI] Function result type (return code): typically SUCCESS (0) or FAILURE (-1).
float LegoFloat
[AI] Floating point type used throughout LEGO Island.
LegoU8 LegoBool
[AI] Boolean value used throughout the codebase.
[AI] Structure representing a sub-mesh and its texturization flag.
BOOL m_unk0x04
Indicates if this mesh has a texture group assigned (TRUE = textured). [AI].
Tgl::Mesh * m_tglMesh
Pointer to the mesh object for rendering. [AI].