00001 00002 00003 #ifndef GPUFIRE_H 00004 #define GPUFIRE_H 00005 00006 00007 #include "Sprite.h" 00008 #include "Vector3f.h" 00009 00010 00011 namespace pge { 00012 00013 class GPUProgram; 00014 class Texture; 00015 00016 class GPUFire : public Sprite { 00017 00018 public: 00019 //************************************************************************ 00020 // 00021 // Constructor 00022 // 00023 //************************************************************************ 00025 GPUFire(Vector3f center, float size); 00026 00027 //************************************************************************ 00028 // 00029 // Destructor 00030 // 00031 //************************************************************************ 00033 virtual ~GPUFire(void); 00034 00035 00036 //************************************************************************ 00037 // 00038 // Functions 00039 // 00040 //************************************************************************ 00041 bool init(void); 00042 void render(void); 00043 void timer(unsigned int delay); 00044 00045 00046 private: 00047 //************************************************************************ 00048 // 00049 // Variables 00050 // 00051 //************************************************************************ 00052 GPUProgram *m_program; 00053 Texture *m_firecolor; 00054 Texture *m_firemask; 00055 Texture *m_noise; 00056 float m_time; 00057 }; 00058 }; 00059 00060 #endif