source: GTP/trunk/Lib/Illum/IllumModule/OgreIllumModule/include/RenderingRuns/OgreChildPSystemRenderingRun.h @ 1055

Revision 1055, 2.1 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 "OgreRenderingRun.h"
11#include "ChildPSystemRenderingRun.h"
12#include "OgreSharedRuns.h"
13
14
15/**
16        @brief ColorCubeMapRenderingRun used in an OGRE environment.
17*/
18class OgreChildPSystemRenderingRun : public OgreRenderingRun,
19                                                                        public ChildPsystemRenderingRun
20{       
21public:
22
23        /**
24                @brief Constructor.
25
26                @param sharedRuns                       a pointer to the OgreSharedRuns this run belongs to
27                @param name                                     the name of the texture to be created
28                @param startFrame                       adds an offset to the current frame number to help evenly distribute updates between frames
29                @param updateInterval           update frequency
30                @param materialName                     the name of the material should be used when rendering the choton hit map
31*/     
32        OgreChildPSystemRenderingRun(OgreSharedRuns* sharedRuns,
33                                                                String name,
34                                                                unsigned long startFrame,
35                                                                unsigned long updateInterval,
36                                                                unsigned int resolution,
37                                                                bool perspectiveRendering,
38                                                                String childParticleSystemName,
39                                                                String particleScriptName,
40                                                                bool useOwnMaterial,
41                                                                String materialName
42                                                                );
43        /**
44                @brief returns the name of the resulting photon hit map
45        */
46        String getImpostorTextureName(){return name;}
47       
48        bool canJoin(OgreRenderingRun* run)
49        {
50               
51                return false;
52        }
53       
54protected:     
55        bool perspectiveRendering;
56        bool useOwnMaterial;
57        String materialName;
58        String childParticleSystemName;
59        String particleScriptName;
60        /**
61                @brief the created photon hit map texture
62        */
63        Camera* impostorCamera;
64        /**
65                @brief a pointer to the OgreSharedRuns this run belongs to
66        */
67        OgreSharedRuns* sharedRuns;
68        /**
69                @brief the name of the photonmap texture that was created by this run
70        */
71        String name;
72        /**
73                @brief a pointer to the photonmap texture that was created by this run
74        */
75        Texture* impostorTexture;
76       
77
78        //inherited
79        void updateFrame(unsigned long frameNum);       
80        //inherited
81        inline void createImpostorTexture();
82
83};
Note: See TracBrowser for help on using the repository browser.