2016-07-28 22:36:43 +00:00
|
|
|
#ifndef __GL_TONEMAPSHADER_H
|
|
|
|
#define __GL_TONEMAPSHADER_H
|
|
|
|
|
|
|
|
#include "gl_shaderprogram.h"
|
|
|
|
|
|
|
|
class FTonemapShader
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
void Bind();
|
|
|
|
|
2016-08-25 23:46:39 +00:00
|
|
|
FBufferedUniformSampler SceneTexture;
|
2016-07-28 22:36:43 +00:00
|
|
|
FBufferedUniform1f Exposure;
|
2016-08-25 23:46:39 +00:00
|
|
|
FBufferedUniformSampler PaletteLUT;
|
2016-08-23 07:18:18 +00:00
|
|
|
|
|
|
|
static bool IsPaletteMode();
|
2016-07-28 22:36:43 +00:00
|
|
|
|
|
|
|
private:
|
2016-07-29 19:31:20 +00:00
|
|
|
enum TonemapMode
|
|
|
|
{
|
|
|
|
None,
|
|
|
|
Uncharted2,
|
|
|
|
HejlDawson,
|
|
|
|
Reinhard,
|
|
|
|
Linear,
|
2016-08-23 07:18:18 +00:00
|
|
|
Palette,
|
2016-07-29 19:31:20 +00:00
|
|
|
NumTonemapModes
|
|
|
|
};
|
|
|
|
|
|
|
|
static const char *GetDefines(int mode);
|
|
|
|
|
|
|
|
FShaderProgram mShader[NumTonemapModes];
|
2016-07-28 22:36:43 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|