source: GTP/trunk/Lib/Illum/IllumModule/OgreIllumModule/include/RenderingRuns/OgreDepthShadowMapRenderingRun.h @ 1688

Revision 1688, 2.7 KB checked in by szirmay, 18 years ago (diff)
RevLine 
[790]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 "DepthShadowMapRenderingRun.h"
12#include "OgreSharedRuns.h"
[1103]13#include "OgreFocusingMapRenderingRun.h"
[790]14
15
16/**
17        @brief ColorCubeMapRenderingRun used in an OGRE environment.
18*/
19class OgreDepthShadowMapRenderingRun : public OgreRenderingRun,
20                                                                        public DepthShadowMapRenderingRun
21{       
22public:
23
24        /**
25                @brief Constructor.
26
27                @param sharedRuns                       a pointer to the OgreSharedRuns this run belongs to
28                @param name                                     the name of the depth map texture to be created
29                @param light                            the light source this depth shadow map belongs to
30                @param resolutionX                      the resolution width of the depth shadow map
31                @param resolutionY                      the resolution height of the depth shadow map
32                @param materialName                     the name of the material to be used when rendering the depth shadow map
33        */     
34        OgreDepthShadowMapRenderingRun(OgreSharedRuns* sharedRuns,
35                                                                                String name,
36                                                                                Light* light,
37                                                                                unsigned int resolutionX,
38                                                                                unsigned int resolutionY,
39                                                                                String materialName);
40
41        /**
42                @brief returns the depth shadow map texture created by this run
43        */
[1688]44        const String& getDepthMapTextureName();
[1628]45       
[790]46        /**
47                @brief Refreshes light camera matrices, called in each update.
48        */
[1103]49        void refreshLight(unsigned long frameNum);
[790]50        /**
51                @brief retuns the view matrix of the camera from which the depth shadow map was created
52        */
[1120]53        Matrix4 getLightViewMatrix();
[790]54        /**
55                @brief retuns the concatenation of the view and projection matrices of the camera from which the depth shadow map was created
56        */
[1120]57        Matrix4 getLightViewProjMatrix();
[1670]58        Real getLightFarPlane(){return lightFarPlane;}
[790]59
60protected:     
61        /**
62                @brief the light source this depth shadow map belongs to
63        */
64        Light* light;
65        /**
66                @brief pointer to the camera of the lightsource
67        */
[1120]68        Camera* depthMapCamera;
[790]69        /**
70                @brief the name of the material to be used when rendering the depth shadow map
71        */
72        String materialName;
73        /**
74                @brief a pointer to the OgreSharedRuns this run belongs to
75        */
76        OgreSharedRuns* sharedRuns;
77        /**
78                @brief the name of the depth shadow map texture that was created by this run
79        */
[1120]80        String name;
[1130]81        String blurredname;
[790]82        /**
83                @brief a pointer to the depth shadow texture that was created by this run
84        */
[1120]85        Texture* depthMapTexture;
[1130]86        Texture* blurredDepthMapTexture;
[1670]87        Real lightFarPlane;
[790]88       
89        //inherited
90        void updateFrame(unsigned long frameNum);       
91        //inherited
92        inline void createDepthMap();
93        //inherited
94        void updateDepthCubeFace(int facenum);
95        //inherited
96        void updateDepthMap();
97
98};
Note: See TracBrowser for help on using the repository browser.