#pragma once #define MLR_MLRINDEXEDTRIANGLECLOUD_HPP #if !defined(MLR_MLR_HPP) #include #endif #if !defined(MLR_MLRPOINTCLOUD_HPP) #include #endif namespace MidLevelRenderer { //########################################################################## //######################## MLRSpriteCloud ############################ //########################################################################## class MLRSpriteCloud: public MLRPointCloud { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Initialization // public: static void InitializeClass(); static void TerminateClass(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors/Destructors // public: MLRSpriteCloud(int); ~MLRSpriteCloud(); void SetData( const int *count, const Stuff::Point3D *point_data, const Stuff::RGBAColor *color_data, const Stuff::Scalar *scale_data, const Vector2DScalar *uv_data // only 4, regardless count ! ); void Draw (DrawEffectInformation*, GOSVertexPool*, MLRSorter*); int Draw (ToBeDrawnPrimitive*, MLRSorter*); int Clip(MLRClippingState, GOSVertexPool*, bool); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Class Data Support // public: static ClassData *DefaultData; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Testing // public: void TestInstance() const; protected: const Stuff::Scalar *scales; const Vector2DScalar *texCoords; }; }