terrainTest/ShaderPostProcess.h

38 lines
1005 B
C++

#ifndef _SHADERPOSTPROCESS_H
#define _SHADERPOSTPROCESS_H
#include "IPostProcess.h"
#include "ShaderMaterial.h"
class CShaderPostProcess : public IPostProcess
{
public:
// constructor
CShaderPostProcess(IrrlichtDevice* device, const core::stringc& name,
io::path vsFile, core::stringc vsEntry, video::E_VERTEX_SHADER_TYPE vsType,
io::path psFile, core::stringc psEntry, video::E_PIXEL_SHADER_TYPE psType,
video::E_MATERIAL_TYPE baseMaterial);
// destructor
virtual ~CShaderPostProcess();
protected:
// the irrlicht device
IrrlichtDevice* Device;
// shader material of the postprocess
CShaderMaterial* ShaderMaterial;
public:
// returns the material of the postprocess
virtual video::SMaterial& getMaterial() { return ShaderMaterial->getMaterial(); }
// returns the shader material object of the postprocess
virtual CShaderMaterial* getShaderMaterial() { return ShaderMaterial; }
// renders the postprocess
virtual void render();
};
#endif