//===========================================================================// // Copyright (C) Microsoft Corporation. All rights reserved. // //===========================================================================// #pragma once #define MLR_MLRCardCloud_HPP #if !defined(MLR_MLR_HPP) #include #endif #if !defined(MLR_MLREFFECT_HPP) #include #endif namespace MidLevelRenderer { //########################################################################## //####################### MLRCardCloud ############################### //########################################################################## class MLRCardCloud: public MLREffect { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Initialization // public: static void InitializeClass(); static void TerminateClass(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors/Destructors // public: MLRCardCloud(int); ~MLRCardCloud(); void SetData( const int *count, const Stuff::Point3D *point_data, const Stuff::RGBAColor *color_data, const Vector2DScalar *uv_data ); void SetData( const int *count, const Stuff::Point3D *point_data, const Stuff::RGBAColor *color_data ); void Draw (DrawEffectInformation*, GOSVertexPool*, MLRSorter*); int Clip(MLRClippingState, GOSVertexPool*); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Class Data Support // public: static ClassData *DefaultData; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Testing // public: void TestInstance() const; protected: const int *usedNrOfCards; const Vector2DScalar *texCoords; static Stuff::DynamicArrayOf *clipPerVertex; // , Max_Number_Vertices_Per_Mesh static Stuff::DynamicArrayOf *clipExtraCoords; // , Max_Number_Vertices_Per_Mesh static Stuff::DynamicArrayOf *clipExtraColors; // , Max_Number_Vertices_Per_Mesh static Stuff::DynamicArrayOf *clipExtraTexCoords; // , Max_Number_Vertices_Per_Mesh static Stuff::DynamicArrayOf *clipExtraLength; // , Max_Number_Primitives_Per_Frame }; }