1

ドキュメントによると、デバイスに依存するリソースであっても、レンダー ターゲットがいくつかの条件を満たしていれば、レンダー ターゲット間で共有できます。

これらの条件を満たす 2 つの RenderTargets (RT1 & RT2) があるとします。RT1 を使用して新しいデバイス依存リソース (ResourceA) を作成し、RT1 ​​と RT2 の両方がこのリソースを使用して描画を行います。

RT1 の処理が完了すると、D2DERR_RECREATE_TARGET が返されます。これは、RT1 ​​を再作成して再度描画する必要があることを意味します。

私の質問は、RT1 ​​によって作成された ResourceA を再作成する必要があるかどうかです。

4

1 に答える 1

3

簡単な答え:はい、RT1を使用して作成されたリソースは、D2DERR_RECREATE_TARGETが検出されたときに再作成する必要があります。

長い答え:D2Dリソースは、d2dファクトリが基盤となるD3Dデバイスとそのリソースへの内部接続を維持するのと同じファクトリから来たすべてのRenderTarget間で共有できます。ID2D1RenderTargetsは、実際には単なるID3DTexture2Dです。そのため、d3dテクスチャが無効になっている場合は、基盤となるd3dデバイスを使用して作成されたすべてのリソースも再作成する必要があります。

于 2011-12-24T11:57:33.437 に答える