copy contents within the same surface
Members - Reputation: 101
Posted 15 December 2012 - 07:44 AM
I am writing a program with Direct3D 9Ex. In certain requirement I have to copy (not stretch) a rectangle of a render target surface (which has something rendered) into the same surface, possibly overlapped. SctrechRect clearly does not support it; setting the render target as a texture and render to itself does not work either. So what is the fastest way to do it? I am aware that I can create a staging surface and does two copy operations but it looks really silly. In my program such operation has to be done multiple times per frame so I want to know if there's a faster way.
Members - Reputation: 103
Posted 16 December 2012 - 12:53 AM
Your only option with D3D9 is to copy to an intermediate texture first, and then read from that when writing to the original render target texture.
Thanks! So is it possible in D3D11? If so I could setup a D3D11 context and share the resource to it. But when I read MSDN it says CopySubresourceRegion in D3D11 also has to be done between different subresources.
Edited by Michael Tanczos, 28 December 2012 - 12:29 AM.
Moderators - Reputation: 8487
Posted 17 December 2012 - 01:36 AM