2

を介してレンダー ターゲットが作成されたとしID2D1Factory::CreateDxgiSurfaceRenderTargetます。

次に、レンダー ターゲットが関数に渡されました。ターゲットのみがあり、IDXGISurface はありません。

IDXGISurfaceターゲットからアクセスする方法はありますか?QueryInterface はそれを取得しません。

DirectX 10. Windows 7.

ありがとうございました。

4

1 に答える 1

2

残念ながら、これは利用できません。レンダー ターゲットと DXGI サーフェスは異なるオブジェクトであるため、機能しQueryInterfaceません。内部的に、レンダー ターゲットは基になる DXGI サーフェスへのポインターを保持します。

これは、Direct2D 1.1 (DirectX 11.1) ではより明示的で管理しやすく、DXGI サーフェスを Direct2D ビットマップ ( ) でラップできます。これは、Direct2D 1.1 レンダー ターゲット ( )CreateBitmapFromDxgiSurfaceのターゲット ( ) として設定されます。次に、ターゲットにビットマップを要求し ( )、ビットマップに基になる DXGI サーフェスを要求できます ( )。SetTargetID2D1DeviceContextGetTargetID2D1Bitmap1::GetSurface

于 2013-01-23T14:04:21.360 に答える