I am currently working on my first iteration of my sprite renderer and I'm trying to draw 2 sprites. They both use the same texture and are placed into the same buffer, but unfortunately only the second sprite is shown on the the screen. I assume I messed something up when I place them into the buffer and that I am overwriting the data of the first sprite.
So how should I be mapping my buffer with an offset?
/*
Code that sets up the sprite vertices and etc
*/
D3D11_MAPPED_SUBRESOURCE resource = vertexBuffer->map(vertexBufferMapType);
memcpy(resource.pData, verts, sizeof(SpriteVertex) * VERTEX_PER_QUAD);
vertexBuffer->unmap();
vertexCount += VERTEX_PER_QUAD;
I feel like I should be doing something like:
/*
Code that sets up the sprite vertices and etc
*/
D3D11_MAPPED_SUBRESOURCE resource = vertexBuffer->map(vertexBufferMapType);
//Place the sprite vertex data into the pData using the current vertex count as offset
//The code resource.pData[vertexCount] is syntatically wrong though :( Not sure how it should look
memcpy(resource.pData[vertexCount], verts, sizeof(SpriteVertex) * VERTEX_PER_QUAD);
vertexBuffer->unmap();
vertexCount += VERTEX_PER_QUAD;
Also speaking of offsets can someone give an example of when the pOffsets param for the IASetVertexBuffers call would not be 0
↧