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

Revision 3255, 1.6 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 particle system impostor image.
6
7        This impostor can be used as a texture for ither particle systems. This rendering method is called hieararchical particle system.
8*/
9class __declspec( dllexport ) ChildPsystemRenderingRun : virtual public RenderingRun
10{       
11public:
12        /**
13                @brief Constructor.
14
15                @param resolution               the resolution of the impostor image
16                @param perspectiveRendering             sets if the impostor should be rendered with a perspective projection or orthogonal
17                @param startFrame                               adds an offset to the current frame number to help evenly distribute updates between frames
18                @param updateInterval                   update frequency
19        */
20        ChildPsystemRenderingRun(
21                                                        unsigned int resolution,
22                                                        bool perspectiveRendering,
23                                                        unsigned long startFrame,
24                                                        unsigned long updateInterval)
25                                                        :RenderingRun(startFrame, updateInterval)
26        {
27                this->resolution = resolution;
28                this->perspectiveRendering = perspectiveRendering;
29        }
30
31        virtual ~ChildPsystemRenderingRun(){}
32
33protected:
34        /**
35                @brief the resolution of the impostor image
36        */
37        unsigned int resolution;
38        /**
39                @brief sets if the impostor should be rendered with a perspective projection or orthogonal
40        */
41        bool perspectiveRendering;
42    //inherited
43        virtual void updateFrame(unsigned long frameNum) = 0;   
44        /**
45                @brief Creates an impostor texture that can be used as a rendertarget during impostor rendering.
46        */
47        virtual inline void createImpostorTexture() = 0;       
48};
Note: See TracBrowser for help on using the repository browser.