Line | |
---|
1 | #pragma once
|
---|
2 | #include "RenderingRun.h"
|
---|
3 |
|
---|
4 | /**
|
---|
5 | @brief Base abstract class __declspec( dllexport ) that defines a rendering process of a photon hit map.
|
---|
6 |
|
---|
7 | A photon hit map stores the directions where the incoming photons are refracted by a caustic emitter object.
|
---|
8 | One pixel of the photon map represents one photon hit, hte direction is encoded in the RGB channels.
|
---|
9 | If the alpha channel has zero value, the hit is invalid.
|
---|
10 | */
|
---|
11 | class __declspec( dllexport ) PhotonMapRenderingRun : virtual public RenderingRun
|
---|
12 | {
|
---|
13 | public:
|
---|
14 | /**
|
---|
15 | @brief Constructor.
|
---|
16 |
|
---|
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 | PhotonMapRenderingRun(unsigned long startFrame,
|
---|
21 | unsigned long updateInterval)
|
---|
22 | :RenderingRun(startFrame, updateInterval)
|
---|
23 | {
|
---|
24 | }
|
---|
25 |
|
---|
26 | virtual ~PhotonMapRenderingRun(){}
|
---|
27 |
|
---|
28 | protected:
|
---|
29 | //inherited
|
---|
30 | virtual void updateFrame(unsigned long frameNum) = 0;
|
---|
31 | /**
|
---|
32 | @brief Creates a photon hit map.
|
---|
33 | */
|
---|
34 | virtual inline void createPhotonMap() = 0;
|
---|
35 | };
|
---|
Note: See
TracBrowser
for help on using the repository browser.