Friday, 27 September 2013

Where Does Direct3D11 Allocate Resource Objects?

Where Does Direct3D11 Allocate Resource Objects?

I've been reading up on Direct3D11 a lot (including right here on stack
overflow!) and in all my research I haven't been able to conclusively
answer this question:
When a Resource object (i.e. a Buffer or a Texture object) is created, for
example with pDevice->CreateBuffer(), where is it stored? On system RAM or
on the GPU's Video-RAM? Or am I entirely misunderstanding the fundamental
nature of what a Resource object is?
Obviously whatever data you populate the resource with (such as vertex and
index arrays) is stored wherever you - the programmer - placed it, but
once you map that data to the Resource where is it copied? (I'm assuming
that, since Resources have to be mapped and unmapped for read/write
protection the mapped data is in fact copied, perhaps to VRAM). Moreover,
where is the Resource object itself instantiated?
Thanks in advance for any and all help!

No comments:

Post a Comment