Graphics novice here, so if you can identify any misunderstandings I have, correct me!
Currently wondering if
GraphBuilder.QueueTextureExtraction() is necessary. From what I can tell it is effectively just a command list instruction (maybe??) that copies contents from an
FRDGTextureRef (in my case, an OutputTexture buffer from a compute shader) to a
TRefCountPtr<IPooledRenderTarget>, from which the texture can then be copied into a render-target of choice with
The thing is,
RHICmdList.CopyToResolveTarget() takes an
FRHITexture as both it’s source and it’s destination.
FRDGTextureRef has a function
GetRHI() which returns a
FRHITexture, so why ever call
GraphBuilder.QueueTextureExtraction()? Just call
FRDGTextureRef->GetRHI() as the source to copy from.
My guess is that it has something to do with the lifetimes of these objects. Maybe the contents of an
FRDGTextureRef ceases to exist after you call