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

#ifdef GD_D3D10

#include <Darkstar/Resource System/Model/vertex_buffer.hpp>

using namespace rs;
using gs::GraphicDriver;

void VertexBuffer::set(const unsigned int start_slot /* = 0 */)
{
	input_layout->set();
	std::vector<ID3D10Buffer*> buffers;
	std::vector<unsigned int> strides;
	std::vector<unsigned int> offsets;
	for(unsigned int i = 0; i < streams.size(); ++i)
	{
		buffers.push_back(streams[i]->getStream());
		strides.push_back(streams[i]->getElementSize());
		offsets.push_back(0);
	};
	GraphicDriver::ptr()->getDevice()->IASetVertexBuffers(start_slot, static_cast<unsigned int>(streams.size()), &buffers[0], &strides[0], &offsets[0]);
};

#endif

