Isle
|
[AI] Represents a Level of Detail (LOD) object for rendering, implemented with a mesh builder and supporting bitwise flag operations. More...
#include <viewlod.h>
Public Types | |
enum | { c_bit4 = 0x10 } |
Public Member Functions | |
ViewLOD (Tgl::Renderer *pRenderer) | |
[AI] Constructs a ViewLOD using the provided Tgl Renderer. More... | |
~ViewLOD () override | |
[AI] Destructor, deletes the owned mesh builder if present. More... | |
double | AveragePolyArea () const override |
[AI] Approximates the average area of polygons within this LOD. More... | |
int | NVerts () const override |
[AI] Returns the estimated number of vertices in this LOD. More... | |
Tgl::MeshBuilder * | GetMeshBuilder () |
[AI] Returns a pointer to the mesh builder associated with this LOD. More... | |
const Tgl::MeshBuilder * | GetMeshBuilder () const |
[AI] Returns a const pointer to the mesh builder for this LOD. More... | |
undefined4 | GetUnknown0x08 () |
[AI] Returns the internal flag value m_unk0x08. More... | |
unsigned char | GetUnknown0x08Test4 () |
[AI] Performs a bitwise AND (mask) with value 0xffffff04 on the internal flag, returning result as an unsigned char. More... | |
unsigned char | GetUnknown0x08Test8 () |
[AI] Performs a bitwise AND (mask) with value 0xffffff08 on the internal flag, returning result as an unsigned char. More... | |
void | SetFlag (unsigned char p_flag) |
[AI] Sets a given flag in the internal flags (m_unk0x08) using bitwise OR. More... | |
void | ClearFlag (unsigned char p_flag) |
[AI] Clears a given flag in the internal flags (m_unk0x08) using bitwise AND with negated p_flag. More... | |
![]() | |
virtual | ~LODObject () |
virtual double | AveragePolyArea () const =0 |
[AI] Returns the average polygon area for this LOD. More... | |
virtual int | NVerts () const =0 |
[AI] Returns the number of vertices for this LOD. More... | |
virtual int | NumPolys () const =0 |
[AI] Returns the number of polygons for this LOD. More... | |
virtual float | VTable0x10 ()=0 |
[AI] Unknown method related to the LOD. More... | |
Protected Attributes | |
Tgl::MeshBuilder * | m_meshBuilder |
[AI] Points to a mesh builder instance for constructing or managing polygonal mesh data for this LOD. More... | |
undefined4 | m_unk0x08 |
[AI] Internal bitfield for flag/status storage controlling LOD state and behavior. More... | |
[AI] Represents a Level of Detail (LOD) object for rendering, implemented with a mesh builder and supporting bitwise flag operations.
[AI] ViewLOD handles a group of polygons (LODObject) at a specific detail level, utilizing a Tgl::MeshBuilder for 3D mesh construction. It provides methods for average polygon area estimation and custom flag manipulation, intended for optimizing rendering performance based on distance or importance. The flags in m_unk0x08 are manipulated to affect the object's LOD state.
anonymous enum |
|
inline |
|
override |
[AI] Destructor, deletes the owned mesh builder if present.
Definition at line 4 of file viewlod.cpp.
|
inlineoverridevirtual |
[AI] Approximates the average area of polygons within this LOD.
[AI] Returns an average polygon area based on 2π*10 divided by the number of polygons. Used for LOD management heuristics. [AI]
Implements LODObject.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlineoverridevirtual |
|
inline |
|
protected |
|
protected |