//	Darkstar Engine  (c) UnderWorld Interactive Studio (all coding by Svarog    2007-2008)
//
//      Данный файл является частью Darkstar Engine. Любое использование кода файла
//      без согласия компании, является нарушением закона об авторском праве (в слу-
//      чае если не оговорено обратное).
//
//      Имя файла: constant_buffer_d3d10.hpp
//      Краткое описание: Wrapper upper d3d10 constant buffer
//

#ifdef GD_D3D10

#ifndef DSE_GS_EFFECT_CONSTANT_BUFFER_D3D10_HPP
#define DSE_GS_EFFECT_CONSTANT_BUFFER_D3D10_HPP

#include <Darkstar/common.hpp>
#include <Darkstar/Graphic System/Direct3D/direct3d_include.hpp>

namespace gs
{
	class ConstantBuffer
	{
	private:
		ID3D10Buffer* buffer;
		char memory_chunk[4096];
	public:
		ConstantBuffer();
		~ConstantBuffer();

		void setConstantsArray(const unsigned int offset, const unsigned int size, const char* data);
		void clear();
		void synchronize();
	
		ID3D10Buffer* getBuffer() const;
	};
};

#endif

#endif