#include "Effect.h"

class ShadowMapping :public Effect
{
	private:
	ID3D10Effect*						effect;
	ID3D10EffectTechnique*				technique;
	ID3D10EffectMatrixVariable*			modelMatrixVariable;
	ID3D10EffectMatrixVariable*			lightViewMatrixVariable;
	ID3D10EffectMatrixVariable*			lightProjectionMatrixVariable;
	ID3D10InputLayout*					vertexLayout;

	public:
	HRESULT init();
	void setModelMatrix(D3DXMATRIX* modelMatrix);
	void setViewMatrix(D3DXMATRIX* viewMatrix);
	void setProjectionMatrix(D3DXMATRIX* projMatrix);
	ID3D10Effect* getEffectVariable();
	ID3D10EffectTechnique* getTechniqueVariable();
	~ShadowMapping();
};