Mapper les fonctionnalités DirectX 9 aux API DirectX 11Map DirectX 9 features to DirectX 11 APIs

Découvrez comment les fonctionnalités utilisées par votre jeu Direct3D 9 sont traduites dans Direct3D 11 et la plateforme Windows universelle (UWP).Understand how the features your Direct3D 9 game uses will translate to Direct3D 11 and the Universal Windows Platform (UWP).

Consultez également planifier votre port DirectXet les modifications importantes de Direct3D 9 à Direct3D 11.Also see Plan your DirectX port, and Important changes from Direct3D 9 to Direct3D 11.

Mappage des API Direct3D 9 aux API DirectX 11Mapping Direct3D 9 to DirectX 11 APIs

Direct3D reste la base des graphismes DirectX, mais l’API a changé depuis DirectX 9 :Direct3D is still the foundation of DirectX graphics, but the API has changed since DirectX 9:

  • L’infrastructure DXGI (Microsoft DirectX Graphics Infrastructure) sert à configurer les cartes graphiques.Microsoft DirectX Graphics Infrastructure (DXGI) is used to set up graphics adapters. Utilisez DXGI pour sélectionner le format des tampons, créer des chaînes d’échange, présenter des trames et créer des ressources partagées.Use DXGI to select buffer formats, create swap chains, present frames, and create shared resources. Voir Vue d’ensemble de DXGI.See DXGI Overview.
  • Un contexte de périphérique Direct3D permet de définir l’état du pipeline et de générer des commandes de rendu.A Direct3D device context is used to set pipeline state and generate rendering commands. La plupart de nos exemples utilisent un contexte immédiat pour effectuer un rendu directement sur le périphérique. Direct3D 11 prend aussi en charge le rendu multithread associé aux contextes différés.Most of our samples use an immediate context to render directly to the device; Direct3D 11 also supports multithreaded rendering, in which case deferred contexts are used. Voir Présentation d’un périphérique dans Direct3D 11.See Introduction to a Device in Direct3D 11.
  • Certaines fonctionnalités ont été abandonnées, notamment le pipeline à fonctions fixes.Some features have been deprecated, most notably the fixed function pipeline. Voir Fonctionnalités obsolètes.See Deprecated Features.

Pour obtenir la liste complète des fonctionnalités de Direct3D 11, voir Fonctionnalités de Direct3D 11 et Fonctionnalités de Direct3D 11.For a full list of Direct3D 11 features, see Direct3D 11 Features and Direct3D 11 Features.

Passage de Direct2D 9 à Direct2D 11Moving from Direct2D 9 to Direct2D 11

Direct2D (Windows) occupe toujours une place importante dans les graphismes DirectX et Windows.Direct2D (Windows) is still an important part of DirectX graphics and Windows. Vous pouvez l’utiliser pour dessiner des jeux en 2D et des superpositions (affichages à tête haute) par-dessus Direct3D.You can still use Direct2D to draw 2D games, and to draw overlays (HUDs) on top of Direct3D.

Direct2D s’exécute par-dessus Direct3D. Les jeux en 2D peuvent être implémentés à l’aide de l’une ou l’autre des API.Direct2D runs on top of Direct3D; 2D games can be implemented using either API. Par exemple, un jeu en 2D implémenté avec Direct3D peut utiliser la projection orthographique, définir des valeurs Z pour contrôler l’ordre de tracé des primitives et utiliser des nuanceurs de pixels pour ajouter des effets spéciaux.For example, a 2D game implemented using Direct3D can use orthographic projection, set Z-values to control the drawing order of primitives, and use pixel shaders to add special effects.

Dans la mesure où Direct2D repose sur Direct3D, il utilise aussi DXGI et les contextes de périphérique.Since Direct2D is based on Direct3D it also uses DXGI and device contexts. Voir Vue d’ensemble des API de Direct2D.See Direct2D API Overview.

L’API DirectWrite permet la prise en charge du texte mis en forme avec Direct2D.The DirectWrite API adds support for formatted text using Direct2D. Voir Présentation de DirectWrite.See Introducing DirectWrite.

Remplacer les bibliothèques d’assistance déconseilléesReplace deprecated helper libraries

D3DX et DXUT sont déconseillés et ne peuvent pas être utilisés par des jeux UWP.D3DX and DXUT are deprecated and cannot be used by UWP games. Ces bibliothèques d’assistance fournissaient des ressources pour les tâches comme le chargement des textures et des maillages.These helper libraries provided resources for tasks such as texture loading and mesh loading.

  • La procédure pas à pas Portage simple de Direct3D 9 vers UWP décrit les méthodes permettant de configurer une fenêtre, d’initialiser Direct3D et d’effectuer un rendu de base en 3D.The Simple port from Direct3D 9 to UWP walkthrough demonstrates how to set up a window, initialize Direct3D, and do basic 3D rendering.
  • La procédure pas à pas Jeu UWP simple avec DirectX décrit les tâches communes de programmation de jeux, notamment les graphismes, le chargement de fichiers, l’interface utilisateur, les commandes et le son.The Simple UWP game with DirectX walkthrough demonstrates common game programming tasks including graphics, loading files, UI, controls, and sound.
  • Le projet de la communauté Kit de ressources DirectX propose des classes d’assistance pour Direct3D 11 et les applications UWP.The DirectX Tool Kit community project offers helper classes for use with Direct3D 11 and UWP apps.

Déplacer les programmes de nuanceurs de FX à HLSLMove shader programs from FX to HLSL

La bibliothèque des utilitaires D3DX (D3DX 9, D3DX 10 et D3DX 11), y compris Effects, est déconseillée pour UWP.The D3DX utility library (D3DX 9, D3DX 10, and D3DX 11), including Effects, is deprecated for UWP. Tous les jeux DirectX pour UWP pilotent le pipeline graphique à l’aide de HLSL sans la bibliothèque d’effets.All DirectX games for UWP drive the graphics pipeline using HLSL without Effects.

Visual Studio utilise toujours FXC pour compiler les objets nuanceurs.Visual Studio still uses FXC under the hood to compile shader objects. Les nuanceurs UWP sont compilés à l’avance.UWP game shaders are compiled ahead of time. Le bytecode est chargé à l’exécution, puis chaque ressource de nuanceur est liée au pipeline graphique pendant l’étape de rendu appropriée.The bytecode is loaded at runtime, then each shader resource is bound to the graphics pipeline during the appropriate rendering pass. Les nuanceurs doivent être déplacés vers leurs propres fichiers .HLSL et des techniques de rendu doivent être implémentées dans votre code C++.Shaders should be moved to their own separate .HLSL files and rendering techniques should be implemented in your C++ code.

Pour un aperçu du chargement des ressources de nuanceur, voir Portage simple de Direct3D 9 vers UWP.For a quick look at loading shader resources see Simple port from Direct3D 9 to UWP.

Direct3D 11 a introduit le Shader Model 5, qui requiert le niveau de fonctionnalité Direct3D 11 _ 0 (ou supérieur).Direct3D 11 introduced Shader Model 5, which requires Direct3D feature level 11_0 (or above). Voir Fonctionnalités du modèle de nuanceur 5 HLSL pour Direct3D 11.See HLSL Shader Model 5 Features for Direct3D 11.

Remplacer XNAMath et D3DXMathReplace XNAMath and D3DXMath

Le code qui utilise XNAMath (ou D3DXMath) doit être migré vers DirectXMath.Code using XNAMath (or D3DXMath) should be migrated to DirectXMath. DirectXMath inclut des types pouvant être portés sur des processeurs x86, x64 et ARM.DirectXMath includes types that are portable across x86, x64, and ARM. Voir Migration du code de la bibliothèque XNA Math.See Code Migration from the XNA Math Library.

Notez que les types float DirectXMath conviennent parfaitement aux nuanceurs.Note that DirectXMath float types are convenient for use with shaders. Par exemple, XMFLOAT4 et XMFLOAT4X4 alignent facilement les données pour les mémoires tampons constantes.For example XMFLOAT4 and XMFLOAT4X4 conveniently align data for constant buffers.

Remplacer DirectSound par XAudio2 (et l’audio en arrière-plan)Replace DirectSound with XAudio2 (and background audio)

DirectSound n’est pas pris en charge pour UWP :DirectSound is not supported for UWP:

  • Utilisez XAudio2 pour ajouter des effets sonores à votre jeu.Use XAudio2 to add sound effects to your game.

Remplacer DirectInput par XInput et les API Windows RuntimeReplace DirectInput with XInput and Windows Runtime APIs

DirectInput n’est pas pris en charge pour UWP :DirectInput is not supported for UWP:

  • Utilisez les rappels d’événement d’entrée CoreWindow pour la souris, le clavier et les entrées tactiles.Use CoreWindow input event callbacks for mouse, keyboard, and touch input.
  • Utilisez XInput 1.4 pour la prise en charge des contrôleurs de jeu (et la prise en charge du casque des contrôleurs de jeu).Use XInput 1.4 for game controller support (and game controller headset support). Si vous utilisez une base de code partagé pour les applications de bureau et UWP, voir Versions XInput pour plus d’informations sur la compatibilité descendante.If you are using a shared code base for desktop and UWP, see XInput Versions for information on backwards compatibility.
  • Inscrivez-vous aux événements EdgeGesture si votre jeu doit utiliser la barre de l’application.Register for EdgeGesture events if your game needs to use the app bar.

Utiliser Microsoft Media Foundation au lieu de DirectShowUse Microsoft Media Foundation instead of DirectShow

DirectShow ne fait plus partie de l’API DirectX (ou de l’API Windows).DirectShow is no longer part of the DirectX API (or the Windows API). Microsoft Media Foundation fournit le contenu vidéo à Direct3D via les surfaces partagées.Microsoft Media Foundation provides video content to Direct3D using shared surfaces. Voir API vidéo de Direct3D 11.See Direct3D 11 Video APIs.

Remplacer DirectPlay par du code réseauReplace DirectPlay with networking code

Microsoft DirectPlay est déconseillé.Microsoft DirectPlay has been deprecated. Si votre jeu utilise des services réseau, vous devez fournir du code réseau conforme aux exigences UWP.If your game uses network services, you need to provide networking code that complies with UWP requirements. Utilisez les API suivantes :Use the following APIs:

Les articles suivants vous aident à ajouter des fonctionnalités réseau et à déclarer la prise en charge réseau dans le manifeste du package de votre application.The following articles help you add networking features and declare support for networking in your app's package manifest.

Notez que toutes les applications pour UWP (y compris les jeux) utilisent des types spécifiques de tâches en arrière-plan pour maintenir la connectivité pendant la suspension de l’application.Note that all UWP apps (including games) use specific types of background tasks to maintain connectivity while the app is suspended. Si votre jeu doit rester en état de connexion pendant sa suspension, voir Notions de base en matière de réseau.If your game needs to maintain connection state while suspended see Networking basics.

Mappage de fonctionsFunction mapping

Aidez-vous du tableau suivant pour convertir du code Direct3D 9 en Direct3D 11.Use the following table to help convert code from Direct3D 9 to Direct3D 11. Il peut aussi vous permettre de faire la distinction entre le périphérique et le contexte de périphérique.This can also help distinguish between the device and device context.

Direct3D 9Direct3D9 Équivalent Direct3D 11Direct3D 11 Equivalent

IDirect3DDevice9IDirect3DDevice9

ID3D11Device2ID3D11Device2

ID3D11DeviceContext2ID3D11DeviceContext2

Les étapes du pipeline graphique sont décrites dans Pipeline graphique.The graphics pipeline stages are described in Graphics Pipeline.

IDirect3D9IDirect3D9

IDXGIFactory2IDXGIFactory2

IDXGIAdapter2IDXGIAdapter2

IDXGIDevice3IDXGIDevice3

IDirect3DDevice9 ::P renvoyéIDirect3DDevice9::Present

IDXGISwapChain1::Present1IDXGISwapChain1::Present1

IDirect3DDevice9::TestCooperativeLevelIDirect3DDevice9::TestCooperativeLevel

Appelez IDXGISwapChain1 ::P resent1 avec l’indicateur DXGI_PRESENT_TEST défini.Call IDXGISwapChain1::Present1 with the DXGI_PRESENT_TEST flag set.

IDirect3DBaseTexture9IDirect3DBaseTexture9

IDirect3DTexture9IDirect3DTexture9

IDirect3DCubeTexture9IDirect3DCubeTexture9

IDirect3DVolumeTexture9IDirect3DVolumeTexture9

IDirect3DIndexBuffer9IDirect3DIndexBuffer9

IDirect3DVertexBuffer9IDirect3DVertexBuffer9

ID3D11BufferID3D11Buffer

ID3D11Texture1DID3D11Texture1D

ID3D11Texture2DID3D11Texture2D

ID3D11Texture3DID3D11Texture3D

ID3D11ShaderResourceViewID3D11ShaderResourceView

ID3D11RenderTargetViewID3D11RenderTargetView

ID3D11DepthStencilViewID3D11DepthStencilView

IDirect3DVertexShader9IDirect3DVertexShader9

IDirect3DPixelShader9IDirect3DPixelShader9

ID3D11VertexShaderID3D11VertexShader

ID3D11PixelShaderID3D11PixelShader

IDirect3DVertexDeclaration9IDirect3DVertexDeclaration9

ID3D11InputLayoutID3D11InputLayout

IDirect3DDevice9::SetRenderStateIDirect3DDevice9::SetRenderState

IDirect3DDevice9::SetSamplerStateIDirect3DDevice9::SetSamplerState

ID3D11BlendState1ID3D11BlendState1

ID3D11DepthStencilStateID3D11DepthStencilState

ID3D11RasterizerState1ID3D11RasterizerState1

ID3D11SamplerStateID3D11SamplerState

IDirect3DDevice9 ::D rawIndexedPrimitiveIDirect3DDevice9::DrawIndexedPrimitive

IDirect3DDevice9 ::D rawPrimitiveIDirect3DDevice9::DrawPrimitive

ID3D11DeviceContext ::D RAWID3D11DeviceContext::Draw

ID3D11DeviceContext ::D rawIndexedID3D11DeviceContext::DrawIndexed

ID3D11DeviceContext ::D rawIndexedInstancedID3D11DeviceContext::DrawIndexedInstanced

ID3D11DeviceContext ::D rawInstancedID3D11DeviceContext::DrawInstanced

ID3D11DeviceContext :: IASetPrimitiveTopologyID3D11DeviceContext::IASetPrimitiveTopology

ID3D11DeviceContext ::D rawAutoID3D11DeviceContext::DrawAuto

IDirect3DDevice9::BeginSceneIDirect3DDevice9::BeginScene

IDirect3DDevice9::EndSceneIDirect3DDevice9::EndScene

IDirect3DDevice9 ::D rawPrimitiveUPIDirect3DDevice9::DrawPrimitiveUP

IDirect3DDevice9 ::D rawIndexedPrimitiveUPIDirect3DDevice9::DrawIndexedPrimitiveUP

Aucun équivalent directNo direct equivalent

IDirect3DDevice9::ShowCursorIDirect3DDevice9::ShowCursor

IDirect3DDevice9::SetCursorPositionIDirect3DDevice9::SetCursorPosition

IDirect3DDevice9::SetCursorPropertiesIDirect3DDevice9::SetCursorProperties

Utilisez les API de curseur standard.Use standard cursor APIs.

IDirect3DDevice9 :: ResetIDirect3DDevice9::Reset

Le périphérique LOST et POOL_MANAGED n’existent plus.LOST device and POOL_MANAGED no longer exist. IDXGISwapChain1 ::P resent1 peut échouer avec une valeur de retour DXGI_ERROR_DEVICE_REMOVED .IDXGISwapChain1::Present1 can fail with a DXGI_ERROR_DEVICE_REMOVED return value.

IDirect3DDevice9:DrawRectPatchIDirect3DDevice9:DrawRectPatch

IDirect3DDevice9:DrawTriPatchIDirect3DDevice9:DrawTriPatch

IDirect3DDevice9 : éclaircieIDirect3DDevice9:LightEnable

IDirect3DDevice9:MultiplyTransformIDirect3DDevice9:MultiplyTransform

IDirect3DDevice9:SetLightIDirect3DDevice9:SetLight

IDirect3DDevice9:SetMaterialIDirect3DDevice9:SetMaterial

IDirect3DDevice9:SetNPatchModeIDirect3DDevice9:SetNPatchMode

IDirect3DDevice9:SetTransformIDirect3DDevice9:SetTransform

IDirect3DDevice9:SetFVFIDirect3DDevice9:SetFVF

IDirect3DDevice9:SetTextureStageStateIDirect3DDevice9:SetTextureStageState

Le pipeline à fonctions fixes n’est plus utilisé.The fixed-function pipeline has been deprecated.

IDirect3DDevice9:CheckDepthStencilMatchIDirect3DDevice9:CheckDepthStencilMatch

IDirect3DDevice9:CheckDeviceFormatIDirect3DDevice9:CheckDeviceFormat

IDirect3DDevice9:GetDeviceCapsIDirect3DDevice9:GetDeviceCaps

IDirect3DDevice9:ValidateDeviceIDirect3DDevice9:ValidateDevice

Les bits de capacité sont remplacés par des niveaux de fonctionnalité.Capability bits are replaced by feature levels. Seuls quelques rares cas d’utilisation de format et de fonctionnalité sont facultatifs pour un niveau de fonctionnalité donné.Only a few format and feature usage cases are optional for any given feature level. Celles-ci peuvent être vérifiées avec ID3D11Device :: CheckFeatureSupport et ID3D11Device :: CheckFormatSupport.These can be checked with ID3D11Device::CheckFeatureSupport and ID3D11Device::CheckFormatSupport.

Mappage des formats de surfaceSurface format mapping

Utilisez le tableau suivant pour convertir les formats Direct3D 9 en formats DXGI.Use the following table to convert Direct3D 9 formats into DXGI formats.

Format Direct3D 9Direct3D 9 Format Format Direct3D 11Direct3D 11 Format

D3DFMT_UNKNOWND3DFMT_UNKNOWN

DXGI_FORMAT_UNKNOWNDXGI_FORMAT_UNKNOWN

D3DFMT_R8G8B8D3DFMT_R8G8B8

Non disponibleNot available

D3DFMT_A8R8G8B8D3DFMT_A8R8G8B8

DXGI_FORMAT_B8G8R8A8_UNORMDXGI_FORMAT_B8G8R8A8_UNORM

DXGI_FORMAT_B8G8R8A8_UNORM_SRGBDXGI_FORMAT_B8G8R8A8_UNORM_SRGB

D3DFMT_X8R8G8B8D3DFMT_X8R8G8B8

DXGI_FORMAT_B8G8R8X8_UNORMDXGI_FORMAT_B8G8R8X8_UNORM

DXGI_FORMAT_B8G8R8X8_UNORM_SRGBDXGI_FORMAT_B8G8R8X8_UNORM_SRGB

D3DFMT_R5G6B5D3DFMT_R5G6B5

DXGI_FORMAT_B5G6R5_UNORMDXGI_FORMAT_B5G6R5_UNORM

D3DFMT_X1R5G5B5D3DFMT_X1R5G5B5

Non disponibleNot available

D3DFMT_A1R5G5B5D3DFMT_A1R5G5B5

DXGI_FORMAT_B5G5R5A1_UNORMDXGI_FORMAT_B5G5R5A1_UNORM

D3DFMT_A4R4G4B4D3DFMT_A4R4G4B4

DXGI_FORMAT_B4G4R4A4_UNORMDXGI_FORMAT_B4G4R4A4_UNORM

D3DFMT_R3G3B2D3DFMT_R3G3B2

Non disponibleNot available

D3DFMT_A8D3DFMT_A8

DXGI_FORMAT_A8_UNORMDXGI_FORMAT_A8_UNORM

D3DFMT_A8R3G3B2D3DFMT_A8R3G3B2

Non disponibleNot available

D3DFMT_X4R4G4B4D3DFMT_X4R4G4B4

Non disponibleNot available

D3DFMT_A2B10G10R10D3DFMT_A2B10G10R10

DXGI_FORMAT_R10G10B10A2DXGI_FORMAT_R10G10B10A2

D3DFMT_A8B8G8R8D3DFMT_A8B8G8R8

DXGI_FORMAT_R8G8B8A8_UNORMDXGI_FORMAT_R8G8B8A8_UNORM

DXGI_FORMAT_R8G8B8A8_UNORM_SRGBDXGI_FORMAT_R8G8B8A8_UNORM_SRGB

D3DFMT_X8B8G8R8D3DFMT_X8B8G8R8

Non disponibleNot available

D3DFMT_G16R16D3DFMT_G16R16

DXGI_FORMAT_R16G16_UNORMDXGI_FORMAT_R16G16_UNORM

D3DFMT_A2R10G10B10D3DFMT_A2R10G10B10

Non disponibleNot available

D3DFMT_A16B16G16R16D3DFMT_A16B16G16R16

DXGI_FORMAT_R16G16B16A16_UNORMDXGI_FORMAT_R16G16B16A16_UNORM

D3DFMT_A8P8D3DFMT_A8P8

Non disponibleNot available

D3DFMT_P8D3DFMT_P8

Non disponibleNot available

D3DFMT_L8D3DFMT_L8

DXGI_FORMAT_R8_UNORMDXGI_FORMAT_R8_UNORM

Remarque    Utilisez. r Swizzle dans le nuanceur pour dupliquer le rouge sur d’autres composants afin d’accéder au comportement Direct3D 9. Note   Use .r swizzle in shader to duplicate red to other components to get Direct3D 9 behavior.
 

D3DFMT_A8L8D3DFMT_A8L8

DXGI_FORMAT_R8G8_UNORMDXGI_FORMAT_R8G8_UNORM

Remarque    Utilisez Swizzle. rrrg dans le nuanceur pour dupliquer la couleur rouge et déplacer le vert vers les composants alpha pour accéder au comportement Direct3D 9. Note   Use swizzle .rrrg in shader to duplicate red and move green to the alpha components to get Direct3D 9 behavior.
 

D3DFMT_A4L4D3DFMT_A4L4

Non disponibleNot available

D3DFMT_V8U8D3DFMT_V8U8

DXGI_FORMAT_R8G8_SNORMDXGI_FORMAT_R8G8_SNORM

D3DFMT_L6V5U5D3DFMT_L6V5U5

Non disponibleNot available

D3DFMT_X8L8V8U8D3DFMT_X8L8V8U8

Non disponibleNot available

D3DFMT_Q8W8V8U8D3DFMT_Q8W8V8U8

DXGI_FORMAT_R8G8B8A8_SNORMDXGI_FORMAT_R8G8B8A8_SNORM

D3DFMT_V16U16D3DFMT_V16U16

DXGI_FORMAT_R16G16_SNORMDXGI_FORMAT_R16G16_SNORM

D3DFMT_W11V11U10D3DFMT_W11V11U10

Non disponibleNot available

D3DFMT_A2W10V10U10D3DFMT_A2W10V10U10

Non disponibleNot available

D3DFMT_UYVYD3DFMT_UYVY

Non disponibleNot available

D3DFMT_R8G8_B8G8D3DFMT_R8G8_B8G8

DXGI_FORMAT_G8R8_G8B8_UNORMDXGI_FORMAT_G8R8_G8B8_UNORM

Remarque    Dans Direct3D 9, les données ont été mises à l’échelle par 255.0 f, mais elles peuvent être gérées dans le nuanceur. Note   In Direct3D 9 the data was scaled up by 255.0f, but this can be handled in the shader.
 

D3DFMT_YUY2D3DFMT_YUY2

Non disponibleNot available

D3DFMT_G8R8_G8B8D3DFMT_G8R8_G8B8

DXGI_FORMAT_R8G8_B8G8_UNORMDXGI_FORMAT_R8G8_B8G8_UNORM

Remarque    Dans Direct3D 9, les données ont été mises à l’échelle par 255.0 f, mais elles peuvent être gérées dans le nuanceur. Note   In Direct3D 9 the data was scaled up by 255.0f, but this can be handled in the shader.
 

D3DFMT_DXT1D3DFMT_DXT1

DXGI_FORMAT_BC1_UNORM & DXGI_FORMAT_BC1_UNORM_SRGBDXGI_FORMAT_BC1_UNORM & DXGI_FORMAT_BC1_UNORM_SRGB

D3DFMT_DXT2D3DFMT_DXT2

DXGI_FORMAT_BC1_UNORM & DXGI_FORMAT_BC1_UNORM_SRGBDXGI_FORMAT_BC1_UNORM & DXGI_FORMAT_BC1_UNORM_SRGB

Remarque    DXT1 et DXT2 sont identiques du point de vue de l’API/du matériel. Note   DXT1 and DXT2 are the same from an API/hardware perspective. La seule différence est en cas d’utilisation d’un alpha prémultiplié, qui peut faire l’objet d’un suivi par une application et ne requiert pas de format distinct.The only difference is whether premultiplied alpha is used, which can be tracked by an application and doesn't need a separate format.
 

D3DFMT_DXT3D3DFMT_DXT3

DXGI_FORMAT_BC2_UNORM & DXGI_FORMAT_BC2_UNORM_SRGBDXGI_FORMAT_BC2_UNORM & DXGI_FORMAT_BC2_UNORM_SRGB

D3DFMT_DXT4D3DFMT_DXT4

DXGI_FORMAT_BC2_UNORM & DXGI_FORMAT_BC2_UNORM_SRGBDXGI_FORMAT_BC2_UNORM & DXGI_FORMAT_BC2_UNORM_SRGB

Remarque    DXT3 et DXT4 sont identiques du point de vue de l’API/du matériel. Note   DXT3 and DXT4 are the same from an API/hardware perspective. La seule différence est en cas d’utilisation d’un alpha prémultiplié, qui peut faire l’objet d’un suivi par une application et ne requiert pas de format distinct.The only difference is whether premultiplied alpha is used, which can be tracked by an application and doesn't need a separate format.
 

D3DFMT_DXT5D3DFMT_DXT5

DXGI_FORMAT_BC3_UNORM & DXGI_FORMAT_BC3_UNORM_SRGBDXGI_FORMAT_BC3_UNORM & DXGI_FORMAT_BC3_UNORM_SRGB

D3DFMT_D16 & D3DFMT_D16_LOCKABLED3DFMT_D16 & D3DFMT_D16_LOCKABLE

DXGI_FORMAT_D16_UNORMDXGI_FORMAT_D16_UNORM

D3DFMT_D32D3DFMT_D32

Non disponibleNot available

D3DFMT_D15S1D3DFMT_D15S1

Non disponibleNot available

D3DFMT_D24S8D3DFMT_D24S8

Non disponibleNot available

D3DFMT_D24X8D3DFMT_D24X8

Non disponibleNot available

D3DFMT_D24X4S4D3DFMT_D24X4S4

Non disponibleNot available

D3DFMT_D16D3DFMT_D16

DXGI_FORMAT_D16_UNORMDXGI_FORMAT_D16_UNORM

D3DFMT_D32F_LOCKABLED3DFMT_D32F_LOCKABLE

DXGI_FORMAT_D32_FLOATDXGI_FORMAT_D32_FLOAT

D3DFMT_D24FS8D3DFMT_D24FS8

Non disponibleNot available

D3DFMT_S1D15D3DFMT_S1D15

Non disponibleNot available

D3DFMT_S8D24D3DFMT_S8D24

DXGI_FORMAT_D24_UNORM_S8_UINTDXGI_FORMAT_D24_UNORM_S8_UINT

D3DFMT_X8D24D3DFMT_X8D24

Non disponibleNot available

D3DFMT_X4S4D24D3DFMT_X4S4D24

Non disponibleNot available

D3DFMT_L16D3DFMT_L16

DXGI_FORMAT_R16_UNORMDXGI_FORMAT_R16_UNORM

Remarque    Utilisez. r Swizzle dans le nuanceur pour dupliquer le rouge sur d’autres composants afin d’atteindre le comportement D3D9. Note   Use .r swizzle in shader to duplicate red to other components to get D3D9 behavior.
 

D3DFMT_INDEX16D3DFMT_INDEX16

DXGI_FORMAT_R16_UINTDXGI_FORMAT_R16_UINT

D3DFMT_INDEX32D3DFMT_INDEX32

DXGI_FORMAT_R32_UINTDXGI_FORMAT_R32_UINT

D3DFMT_Q16W16V16U16D3DFMT_Q16W16V16U16

DXGI_FORMAT_R16G16B16A16_SNORMDXGI_FORMAT_R16G16B16A16_SNORM

D3DFMT_MULTI2_ARGB8D3DFMT_MULTI2_ARGB8

Non disponibleNot available

D3DFMT_R16FD3DFMT_R16F

DXGI_FORMAT_R16_FLOATDXGI_FORMAT_R16_FLOAT

D3DFMT_G16R16FD3DFMT_G16R16F

DXGI_FORMAT_R16G16_FLOATDXGI_FORMAT_R16G16_FLOAT

D3DFMT_A16B16G16R16FD3DFMT_A16B16G16R16F

DXGI_FORMAT_R16G16B16A16_FLOATDXGI_FORMAT_R16G16B16A16_FLOAT

D3DFMT_R32FD3DFMT_R32F

DXGI_FORMAT_R32_FLOATDXGI_FORMAT_R32_FLOAT

D3DFMT_G32R32FD3DFMT_G32R32F

DXGI_FORMAT_R32G32_FLOATDXGI_FORMAT_R32G32_FLOAT

D3DFMT_A32B32G32R32FD3DFMT_A32B32G32R32F

DXGI_FORMAT_R32G32B32A32_FLOATDXGI_FORMAT_R32G32B32A32_FLOAT

D3DFMT_CxV8U8D3DFMT_CxV8U8

Non disponibleNot available

D3DDECLTYPE_FLOAT1D3DDECLTYPE_FLOAT1

DXGI_FORMAT_R32_FLOATDXGI_FORMAT_R32_FLOAT

D3DDECLTYPE_FLOAT2D3DDECLTYPE_FLOAT2

DXGI_FORMAT_R32G32_FLOATDXGI_FORMAT_R32G32_FLOAT

D3DDECLTYPE_FLOAT3D3DDECLTYPE_FLOAT3

DXGI_FORMAT_R32G32B32_FLOATDXGI_FORMAT_R32G32B32_FLOAT

D3DDECLTYPE_FLOAT4D3DDECLTYPE_FLOAT4

DXGI_FORMAT_R32G32B32A32_FLOATDXGI_FORMAT_R32G32B32A32_FLOAT

D3DDECLTYPED3DCOLORD3DDECLTYPED3DCOLOR

Non disponibleNot available

D3DDECLTYPE_UBYTE4D3DDECLTYPE_UBYTE4

DXGI_FORMAT_R8G8B8A8_UINTDXGI_FORMAT_R8G8B8A8_UINT

Remarque    Le nuanceur obtient des valeurs UINT, mais si les valeurs float de style intégral Direct3D 9 sont nécessaires (0.0 f, 1.0 f... 255. f), UINT peut simplement être converti en float32 dans le nuanceur. Note   The shader gets UINT values, but if Direct3D 9 style integral floats are needed (0.0f, 1.0f... 255.f), UINT can just be converted to float32 in the shader.
 

D3DDECLTYPE_SHORT2D3DDECLTYPE_SHORT2

DXGI_FORMAT_R16G16_SINTDXGI_FORMAT_R16G16_SINT

Remarque    Le nuanceur obtient des valeurs de Saint-est, mais si les valeurs float d’intégral de style Direct3D 9 sont nécessaires, Saint-est tout simplement converti en float32 dans le nuanceur. Note   The shader gets SINT values, but if Direct3D 9 style integral floats are needed, SINT can just be converted to float32 in the shader.
 

D3DDECLTYPE_SHORT4D3DDECLTYPE_SHORT4

DXGI_FORMAT_R16G16B16A16_SINTDXGI_FORMAT_R16G16B16A16_SINT

Remarque    Le nuanceur obtient des valeurs de Saint-est, mais si les valeurs float d’intégral de style Direct3D 9 sont nécessaires, Saint-est tout simplement converti en float32 dans le nuanceur. Note   The shader gets SINT values, but if Direct3D 9 style integral floats are needed, SINT can just be converted to float32 in the shader.
 

D3DDECLTYPE_UBYTE4ND3DDECLTYPE_UBYTE4N

DXGI_FORMAT_R8G8B8A8_UNORMDXGI_FORMAT_R8G8B8A8_UNORM

D3DDECLTYPE_SHORT2ND3DDECLTYPE_SHORT2N

DXGI_FORMAT_R16G16_SNORMDXGI_FORMAT_R16G16_SNORM

D3DDECLTYPE_SHORT4ND3DDECLTYPE_SHORT4N

DXGI_FORMAT_R16G16B16A16_SNORMDXGI_FORMAT_R16G16B16A16_SNORM

D3DDECLTYPE_USHORT2ND3DDECLTYPE_USHORT2N

DXGI_FORMAT_R16G16_UNORMDXGI_FORMAT_R16G16_UNORM

D3DDECLTYPE_USHORT4ND3DDECLTYPE_USHORT4N

DXGI_FORMAT_R16G16B16A16_UNORMDXGI_FORMAT_R16G16B16A16_UNORM

D3DDECLTYPE_UDEC3D3DDECLTYPE_UDEC3

Non disponibleNot available

D3DDECLTYPE_DEC3ND3DDECLTYPE_DEC3N

Non disponibleNot available

D3DDECLTYPE_FLOAT16_2D3DDECLTYPE_FLOAT16_2

DXGI_FORMAT_R16G16_FLOATDXGI_FORMAT_R16G16_FLOAT

D3DDECLTYPE_FLOAT16_4D3DDECLTYPE_FLOAT16_4

DXGI_FORMAT_R16G16B16A16_FLOATDXGI_FORMAT_R16G16B16A16_FLOAT

FourCC 'ATI1'FourCC 'ATI1'

DXGI_FORMAT_BC4_UNORMDXGI_FORMAT_BC4_UNORM

Remarque    Requiert le niveau de fonctionnalité 10,0 ou une version ultérieure Note   Requires Feature Level 10.0 or later
 

FourCC 'ATI2'FourCC 'ATI2'

DXGI_FORMAT_BC5_UNORMDXGI_FORMAT_BC5_UNORM

Remarque    Requiert le niveau de fonctionnalité 10,0 ou une version ultérieure Note   Requires Feature Level 10.0 or later
 

Informations supplémentaires sur le mappageAdditional mapping info

Le contrôle de la rampe gamma matérielle de la carte vidéo via IDirect3DDevice9 :: SetGammaRamp est remplacé par IDXGIOutput :: SetGammaControl.Control of the video card's hardware gamma ramp through IDirect3DDevice9::SetGammaRamp is replaced by IDXGIOutput::SetGammaControl. Consultez utilisation de la correction gamma.See Using gamma correction.

IDirect3DDevice9 ::P rocessvertices est remplacé par la fonctionnalité de flux-sortie des nuanceurs Geometry.IDirect3DDevice9::ProcessVertices is replaced by the Stream-Output functionality of Geometry Shaders. Consultez prise en main de l’étape flux-sortie.See Getting started with the Stream-Output Stage.

La méthode IDirect3DDevice9 :: SetClipPlane pour définir des plans d’utilisateur a été remplacée par la sémantique de sortie du nuanceur de sommets HLSL SV_ClipDistance (voir sémantiques), disponible dans VS_4_0 et vers le haut, ou le nouvel attribut de fonction clipplanes HLSL (voir les plans de l’utilisateur sur le matériel du niveau de fonctionnalité 9).The method IDirect3DDevice9::SetClipPlane to set user clip-planes was replaced by either the HLSL SV_ClipDistance vertex shader output semantic (see Semantics), available in VS_4_0 and up, or the new HLSL clipplanes function attribute (see User clip planes on feature level 9 hardware).

IDirect3DDevice9 :: SetPaletteEntries et IDirect3DDevice9 :: SetCurrentTexturePalette sont dépréciés.IDirect3DDevice9::SetPaletteEntries and IDirect3DDevice9::SetCurrentTexturePalette are deprecated. Remplacez-les par un nuanceur de pixels qui recherche les couleurs dans une texture 256x1 R8G8B8A8 à la place.Replace these with a pixel shader that looks up colors in a 256x1 R8G8B8A8 texture instead.

Les fonctions de pavage à fonction fixe comme DrawRectPatch, DrawTriPatch, SetNPatchModeet DeletePatch sont déconseillées.Fixed-function tessellation functions like DrawRectPatch, DrawTriPatch, SetNPatchMode, and DeletePatch are deprecated. Remplacez-les par des nuanceurs de pavage de pipeline programmable SM 5.0 (si le matériel prend en charge les nuanceurs de pavage).Replace these with programmable-pipeline SM5.0 Tessellation shaders (if hardware supports tessellation shaders).

IDirect3DDevice9 :: SetFVFet les codes de Commission, ne sont plus pris en charge.IDirect3DDevice9::SetFVF, and FVF codes, are no longer supported. Vous devez porter les codes de D3D8/D3D9 Commission des prix de la Commission vers les déclarations de vertex D3D9 avant le portage vers les dispositions d’entrée D3D11.You should port from D3D8/D3D9 FVF codes to D3D9 Vertex Declarations before porting to D3D11 Input Layouts.

Tous les types de D3DDECLTYPE qui ne sont pas directement pris en charge peuvent être émulés assez efficacement avec un petit nombre d’opérations au niveau du bit au début d’un nuanceur de sommets dans VS_4_0 et vers le haut.All of the D3DDECLTYPE types that are not directly supported can be emulated fairly efficiently with a small number of bitwise operations at the beginning of a vertex shader in VS_4_0 and up.