39 lines
777 B
C++
39 lines
777 B
C++
#ifndef PostSSAO_h__
|
|
#define PostSSAO_h__
|
|
|
|
#include "render/IRenderer.h"
|
|
#include "Globals.h"
|
|
#include "math/LifeMath.h"
|
|
|
|
|
|
namespace LifeGraphics
|
|
{
|
|
class IScene;
|
|
class PostSSAO
|
|
{
|
|
private:
|
|
IRenderer* pRenderer;
|
|
IScene* pScene;
|
|
IShader* vs;
|
|
IShader* psRender;
|
|
IShader* psBlur;
|
|
ITexture2D* ssaoTex;
|
|
ITexture2D* ssaoBlur;
|
|
texture_ptr ssaoRandom;
|
|
ITextureSampler* pointSamplerClamp;
|
|
IDepthStencilState* depthState;
|
|
ITextureSampler* linearSampler;
|
|
LifeMath::Vec2i ssaoSize;
|
|
public:
|
|
LifeMath::Vec2i getSize()
|
|
{
|
|
return ssaoSize;
|
|
}
|
|
ITexture2D* getTexture();
|
|
void process(IConstantBuffer* camera, ITexture2D* sceneGbuf, ITexture2D* sceneDepthTarget);
|
|
PostSSAO(IScene* scene, QUALITY effectQuality);
|
|
~PostSSAO();
|
|
};
|
|
}
|
|
|
|
#endif // PostSSAO_h__
|