Jump to content

  • Log In with Google      Sign In   
  • Create Account

Awesome job so far everyone! Please give us your feedback on how our article efforts are going. We still need more finished articles for our May contest theme: Remake the Classics

#Actualgnomgrol

Posted 29 July 2012 - 10:46 AM

Hello,
Simple thing this time: I want to create a dynamic vertexbuffer, and refill it multiple times per frame with ->Map.
I don't get any kind of errormessage, it's just that nothing gets drawn. I checked everything in the compiler, I couldn't see whats wrong.

//Creation:
ZeroMemory( &vertexBufferDesc, sizeof(vertexBufferDesc) );
vertexBufferDesc.Usage = D3D11_USAGE_DYNAMIC;
vertexBufferDesc.ByteWidth = sizeof(VertexPosNormalTexColorColor2) * (numVertices);
vertexBufferDesc.BindFlags = D3D11_BIND_VERTEX_BUFFER;
vertexBufferDesc.CPUAccessFlags = D3D11_CPU_ACCESS_WRITE;
vertexBufferDesc.MiscFlags = 0;

d3d11Device->CreateBuffer( &vertexBufferDesc, NULL, &vertexBufferIn);


//And the filling:
VertexPosNormalTexColorColor2 *dataPtr;
    D3D11_MAPPED_SUBRESOURCE subresource;
d3d11DevCon->Map(vBufferIn, 0, D3D11_MAP_WRITE_DISCARD, 0, &subresource );
dataPtr = (VertexPosNormalTexColorColor2*)subresource.pData;
dataPtr->pos = verts->pos;
dataPtr->normal = verts->normal;
    dataPtr->texcoord = verts->texcoord;
dataPtr->color = verts->color;
dataPtr->shadowColor = verts->shadowColor;
d3d11DevCon->Unmap(vBufferIn, 0);


// drawing:
d3d11DevCon->UpdateSubresource(cBufferIn, 0, NULL, &cBufferSet, 0, 0);
d3d11DevCon->IASetIndexBuffer( iBufferIn, DXGI_FORMAT_R32_UINT, 0);
d3d11DevCon->IASetVertexBuffers( 0, 1, &vBuffer, &stride, &offset );
d3d11DevCon->DrawIndexed(numIndices, 0, 0 );


Thanks for your help!

#1gnomgrol

Posted 29 July 2012 - 09:11 AM

Hello,
Simple thing this time: I want to create a dynamic vertexbuffer, and refill it multiple times per frame with ->Map.
I don't get any kind of errormessage, it's just that nothing gets drawn. I checked everything in the compiler, I couldn't see whats wrong.

//Creation:
ZeroMemory( &vertexBufferDesc, sizeof(vertexBufferDesc) );
vertexBufferDesc.Usage = D3D11_USAGE_DYNAMIC;
vertexBufferDesc.ByteWidth = sizeof(VertexPosNormalTexColorColor2) * (numVertices);
vertexBufferDesc.BindFlags = D3D11_BIND_VERTEX_BUFFER;
vertexBufferDesc.CPUAccessFlags = D3D11_CPU_ACCESS_WRITE;
vertexBufferDesc.MiscFlags = 0;

d3d11Device->CreateBuffer( &vertexBufferDesc, NULL, &vertexBufferIn);


//And the filling:
D3D11_MAPPED_SUBRESOURCE subresource;
d3d11DevCon->Map(vBuffer, 0, D3D11_MAP_WRITE_DISCARD, 0, &subresource );
subresource.pData = vertices;
d3d11DevCon->Unmap(vBuffer, 0);




Thanks for your help!

PARTNERS