Rev | Line | |
---|
[846] | 1 | #pragma once
|
---|
| 2 |
|
---|
| 3 | #include "QuadRendering.h"
|
---|
| 4 | #include "DXUT.h"
|
---|
| 5 | #include <D3dx9math.h>
|
---|
| 6 |
|
---|
| 7 | class ToneMap
|
---|
| 8 | {
|
---|
| 9 | private:
|
---|
| 10 | // Source HDR texture
|
---|
| 11 | LPDIRECT3DTEXTURE9 sourceTexture;
|
---|
| 12 | LPDIRECT3DSURFACE9 sourceTextureSurface;
|
---|
| 13 |
|
---|
| 14 | // Target HDR Texture
|
---|
| 15 | LPDIRECT3DTEXTURE9 myRenderTexture;
|
---|
| 16 | LPDIRECT3DSURFACE9 myRenderTextureSurface;
|
---|
| 17 |
|
---|
| 18 | // Luminance Texture
|
---|
| 19 | LPDIRECT3DTEXTURE9 myLuminanceTexture;
|
---|
| 20 | LPDIRECT3DSURFACE9 myLuminanceTextureSurface;
|
---|
| 21 |
|
---|
| 22 | // Luminance Texture
|
---|
| 23 | LPDIRECT3DTEXTURE9 myAverageLuminanceTexture[2];
|
---|
| 24 | LPDIRECT3DSURFACE9 myAverageLuminanceTextureSurface[2];
|
---|
| 25 |
|
---|
| 26 | // ToneMapping Effect
|
---|
| 27 | LPD3DXEFFECT myEffect;
|
---|
| 28 |
|
---|
| 29 | D3DVERTEX_1 rttVertices[3];
|
---|
| 30 | LPDIRECT3DSURFACE9 rttDepthSurface;
|
---|
| 31 | LPDIRECT3DSURFACE9 rttDepthSurface_small;
|
---|
| 32 | IDirect3DVertexDeclaration9* textureDecl;
|
---|
| 33 | LPDIRECT3DVERTEXBUFFER9 pQuadVB;
|
---|
| 34 |
|
---|
| 35 | LPDIRECT3DSURFACE9 backBuffer;
|
---|
| 36 | LPDIRECT3DSURFACE9 backBufferDepthSurface;
|
---|
| 37 |
|
---|
| 38 | IDirect3DDevice9* pd3dDevice;
|
---|
| 39 |
|
---|
| 40 | // Gain
|
---|
| 41 | float Gain;
|
---|
| 42 | float Passes;
|
---|
| 43 |
|
---|
| 44 | public:
|
---|
| 45 | ToneMap(void);
|
---|
| 46 | ~ToneMap(void);
|
---|
| 47 |
|
---|
| 48 | HRESULT Init( IDirect3DDevice9* pd3dDevice, LPDIRECT3DTEXTURE9 sourceTexture, LPDIRECT3DSURFACE9 targetTextureSurface);
|
---|
| 49 | void SetSource(LPDIRECT3DTEXTURE9 sourceTexture);
|
---|
| 50 | void SetGain(float gain);
|
---|
| 51 | void SetPasses(float pass);
|
---|
| 52 | void Destroy();
|
---|
| 53 | void Map();
|
---|
| 54 | };
|
---|
Note: See
TracBrowser
for help on using the repository browser.