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

Revision 1062, 1.9 KB checked in by szirmay, 18 years ago (diff)
Line 
1#pragma once
2
3//disable inheritance warning caused by multiple inheritance
4#if _WIN32
5#if _MSC_VER
6#pragma warning(disable: 4250)
7#endif
8#endif
9
10#include "OgreRenderTechnique.h"
11#include "HierarchicalParticleSystemTechnique.h"
12
13/**
14        @brief CausticCasterRenderTechnique used in an OGRE environment.
15*/
16class OgreHierarchicalParticleSystemTechnique : public OgreRenderTechnique,
17                                                                                        public HierarchicalParticleSystemTechnique
18{
19public:
20
21        OgreHierarchicalParticleSystemTechnique(unsigned long startFrame,
22                                                        unsigned long impostorUpdateInterval,
23                                                        unsigned int impostorResolution,
24                                                        unsigned char impostorTexID,
25                                                        bool useDistCalc,
26                                                        bool perspectiveRendering,
27                                                        String childPSysScriptName,
28                                                        bool useOwnMaterial,
29                                                        String impostorMaterialName,
30                                                        Pass* pass,
31                                                        OgreRenderable* parentRenderable,
32                                                        OgreTechniqueGroup* parentTechniqueGroup
33                                                        );
34        /**
35                @brief Destructor.
36        */
37        ~OgreHierarchicalParticleSystemTechnique();     
38       
39protected:
40       
41        String impostorMaterialName;
42        String childPSysScriptName;
43        String childPSysName;
44        unsigned char impostorTexID;
45        bool useOwnMaterial;
46       
47        //inherited
48        RenderingRun* createChildPSysRenderingRun();
49        virtual void impostorChanged(RenderingRun* run);
50};
51
52class OgreHierarchicalParticleSystemTechniqueFactory : public RenderTechniqueFactory
53{
54public:
55       
56        OgreHierarchicalParticleSystemTechniqueFactory();
57
58        OgreRenderTechnique* createInstance(IllumTechniqueParams* params,
59                                                                                Pass* pass,
60                                                                                OgreRenderable* parentRenderable,
61                                                                                OgreTechniqueGroup* parentTechniqueGroup);
62
63
64        unsigned long impostorUpdateInterval;
65        unsigned int impostorResolution;
66        unsigned long startFrame;       
67        bool useDistCalc;
68        unsigned char impostorTexID;
69        bool perspectiveRendering;
70        String impostorMaterialName;
71        String childPSysScriptName;
72        bool useOwnMaterial;
73
74};
Note: See TracBrowser for help on using the repository browser.