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

Revision 1055, 1.8 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};
50
51class OgreHierarchicalParticleSystemTechniqueFactory : public RenderTechniqueFactory
52{
53public:
54       
55        OgreHierarchicalParticleSystemTechniqueFactory();
56
57        OgreRenderTechnique* createInstance(IllumTechniqueParams* params,
58                                                                                Pass* pass,
59                                                                                OgreRenderable* parentRenderable,
60                                                                                OgreTechniqueGroup* parentTechniqueGroup);
61
62
63        unsigned long impostorUpdateInterval;
64        unsigned int impostorResolution;
65        unsigned long startFrame;       
66        bool useDistCalc;
67        unsigned char impostorTexID;
68        bool perspectiveRendering;
69        String impostorMaterialName;
70        String childPSysScriptName;
71        bool useOwnMaterial;
72
73};
Note: See TracBrowser for help on using the repository browser.