Sign in to follow this  
n3Xus

[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 this post


Link to post
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);




Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this