/*-----------------------------------------
Programmed by Fabre Cédric
(Copland/simson) 02/10/2006
Thanks to the Irrlicht team
for this good 3D engine !
This code has not been tested under Linux.
If you find any errors or corrections,
in advance thanks you for any feedbacks.
-------------------------------------------
Contact : simson2004@wanadoo.fr
-----------------------------------------*/

using namespace irr;

//Classe QuadSceneNode pour dessiner un Quad perso
class CQuadSceneNode : public scene::ISceneNode
{
public:
	CQuadSceneNode(scene::ISceneNode* parent, scene::ISceneManager* mgr, s32 id);
//	virtual void OnPreRender();
	virtual void OnAnimate(u32 timeMs);
//    virtual void OnRegisterSceneNode();
	virtual void render();
	virtual const core::aabbox3d<f32>& getBoundingBox() const;
//	s32 getMaterialCount();
	u32 getMaterialCount();
	virtual video::SMaterial& getMaterial(u32 i);
private :
	core::aabbox3d<f32> Box;
	video::S3DVertex VertexQuad[4];
	video::SMaterial Material;
};

void CreateGlow(scene::ICameraSceneNode* CamGlow,scene::ISceneManager* smgr,video::IVideoDriver* driver,s32 GlowSize);
void RenderGlow(scene::ISceneManager* smgr,video::IVideoDriver* driver,s32 gA,s32 gR,s32 gG,s32 gB);

void CreateDreamFilter(scene::ICameraSceneNode* CamDream,scene::ISceneManager* smgr,video::IVideoDriver* driver,f32 EffectSize,s32 DreamSize);
void RenderDreamFilter(scene::ISceneManager* smgr,video::IVideoDriver* driver,s32 dA,s32 dR,s32 dG,s32 dB);

void CreateNightVision(scene::ICameraSceneNode* CamNightVision,scene::ISceneManager* smgr,video::IVideoDriver* driver,irr::c8* NoiseFile,s32 NightVisionSize);
void RenderNightVision(scene::ISceneManager* smgr,video::IVideoDriver* driver);

void RenderNothing();

void DeleteGlow();
void DeleteDream();
void DeleteNightVision();

void DeleteEffects();
