/*********************************************************************//**
*	\brief Mlha
*	Entita vytvari kvadr mlhy
*	
*	\author Michal Jirous
*	\date 23.04.2009
*	\file ent_env_fog.h
**********************************************************************/

#include "ent_basefunction.h"

enum fog_types
{
	LINEAR = 0,
	EXP,
	EXP2

};

class EnvFog : public CBaseFunction
{
	Point m_FogOrigin;
	int m_iType;
	float m_fStart, m_fEnd, m_fDensity;
	Vector m_FogColor;
	friend bool calculateFogCoords( Face &face, EnvFog *pFog );
public:
	EnvFog();
	virtual void update( float s );
	virtual void compile();	//create fog coords
	virtual void render( RenderData &renderData );
	virtual bool renderCullTest( RenderData &renderData );
	virtual void setParameters( parameters_t &parametersMap );
	virtual bool collisionDetection( CollisionData &collData ){return false;}
	virtual bool rayTrace( RayTraceData &rayData ){return false;}
};

LINK_ENTITY_TO_CLASS( env_fog, EnvFog );
