source: GTP/trunk/Lib/Illum/IllumModule/IllumModule/include/RenderTechniques/HierarchicalParticleSystemTechnique.h @ 1062

Revision 1062, 1.2 KB checked in by szirmay, 18 years ago (diff)
Line 
1#pragma once
2#include "RenderTechnique.h"
3
4/**
5        @brief Base abstract class of rendering a particle system with the spherical billboard method. 
6*/
7class HierarchicalParticleSystemTechnique : virtual public RenderTechnique
8{
9public:
10        /**
11                @brief Constructor.
12
13                @param parentRenderable the object to operate on
14                @param parentTechniqueGroup the TechniqueGroup this RenderedTechnique is attached to
15        */
16        HierarchicalParticleSystemTechnique(
17                                                        unsigned long startFrame,
18                                                        unsigned long impostorUpdateInterval,
19                                                        unsigned int impostorResolution,
20                                                        bool useDistCalc,
21                                                        bool perspectiveRendering,
22                                                        ElementaryRenderable* parentRenderable,
23                                                        TechniqueGroup* parentTechniqueGroup
24                                                        );
25        ~HierarchicalParticleSystemTechnique();
26
27        void update(unsigned long frameNum);
28
29        //inherited
30        void runChanged(RenderingRunType runType, RenderingRun* run);
31
32protected:
33        unsigned long impostorUpdateInterval;
34        unsigned int impostorResolution;
35        /**
36                        @brief offset in frame number used during update
37        */
38        unsigned long startFrame;       
39        bool useDistCalc;
40        bool perspectiveRendering;
41
42        virtual RenderingRun* createChildPSysRenderingRun()=0;
43        virtual void impostorChanged(RenderingRun* run) = 0;
44       
45};
Note: See TracBrowser for help on using the repository browser.