source: GTP/trunk/Lib/Illum/IllumModule/OgreIllumModule/include/RenderingRuns/OgreColorCubeMapRenderingRun.h @ 790

Revision 790, 2.2 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 "ColorCubeMapRenderingRun.h"
12#include "OgreSharedRuns.h"
13
14
15/**
16        @brief ColorCubeMapRenderingRun used in an OGRE environment.
17*/
18class OgreColorCubeMapRenderingRun : public OgreRenderingRun,
19                                                                        public ColorCubeMapRenderingRun
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 cubemap 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 resolution                       cubemap resolution
31                @param useDistCalc                      flag to skip cube face update if object is far away
32                @param useFaceAngleCalc         flag to skip cube face update if face is neglible
33                @param distTolerance            distance tolerance used in face skip
34                @param angleTolerance           angle tolerance used in face skip               
35                @param updateAllFace            defines if all cubemap faces should be updated in a frame or only one face per frame
36        */     
37        OgreColorCubeMapRenderingRun(OgreSharedRuns* sharedRuns,
38                                                                 String name,
39                                                                 unsigned long startFrame,
40                                                                 unsigned long updateInterval,
41                                                                 unsigned int resolution,
42                                                                 bool useDistCalc = false,
43                                                                 bool useFaceAngleCalc = false,
44                                                                 float distTolerance = 15,
45                                                                 float angleTolerance = 10,
46                                                                 bool updateAllFace = false);
47        /**
48                @brief returns the name of the resulting color cubemap texture
49        */
50        String getColorCubeMapTextureName(){return name;}
51       
52protected:
53
54        /**
55                @brief a pointer to the OgreSharedRuns this run belongs to
56        */
57        OgreSharedRuns* sharedRuns;
58        /**
59                @brief the name of the cubemap texture that was created by this run
60        */
61        String name;
62        /**
63                @brief a pointer to the cubemap texture that was created by this run
64        */
65        Texture* colorCubemapTexture;
66       
67       
68        //inherited
69        inline void createColorCubeMap();
70        //inherited
71        inline void updateCubeFace(int facenum);
72        //inherited
73    bool faceNeedsUpdate(int facenum); 
74};
Note: See TracBrowser for help on using the repository browser.