2013-07-12 21:30:13 +02:00
|
|
|
/*****************************************************************************
|
|
|
|
* Rectangle.h *
|
|
|
|
* *
|
|
|
|
* XFX::Graphics::VertexBuffer class definition file *
|
|
|
|
* Copyright (c) XFX Team. All Rights Reserved *
|
|
|
|
*****************************************************************************/
|
2013-05-05 18:18:41 +02:00
|
|
|
#ifndef _XFX_GRAPHICS_VERTEXBUFFER_
|
|
|
|
#define _XFX_GRAPHICS_VERTEXBUFFER_
|
|
|
|
|
|
|
|
#include "GraphicsResource.h"
|
|
|
|
#include "VertexDeclaration.h"
|
|
|
|
|
|
|
|
namespace XFX
|
|
|
|
{
|
|
|
|
namespace Graphics
|
|
|
|
{
|
2013-07-12 21:30:13 +02:00
|
|
|
/**
|
|
|
|
* Represents a list of 3D vertices to be streamed to the graphics device.
|
|
|
|
*/
|
2013-05-05 18:18:41 +02:00
|
|
|
class VertexBuffer : public GraphicsResource
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
VertexBuffer();
|
|
|
|
VertexBuffer(GraphicsDevice * const graphicsDevice, VertexDeclaration vertexDeclaration, int vertexCount, BufferUsage_t usage);
|
|
|
|
|
|
|
|
template <typename T>
|
|
|
|
void GetData(int offsetInBytes, T data[], int startIndex, int elementCount, int vertexStride);
|
|
|
|
template <typename T>
|
|
|
|
void GetData(T data[], int startIndex, int elementCount);
|
2013-07-12 21:30:13 +02:00
|
|
|
static const Type& GetType();
|
2013-05-05 18:18:41 +02:00
|
|
|
template <typename T>
|
|
|
|
void SetData(int offsetInBytes, T data[], int startIndex, int elementCount, int vertexStride);
|
|
|
|
template <typename T>
|
|
|
|
void SetData(T data[], int startIndex, int elementCount);
|
|
|
|
};
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif //_XFX_GRAPHICS_VERTEXBUFFER_
|