Files
firestorm/Gameleap/code/mw4/Libraries/mlr/MLRIndexedTriangleCloud.hpp
Cyd 2b8ca921cb Initial full mirror of c:\VWE (source + assets + toolchain + outputs) via Git LFS
Complete disaster-recovery snapshot: engine/game source, game data assets,
VC6 toolchain + DX SDKs, build outputs, deployed game, and _UNUSED archive.
Large binaries in Git LFS; text preserved byte-for-byte (core.autocrlf=false,
no eol attributes). See RECOVERY.md for the one-clone rebuild procedure.
2026-06-24 21:28:16 -05:00

91 lines
2.2 KiB
C++

#pragma once
#define MLR_MLRINDEXEDTRIANGLECLOUD_HPP
#if !defined(MLR_MLR_HPP)
#include <MLR\MLR.hpp>
#endif
#if !defined(MLR_MLRTRIANGLECLOUD_HPP)
#include <MLR\MLRTriangleCloud.hpp>
#endif
namespace MidLevelRenderer {
//##########################################################################
//################## MLRIndexedTriangleCloud #########################
//##########################################################################
class MLRIndexedTriangleCloud:
public MLRTriangleCloud
{
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Initialization
//
public:
static void
InitializeClass();
static void
TerminateClass();
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Constructors/Destructors
//
public:
MLRIndexedTriangleCloud(int);
~MLRIndexedTriangleCloud();
void
SetData(
const int *tri_count,
const int *point_count,
const WORD *index_data,
const Stuff::Point3D *point_data,
const Stuff::RGBAColor *color_data,
const Vector2DScalar *uv_data
);
void Draw (DrawEffectInformation*, GOSVertexPool*, MLRSorter*);
int Draw (ToBeDrawnPrimitive*, MLRSorter*);
int Clip(MLRClippingState, GOSVertexPool*, bool);
virtual WORD*
GetGOSIndices(int=0)
{ Check_Object(this); return gos_indices; }
int
GetNumGOSIndices()
{ Check_Object(this); return numGOSIndices; }
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Class Data Support
//
public:
static ClassData
*DefaultData;
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Testing
//
public:
void
TestInstance() const;
protected:
const int *usedNrOfPoints;
const WORD *index;
const Vector2DScalar *texCoords;
static Stuff::DynamicArrayOf<Vector2DScalar> *clipExtraTexCoords; // , Max_Number_Vertices_Per_Effect
static Stuff::DynamicArrayOf<WORD> *clipExtraIndex; // , Max_Number_Vertices_Per_Effect
static Stuff::DynamicArrayOf<BYTE> *visibleIndexedVertices;
WORD *gos_indices;
WORD numGOSIndices;
};
}