source: GTP/branches/IllumWPdeliver2008dec/IlluminationWP/precompiled/include/IllumModule/RenderingRuns/DepthShadowMapRenderingRun.h @ 3255

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