ID2D1Factory ::CreateDxgiSurfaceRenderTarget(IDXGISurface*,constD2D1_RENDER_TARGET_PROPERTIES&,ID2D1RenderTarget**) méthode (d2d1.h)
Crée une cible de rendu qui dessine sur une surface d’infrastructure graphique DirectX (DXGI).
Syntaxe
HRESULT CreateDxgiSurfaceRenderTarget(
[in] IDXGISurface *dxgiSurface,
[ref] const D2D1_RENDER_TARGET_PROPERTIES & renderTargetProperties,
[out] ID2D1RenderTarget **renderTarget
);
Paramètres
[in] dxgiSurface
Type : IDXGISurface*
IDXGISurface vers lequel la cible de rendu dessinera.
[ref] renderTargetProperties
Type : const D2D1_RENDER_TARGET_PROPERTIES &
Le mode de rendu, le format des pixels, les options de communication à distance, les informations PPP et la prise en charge minimale de DirectX requise pour le rendu matériel. Pour plus d’informations sur les formats de pixels pris en charge, consultez Formats de pixels pris en charge et Modes alpha.
[out] renderTarget
Type : ID2D1RenderTarget**
Lorsque cette méthode est retournée, contient l’adresse du pointeur vers l’objet ID2D1RenderTarget créé par cette méthode.
Valeur retournée
Type : HRESULT
Si cette méthode réussit, elle retourne S_OK. Sinon, elle retourne un code d’erreur HRESULT .
Remarques
Pour écrire sur une surface Direct3D, vous obtenez un IDXGISurface et passez-le à la méthode CreateDxgiSurfaceRenderTarget pour créer une cible de rendu de surface DXGI ; vous pouvez ensuite utiliser la cible de rendu de surface DXGI pour dessiner du contenu 2D sur la surface DXGI.
Une cible de rendu de surface DXGI est un type id2D1RenderTarget. Comme d’autres cibles de rendu Direct2D, vous pouvez l’utiliser pour créer des ressources et émettre des commandes de dessin.
La cible de rendu de surface DXGI et la surface DXGI doivent utiliser le même format DXGI. Si vous spécifiez le format DXGI_FORMAT_UNKOWN lorsque vous créez la cible de rendu, elle utilise automatiquement le format de la surface.
La cible de rendu de surface DXGI n’effectue pas la synchronisation de surface DXGI.
Pour plus d’informations sur la création et l’utilisation de cibles de rendu de surface DXGI, consultez Vue d’ensemble de l’interopérabilité direct2D et Direct3D.
Pour utiliser Direct2D, l’appareil Direct3D qui fournit l’IDXGISurface doit être créé avec l’indicateur D3D10_CREATE_DEVICE_BGRA_SUPPORT .
Lorsque vous créez une cible de rendu et que l’accélération matérielle est disponible, vous allouez des ressources sur le GPU de l’ordinateur. En créant une cible de rendu une seule fois et en la conservant aussi longtemps que possible, vous obtenez des avantages en matière de performances. Votre application doit créer des cibles de rendu une seule fois et les conserver pendant toute la durée de vie de l’application ou jusqu’à ce que la méthode EndDraw de la cible de rendu retourne l’erreur D2DERR_RECREATE_TARGET . Lorsque vous recevez cette erreur, vous devez recréer la cible de rendu (et toutes les ressources qu’elle a créées).
Exemples
Consultez l’exemple de code dans ID2D1Factory ::CreateDxgiSurfaceRenderTarget.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 7, Windows Vista avec SP2 et Mise à jour de plateforme pour Windows Vista [applications de bureau | Applications UWP] |
Serveur minimal pris en charge | Windows Server 2008 R2, Windows Server 2008 avec SP2 et Platform Update pour Windows Server 2008 [applications de bureau | Applications UWP] |
Plateforme cible | Windows |
En-tête | d2d1.h |
Bibliothèque | D2d1.lib |
DLL | D2d1.dll |
Voir aussi
CreateDxgiSurfaceRenderTarget(IDXGISurface,const D2D1_RENDER_TARGET_PROPERTIES,ID2D1RenderTarget)
Vue d’ensemble de l’interopérabilité entre Direct2D et Direct3D