# [DX10]Unable to update constant buffer

## Recommended Posts

n3Xus    951
Hello, I can't seem to update the constant buffer no matter what I do. When I create the buffer (with the D3D10_BIND_CONSTANT_BUFFER flag) I set the initial data and that data is set correctly, but I can't get new data to the shader later on with this buffer. I tried Device10::UpdateSubresource and buffer::Map/Unmap.
device->UpdateSubresource(reinterpret_cast<ID3D10Resource*>(this->bufCbOmni),0,NULL,this->cbOmni,0,0);
omni->fxCbOmni->SetConstantBuffer(this->bufCbOmni);


Are there any examples of this in the SDK or somewhere on the else?

##### Share on other sites
n3Xus    951
I fixed it using a temporarybuffer and using the ID3D10EffectConstantBuffer::GetConstantBuffer
ID3D10Buffer* tb=NULL;omni->fxCbOmni->GetConstantBuffer(&tb);this->cbOmni[omni->lightDataIndex]=omni->CONSTANT_BUFFER_LIGHT_OMNI;device->UpdateSubresource(reinterpret_cast<ID3D10Resource*>(tb),0,NULL,this->cbOmni,0,0);	omni->fxCbOmni->SetConstantBuffer(tb);