source: GTP/trunk/Lib/Illum/IllumModule/IllumModule/include/RenderingRuns/DepthShadowMapRenderingRun.h @ 874

Revision 874, 1.3 KB checked in by szirmay, 18 years ago (diff)
Line 
1#pragma once
2#include "RenderingRun.h"
3
4/**
5        @brief Base abstract class that defines a rendering process of a shadow map.
6
7        A shadow map stores depth values from the lightsource.
8*/
9class DepthShadowMapRenderingRun : virtual public RenderingRun
10{       
11public:
12        /**
13                @brief Constructor.
14
15                @param resolutionX      width of the depth map texture
16                @param resolutionY      height of the depth map texture
17        */
18        DepthShadowMapRenderingRun( unsigned int resolutionX,
19                                                                  unsigned int resolutionY)
20                                                        :RenderingRun(1, 1)
21        {
22                this->resolutionX = resolutionX;
23                this->resolutionY = resolutionY;
24        }
25
26protected:
27        /**
28                @brief  width of the depth map texture
29        */
30    unsigned int resolutionX;
31        /**
32                @brief  height of the depth map texture
33        */
34        unsigned int resolutionY;
35       
36        /**
37                @brief Creates the depth map texture (2D or CUBE according to light type).             
38        */
39        virtual inline void createDepthMap() = 0;
40        /**
41                @brief Updates one face of the depth cubemap (used only in case of point lights).
42
43                @param facenum the number of the face to be updated
44        */
45        virtual inline void updateDepthCubeFace(int facenum) = 0;
46        /**
47                @brief Updates the depth map (in case of directional and spot lights).         
48        */
49        virtual inline void updateDepthMap() = 0;
50        //inherited
51        virtual void updateFrame(unsigned long frameNum) = 0;           
52};
Note: See TracBrowser for help on using the repository browser.