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

Revision 1425, 2.2 KB checked in by szirmay, 18 years ago (diff)
RevLine 
[1055]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,
[1330]30                                                        bool useVParam,
31                                                        String VParamRadius,
32                                                        bool useFParam,
33                                                        String FParamRadius,
[1055]34                                                        Pass* pass,
35                                                        OgreRenderable* parentRenderable,
36                                                        OgreTechniqueGroup* parentTechniqueGroup
37                                                        );
38        /**
39                @brief Destructor.
40        */
[1330]41        ~OgreHierarchicalParticleSystemTechnique();
42
[1425]43               
[1055]44protected:
45       
46        String impostorMaterialName;
47        String childPSysScriptName;
48        String childPSysName;
49        unsigned char impostorTexID;
50        bool useOwnMaterial;
[1330]51        String VParamRadius;
52        String FParamRadius;
53        bool useVParam;
54        bool useFParam;
[1055]55       
56        //inherited
57        RenderingRun* createChildPSysRenderingRun();
[1425]58        RenderingRun* createLightVolumeRenderingRun();
[1062]59        virtual void impostorChanged(RenderingRun* run);
[1425]60        virtual void impostorUpdated(RenderingRun* run);
[1055]61};
62
63class OgreHierarchicalParticleSystemTechniqueFactory : public RenderTechniqueFactory
64{
65public:
66       
67        OgreHierarchicalParticleSystemTechniqueFactory();
68
69        OgreRenderTechnique* createInstance(IllumTechniqueParams* params,
70                                                                                Pass* pass,
71                                                                                OgreRenderable* parentRenderable,
72                                                                                OgreTechniqueGroup* parentTechniqueGroup);
73
74
75        unsigned long impostorUpdateInterval;
76        unsigned int impostorResolution;
77        unsigned long startFrame;       
78        bool useDistCalc;
79        unsigned char impostorTexID;
80        bool perspectiveRendering;
81        String impostorMaterialName;
82        String childPSysScriptName;
83        bool useOwnMaterial;
[1330]84        String VParamRadius;
85        String FParamRadius;
86        bool useVParam;
87        bool useFParam;
[1055]88
89};
Note: See TracBrowser for help on using the repository browser.