Public Member Functions | |
Shader_HDR (ID3D10Device *device) | |
bool | compile (const D3D10_SHADER_MACRO *macros, DWORD shaderFlags) |
bool | createRenderTargetViews (ID3D10RenderTargetView *backbuffer, const DXGI_SWAP_CHAIN_DESC &swapChainDesc, int multiSampleCount) |
void | releaseRenderTargetViews () |
void | apply () |
void | setInputTexture (ID3D10ShaderResourceView *texture) |
Private Attributes | |
ID3D10ShaderResourceView * | sceneTexture |
ID3D10EffectTechnique * | sourceToLumTechnique |
ID3D10EffectTechnique * | downscaleLumTechnique |
ID3D10EffectTechnique * | brightPassTechnique |
ID3D10EffectTechnique * | blurTechnique |
ID3D10EffectTechnique * | finalTechnique |
ID3D10EffectTechnique * | adaptiveLumTechnique |
Vec2_int | renderTargetSize |
ID3D10ShaderResourceView * | toneMapSRV [NUM_TONEMAP_TEXTURES] |
ID3D10RenderTargetView * | toneMapRTV [NUM_TONEMAP_TEXTURES] |
ID3D10ShaderResourceView * | bloomSRV [NUM_BLOOM_TEXTURES] |
ID3D10RenderTargetView * | bloomRTV [NUM_BLOOM_TEXTURES] |
ID3D10ShaderResourceView * | adaptiveLumSRV [NUM_ADAPTIVE_LUM_TEXTURES] |
ID3D10RenderTargetView * | adaptiveLumRTV [NUM_ADAPTIVE_LUM_TEXTURES] |
ID3D10ShaderResourceView * | brightSRV |
ID3D10RenderTargetView * | brightRTV |
struct { | |
ID3D10EffectShaderResourceVariable * luminanceTexture | |
ID3D10EffectShaderResourceVariable * bloomTexture | |
} | variables |
Static Private Attributes | |
static const int | NUM_TONEMAP_TEXTURES = 5 |
static const int | TONEMAP_RESIZE = 3 |
static const int | NUM_BLOOM_TEXTURES = 2 |
static const int | NUM_ADAPTIVE_LUM_TEXTURES = 2 |
static const int | BLOOM_SCALE = 4 |
void Shader_HDR::apply | ( | ) | [virtual] |
Draw the shader's buffer contents.
Reimplemented from Shader.
const int Shader_HDR::BLOOM_SCALE = 4 [static, private] |
Bloom texture size = backbuffersize / BLOOM_SCALE
const int Shader_HDR::TONEMAP_RESIZE = 3 [static, private] |
How much each tonemapping size downsamples