struct CUSTOMVERTEX { FLOAT x, y, z; };
CUSTOMVERTEX Vertices[] = {
{ 0.0f, 0.0f, 0.0f},
{ 1.0f, 0.0f, 0.0f},
{ 0.0f, 0.0f, 1.0f},
{ 1.0f, 0.0f, 1.0f},
};
d3ddev->CreateVertexBuffer(sizeof(Vertices) * sizeof(CUSTOMVERTEX), 0, CUSTOMFVF, D3DPOOL_MANAGED, &v_buffer, NULL);
VOID* pVoid;
v_buffer->Lock(0, 0, (void**)&pVoid, 0);
memcpy(pVoid, Vertices, sizeof(Vertices));
v_buffer->Unlock();
from that into something like this:
// NOTE: speudo code
CUSTOMVERTEX Vertices[];
Vertices.add(0.0f, 0.0f, 0.0f);
Vertices.add(1.0f, 0.0f, 0.0f);
Vertices.add(0.0f, 0.0f, 1.0f);
Vertices.add(1.0f, 0.0f, 1.0f);
d3ddev->CreateVertexBuffer(sizeof(Vertices) * sizeof(CUSTOMVERTEX), 0, CUSTOMFVF, D3DPOOL_MANAGED, &v_buffer, NULL);
VOID* pVoid;
v_buffer->Lock(0, 0, (void**)&pVoid, 0);
memcpy(pVoid, Vertices, sizeof(Vertices));
v_buffer->Unlock();
If you're wondering, I'm planning on stuffing this into a for loop.