qzdoom/src/gl/shaders/gl_ambientshader.h

66 lines
1.2 KiB
C
Raw Normal View History

2016-08-29 11:10:22 +00:00
#ifndef __GL_AMBIENTSHADER_H
#define __GL_AMBIENTSHADER_H
#include "gl_shaderprogram.h"
class FLinearDepthShader
{
public:
void Bind();
FBufferedUniformSampler DepthTexture;
FBufferedUniform1f LinearizeDepthA;
FBufferedUniform1f LinearizeDepthB;
FBufferedUniform1f InverseDepthRangeA;
FBufferedUniform1f InverseDepthRangeB;
private:
FShaderProgram mShader;
};
class FSSAOShader
{
public:
void Bind();
FBufferedUniformSampler DepthTexture;
2016-08-29 23:09:21 +00:00
FBufferedUniformSampler RandomTexture;
2016-08-29 11:10:22 +00:00
FBufferedUniform2f UVToViewA;
FBufferedUniform2f UVToViewB;
FBufferedUniform2f InvFullResolution;
FBufferedUniform1f NDotVBias;
FBufferedUniform1f NegInvR2;
FBufferedUniform1f RadiusToScreen;
FBufferedUniform1f AOMultiplier;
2016-08-29 23:09:21 +00:00
FBufferedUniform1f AOStrength;
2016-08-29 11:10:22 +00:00
private:
FShaderProgram mShader;
};
2016-09-02 03:45:00 +00:00
class FDepthBlurShader
{
public:
void Bind(bool vertical);
FBufferedUniformSampler AODepthTexture[2];
FBufferedUniform1f BlurSharpness[2];
FBufferedUniform2f InvFullResolution[2];
FBufferedUniform1f PowExponent[2];
private:
FShaderProgram mShader[2];
};
class FSSAOCombineShader
{
public:
void Bind();
FBufferedUniformSampler AODepthTexture;
private:
FShaderProgram mShader;
};
2016-08-29 11:10:22 +00:00
#endif