{"id":2764,"date":"2015-06-12T19:19:34","date_gmt":"2015-06-12T19:19:34","guid":{"rendered":"http:\/\/anthroponaute.fr\/blog-informatique\/?p=2764"},"modified":"2015-11-18T00:39:13","modified_gmt":"2015-11-18T00:39:13","slug":"structures-directx-10","status":"publish","type":"post","link":"https:\/\/www.la-porte-des-nebuleuses.net\/blog-informatique\/?p=2764","title":{"rendered":"Structures de DirectX 10"},"content":{"rendered":"<p><strong>Intro :<\/strong><\/p>\n<p><a href=\"https:\/\/anthropoya.cluster014.ovh.net\/blog-informatique\/wp-content\/uploads\/2015\/06\/1211804249.png\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-2810\" src=\"https:\/\/anthropoya.cluster014.ovh.net\/blog-informatique\/wp-content\/uploads\/2015\/06\/1211804249.png\" alt=\"1211804249\" width=\"256\" height=\"256\" srcset=\"https:\/\/www.la-porte-des-nebuleuses.net\/blog-informatique\/wp-content\/uploads\/2015\/06\/1211804249.png 256w, https:\/\/www.la-porte-des-nebuleuses.net\/blog-informatique\/wp-content\/uploads\/2015\/06\/1211804249-150x150.png 150w\" sizes=\"(max-width: 256px) 100vw, 256px\" \/><\/a><\/p>\n<p>DirectX 10 utilise diff\u00e9rentes <strong>structures<\/strong> pour se configurer.<br \/>\nIl peut \u00eatre utile de les conna\u00eetre afin de maitriser l&rsquo;initialisation de DirectX 10.<\/p>\n<p>[\u00e0 faire] \u00a0\u00a0\u00a0 D3D10_TEXTURE2D_DESC textureDesc;<br \/>\nD3D10_RENDER_TARGET_VIEW_DESC renderTargetViewDesc;<br \/>\nD3D10_SHADER_RESOURCE_VIEW_DESC shaderResourceViewDesc;<\/p>\n<p>Les voici <strong>\u00e9num\u00e9r\u00e9es<\/strong> :<\/p>\n<h5>&#8211; DXGI_SWAP_CHAIN_DESC :<\/h5>\n<p style=\"padding-left: 30px;\">&#8211; utilis\u00e9e pour configurer la Swap Chain au tout d\u00e9but de l&rsquo;initialisation de DirectX<\/p>\n<h5>&#8211; D3D10_TEXTURE2D_DESC :<\/h5>\n<p style=\"padding-left: 30px;\">&#8211; utilis\u00e9e pour d\u00e9crire une surface 2D<\/p>\n<p><strong>&#8211; D3D10_BUFFER_DESC :<\/strong><\/p>\n<p style=\"padding-left: 30px;\">&#8211; utilis\u00e9e pour d\u00e9crire un buffer quelconque<\/p>\n<h5>&#8211; D3D10_RASTERIZER_DESC :<\/h5>\n<p style=\"padding-left: 30px;\">&#8211; utilis\u00e9e pour configurer l&rsquo;\u00e9tape Rasterizer de la cha\u00eene de rendu 3D<\/p>\n<h5>&#8211; D3D10_VIEWPORT :<\/h5>\n<p style=\"padding-left: 30px;\">&#8211; utilis\u00e9e pour configurer un cadre de vue 3D<\/p>\n<p><strong>&#8211; D3D10_SAMPLER_DESC<\/strong> :<\/p>\n<p style=\"padding-left: 30px;\">&#8211; utilis\u00e9e pour d\u00e9crire l&rsquo;\u00e9chantillonnage d&rsquo;une texture utilisable dans un shader<\/p>\n<p><strong>&#8211; D3D10_COMPARISON_FUNC<\/strong> :<\/p>\n<p style=\"padding-left: 30px;\">&#8211; utilis\u00e9e pour sp\u00e9cifier la fonction de comparaison entre deux valeurs<\/p>\n<p><strong>&#8211;<\/strong> <strong>D3D10_USAGE<\/strong> :<\/p>\n<p style=\"padding-left: 30px;\">&#8211; utilis\u00e9e pour sp\u00e9cifier comment est g\u00e9r\u00e9e une ressource par le CPU ou le GPU<\/p>\n<p><strong>\u00a0&#8211; \u00a0DXGI_SWAP_CHAIN_DESC :<\/strong><\/p>\n<p><strong>Explications :<\/strong><\/p>\n<p>Avant tout configuration de structure, pensez \u00e0 l&rsquo;initialiser \u00e0 z\u00e9ro avec la macro :<\/p>\n<pre class=\"brush: cpp; title: ; notranslate\" title=\"\">\r\nZeroMemory(&amp;structure_variable, sizeof(Structure));\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p>Pour <em><strong>DXGI_SWAP_CHAIN_DESC<\/strong><\/em><strong>\u00a0<\/strong>:<\/p>\n<pre class=\"brush: cpp; title: ; notranslate\" title=\"\">\r\ntypedef struct DXGI_SWAP_CHAIN_DESC {\r\n\u00a0 DXGI_MODE_DESC\u00a0\u00a0 BufferDesc;\r\n\u00a0 DXGI_SAMPLE_DESC SampleDesc;\r\n\u00a0 DXGI_USAGE\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 BufferUsage;\r\n\u00a0 UINT\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 BufferCount;\r\n\u00a0 HWND\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 OutputWindow;\r\n\u00a0 BOOL\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Windowed;\r\n\u00a0 DXGI_SWAP_EFFECT SwapEffect;\r\n\u00a0 UINT\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Flags;\r\n} DXGI_SWAP_CHAIN_DESC;\r\n<\/pre>\n<p>On la configure ainsi :<\/p>\n<pre class=\"brush: cpp; title: ; notranslate\" title=\"\">\r\nDXGI_SWAP_CHAIN_DESC swapChainDesc;\r\n\r\n\/\/ La taille de la surface en largeur\r\nswapChainDesc.BufferDesc.Width\r\n\r\n\/\/ La taille de la surface en hauteur\r\nswapChainDesc.BufferDesc.Height\r\n\r\n\/\/ Le format de la surface\r\nswapChainDesc.BufferDesc.Format\r\n\r\n\/\/ Le num\u00e9rateur du taux de rafraichissement - (usuellement 60)\r\nswapChainDesc.BufferDesc.RefreshRate.Numerator\r\n\r\n\/\/ Le d\u00e9nominateur du taux de rafraichissement - (usuellement 1)\r\nswapChainDesc.BufferDesc.RefreshRate.Denominator\r\n\r\n\/\/ Le nombre de buffers dans la Swap Chain\r\n\/\/ (y compris le front buffer)\r\nswapChainDesc.BufferCount\r\n\r\n\/\/ Le nombre de sample par pixel pour l'antialiasing\r\nswapChainDesc.SampleDesc.Count\r\n\/\/ Le niveau de qualit\u00e9 de l'image pour l'antialiasing\r\nswapChainDesc.SampleDesc.Quality\r\n\r\n\/\/ L'handle de la fen\u00eatre \u00e0 laquelle on va afficher dessus\r\nswapChainDesc.OutputWindow\r\n\r\n\/\/ Pr\u00e9cise si on est en mode fenetr\u00e9 ou plein \u00e9cran\r\nswapChainDesc.Windowed\r\n\r\n\/\/ G\u00e8re comment DirectX 10 se comporte apr\u00e8s l'appel de -&gt;Present(0, 0)\r\nswapChainDesc.SwapEffect\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p>Pour <strong><em>D3D10_TEXTURE2D_DESC<\/em><\/strong> :<\/p>\n<pre class=\"brush: cpp; title: ; notranslate\" title=\"\">\r\ntypedef struct D3D10_TEXTURE2D_DESC {\r\n\u00a0 UINT\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Width;\r\n\u00a0 UINT\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Height;\r\n\u00a0 UINT\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 MipLevels;\r\n\u00a0 UINT\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ArraySize;\r\n\u00a0 DXGI_FORMAT\u00a0\u00a0\u00a0\u00a0\u00a0 Format;\r\n\u00a0 DXGI_SAMPLE_DESC SampleDesc;\r\n\u00a0 D3D10_USAGE\u00a0\u00a0\u00a0\u00a0\u00a0 Usage;\r\n\u00a0 UINT\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 BindFlags;\r\n\u00a0 UINT\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 CPUAccessFlags;\r\n\u00a0 UINT\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 MiscFlags;\r\n} D3D10_TEXTURE2D_DESC;\r\n<\/pre>\n<p>On la configure ainsi :<\/p>\n<pre class=\"brush: cpp; title: ; notranslate\" title=\"\">\r\nD3D10_TEXTURE2D_DESC textureDesc;\r\n\r\n\/\/ Taille de la texture en largeur (l'unit\u00e9 est en texels)\r\ntextureDesc.Width\r\n\r\n\/\/ Taille de la texture en hauteur\r\ntextureDesc.Height\r\n\r\n\/\/ Le nombre de niveau de mipmaps de la texture\r\ntextureDesc.MipLevels\r\n\r\n\/\/ Le nombre de texture dans le tableau\r\ntextureDesc.ArraySize\r\n\r\n\/\/ Le format de la texture\r\ntextureDesc.Format\r\n\r\n\/\/ Le nombre d'\u00e9chantillon par pixel pour le multisampling\r\ntextureDesc.SampleDesc.Count\r\n\r\n\/\/ Le niveau de qualit\u00e9 de l'image pour le multisampling\r\ntextureDesc.SampleDesc.Quality\r\n\r\n\/\/ D\u00e9crit commment est utilis\u00e9e la texture par le CPU et le GPU\r\n\/\/ (voir l'annexe tout en bas)\r\ntextureDesc.Usage\r\n\r\n\/\/ D\u00e9crit \u00e0 quelle \u00e9tape de la cha\u00eene de rendu 3D est li\u00e9e cette texture\r\ntextureDesc.BindFlags\r\n\r\n\/\/ D\u00e9crit comment le CPU peut acc\u00e9der \u00e0 cette ressource texture\r\n\/\/ (en lecture ou \u00e9criture)\r\n\/\/ si 0 : le CPU n'a pas besoin d'acc\u00e9der \u00e0 cette ressource\r\ntextureDesc.CPUAccessFlags\r\n\r\n\/\/ Autres options pour cette ressource\r\ntextureDesc.MiscFlags\r\n\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p>Pour <em><strong>D3D10_BUFFER_DESC <\/strong><\/em>:<\/p>\n<pre class=\"brush: cpp; title: ; notranslate\" title=\"\">\r\ntypedef struct D3D10_BUFFER_DESC {\r\n\u00a0 UINT\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ByteWidth;\r\n\u00a0 D3D10_USAGE Usage;\r\n\u00a0 UINT\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 BindFlags;\r\n\u00a0 UINT\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 CPUAccessFlags;\r\n\u00a0 UINT\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 MiscFlags;\r\n} D3D10_BUFFER_DESC;\r\n<\/pre>\n<p>On la configure ainsi :<\/p>\n<pre class=\"brush: cpp; title: ; notranslate\" title=\"\">\r\nD3D10_BUFFER_DESC bufferDesc;\r\n\r\n\/\/ Taille du buffer en octet (bytes)\r\nbufferDesc.ByteWidth\r\n\r\n\/\/ D\u00e9crit commment est utilis\u00e9e la texture par le CPU et le GPU\r\n\/\/ (voir l'annexe tout en bas)\r\nbufferDesc.Usage\r\n\r\n\/\/ D\u00e9crit \u00e0 quelle \u00e9tape de la cha\u00eene de rendu 3D est li\u00e9e cette texture\r\nbufferDesc.BindFlags\r\n\r\n\/\/ D\u00e9crit comment le CPU peut acc\u00e9der \u00e0 cette ressource texture\r\n\/\/ (en lecture ou \u00e9criture)\r\n\/\/ si 0 : le CPU n'a pas besoin d'acc\u00e9der \u00e0 cette ressource\r\nbufferDesc.CPUAccessFlags\r\n\r\n\/\/ Autres options\r\nbufferDesc.MiscFlags\r\n\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p>Pour <strong><em>D3D10_RASTERIZER_DESC<\/em><\/strong> :<\/p>\n<pre class=\"brush: cpp; title: ; notranslate\" title=\"\">\r\ntypedef struct D3D10_RASTERIZER_DESC {\r\n\u00a0 D3D10_FILL_MODE FillMode;\r\n\u00a0 D3D10_CULL_MODE CullMode;\r\n\u00a0 BOOL\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 FrontCounterClockwise;\r\n\u00a0 INT\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 DepthBias;\r\n\u00a0 FLOAT\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 DepthBiasClamp;\r\n\u00a0 FLOAT\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 SlopeScaledDepthBias;\r\n\u00a0 BOOL\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 DepthClipEnable;\r\n\u00a0 BOOL\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ScissorEnable;\r\n\u00a0 BOOL\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 MultisampleEnable;\r\n\u00a0 BOOL\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 AntialiasedLineEnable;\r\n} D3D10_RASTERIZER_DESC;\r\n<\/pre>\n<p>On la configure ainsi :<\/p>\n<pre class=\"brush: cpp; title: ; notranslate\" title=\"\">\r\nD3D10_RASTERIZER_DESC rasterizerDesc;\r\n\r\n\/\/ Pr\u00e9cise le mode de remplissage des primitives\r\n\/\/ D3D10_FILL_WIREFRAME ou D3D10_FILL_SOLID\r\nrasterizerDesc.FillMode\r\n\r\n\/\/ Sp\u00e9cifie si on affiche les triangles qui sont orient\u00e9s &quot;en face&quot; ou pas\r\n\/\/ D3D10_CULL_NONE, D3D10_CULL_FRONT ou D3D10_CULL_BACK\r\nrasterizerDesc.CullMode\r\n\r\n\/\/ D\u00e9termine dans quel sens les triangles sont consid\u00e9r\u00e9s orient\u00e9s &quot;en face&quot;\r\nrasterizerDesc.FrontCounterClockwise\r\n\r\n\/\/ Sp\u00e9cifie le valeur de profondeur DepthBias ajout\u00e9 \u00e0 un pixel\r\nrasterizerDesc.DepthBias\r\n\r\n\/\/ Sp\u00e9cifie la valeur maximale de DepthBias d'un pixel\r\nrasterizerDesc.DepthBiasClamp\r\n\r\n\/\/ Sp\u00e9cifie l'\u00e9chelle de grandeur de DepthBias d'un pixel\r\nrasterizerDesc.SlopeScaledDepthBias\r\n\r\n\/\/ Active ou non la coupure de primitives bas\u00e9e sur la distance\r\nrasterizerDesc.DepthClipEnable\r\n\r\n\/\/ Active ou non la m\u00e9thode &quot;rectangle-ciseau&quot;\r\n\/\/ qui permet de ne pas rendre les triangles d\u00e9passants ce\r\n\/\/ rectangle\r\nrasterizerDesc.ScissorEnable\r\n\r\n\/\/ Active ou non la technique d'antialiasing de multi-\u00e9chantillonage\r\nrasterizerDesc.MultisampleEnable\r\n\r\n\/\/ Active ou non la technique de l'antialiasing de ligne\r\nrasterizerDesc.AntialiasedLineEnable\r\n\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p>Pour <em><strong>D3D10_VIEWPORT<\/strong> <\/em>:<\/p>\n<pre class=\"brush: cpp; title: ; notranslate\" title=\"\">\r\ntypedef struct D3D10_VIEWPORT {\r\n\u00a0 INT\u00a0\u00a0 TopLeftX;\r\n\u00a0 INT\u00a0\u00a0 TopLeftY;\r\n\u00a0 UINT\u00a0 Width;\r\n\u00a0 UINT\u00a0 Height;\r\n\u00a0 FLOAT MinDepth;\r\n\u00a0 FLOAT MaxDepth;\r\n} D3D10_VIEWPORT;\r\n<\/pre>\n<p>On la configure ainsi :<\/p>\n<pre class=\"brush: cpp; title: ; notranslate\" title=\"\">\r\nD3D10_VIEWPORT viewPortDesc;\r\n\r\n\/\/ Abscisse de la position du cadre de vue en partant de haut \u00e0 gauche\r\nviewPortDesc.TopLeftX \r\n\r\n\/\/ Ordonn\u00e9e basse de la position du cadre de vue en partant de haut \u00e0 gauche\r\nviewPortDesc.TopLeftY \r\n\r\n\/\/ Largeur du cadre de vue\r\nviewPortDesc.Width \r\n\r\n\/\/ Hauteur du cadre de vue\r\nviewPortDesc.Height \r\n\r\n\/\/ Profondeur minimum du cadre de vue\r\nviewPortDesc.MinDepth \r\n\r\n\/\/ Profondeur maximale du cadre de vue\r\nviewPortDesc.MaxDepth\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p>Pour<em> <strong>D3D10_SAMPLER_DESC<\/strong> <\/em>:<\/p>\n<pre class=\"brush: cpp; title: ; notranslate\" title=\"\">\r\ntypedef struct D3D10_SAMPLER_DESC {\r\n\u00a0 D3D10_FILTER\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Filter;\r\n\u00a0 D3D10_TEXTURE_ADDRESS_MODE AddressU;\r\n\u00a0 D3D10_TEXTURE_ADDRESS_MODE AddressV;\r\n\u00a0 D3D10_TEXTURE_ADDRESS_MODE AddressW;\r\n\u00a0 FLOAT\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 MipLODBias;\r\n\u00a0 UINT\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 MaxAnisotropy;\r\n\u00a0 D3D10_COMPARISON_FUNC\u00a0\u00a0\u00a0\u00a0\u00a0 ComparisonFunc;\r\n\u00a0 FLOAT\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 BorderColor[4];\r\n\u00a0 FLOAT\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 MinLOD;\r\n\u00a0 FLOAT\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 MaxLOD;\r\n} D3D10_SAMPLER_DESC;\r\n<\/pre>\n<p>On la configure ainsi :<\/p>\n<pre class=\"brush: cpp; title: ; notranslate\" title=\"\">\r\nD3D10_SAMPLER_DESC samplerDesc;\r\n\r\n\/\/ M\u00e9thode de filtrage utilis\u00e9e pour \u00e9chantillonner la texture\r\nsamplerDesc.Filter\r\n\r\n\/\/ M\u00e9thode utilis\u00e9e pour afficher la texture lorsque ses coordonn\u00e9es U\r\n\/\/ sont en dehors de l'intervalle de 0.0f - 1.0f\r\n\/\/ (voir l\u2019annexe)\r\nsamplerDesc.AddressU \r\n\r\n\/\/ M\u00e9thode utilis\u00e9e pour afficher la texture lorsque ses coordonn\u00e9es V\r\n\/\/ sont en dehors de l'intervalle de 0.0f - 1.0f\r\n\/\/ (voir l\u2019annexe)\r\nsamplerDesc.AddressV\r\n\r\n\/\/ M\u00e9thode utilis\u00e9e pour afficher la texture lorsque ses coordonn\u00e9es W\r\n\/\/ sont en dehors de l'intervalle de 0.0f - 1.0f\r\n\/\/ (voir l\u2019annexe)\r\nsamplerDesc.AddressW\r\n\r\n\/\/ Augmente la valeur pr\u00e9\u00e9tablis du niveau de mimap de la texture\r\nsamplerDesc.MipLODBias\r\n\r\n\/\/ Sp\u00e9cifie le niveau d'anisotropie de la texture\r\nsamplerDesc.MaxAnisotropy\r\n\r\n\/\/ Sp\u00e9cifie la fonction de comparaison entre chaque donn\u00e9es de\r\n\/\/ la texture eux-m\u00eames\r\nsamplerDesc.ComparisonFunc\r\n\r\n\/\/ Sp\u00e9cifie la couleur de bordure si l'on a pass\u00e9\r\n\/\/ D3D10_TEXTURE_ADDRESS_BORDER comme valeur aux AddressU, V ou W\r\nsamplerDesc.BorderColor\r\n\r\n\/\/\r\nsamplerDesc.MinLOD \r\n\r\n\/\/\r\nsamplerDesc.MaxLOD\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p>Pour <em><strong>D3D10_USAGE : <\/strong><\/em><\/p>\n<pre class=\"brush: cpp; title: ; notranslate\" title=\"\">\r\ntypedef enum D3D10_USAGE {\r\n\u00a0 D3D10_USAGE_DEFAULT\u00a0\u00a0\u00a0\u00a0 = 0,\r\n\u00a0 D3D10_USAGE_IMMUTABLE\u00a0\u00a0 = 1,\r\n\u00a0 D3D10_USAGE_DYNAMIC\u00a0\u00a0\u00a0\u00a0 = 2,\r\n\u00a0 D3D10_USAGE_STAGING\u00a0\u00a0\u00a0\u00a0 = 3\r\n} D3D10_USAGE;\r\n\r\n<\/pre>\n<p>Voici comment la configurer :<\/p>\n<pre class=\"brush: cpp; title: ; notranslate\" title=\"\">\r\n\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p><strong>R\u00e9sum\u00e9 :<\/strong><\/p>\n<p>Nous avons appris le r\u00f4le que joue chaque structure de DirectX 10 afin de mieux comprendre son fonctionnement.<\/p>\n<p><strong>R\u00e9f\u00e9rences :<\/strong><\/p>\n<p>&#8211; DirectX June 2010 SDK Documentation<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Intro : DirectX 10 utilise diff\u00e9rentes structures pour se configurer. Il peut \u00eatre utile de les conna\u00eetre afin de maitriser l&rsquo;initialisation de DirectX 10. [\u00e0 faire] \u00a0\u00a0\u00a0 D3D10_TEXTURE2D_DESC textureDesc; D3D10_RENDER_TARGET_VIEW_DESC renderTargetViewDesc; D3D10_SHADER_RESOURCE_VIEW_DESC shaderResourceViewDesc; Les voici \u00e9num\u00e9r\u00e9es : &#8211; DXGI_SWAP_CHAIN_DESC : &#8211; utilis\u00e9e pour configurer la Swap Chain au tout d\u00e9but de l&rsquo;initialisation de DirectX &#8211; [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[7],"tags":[],"_links":{"self":[{"href":"https:\/\/www.la-porte-des-nebuleuses.net\/blog-informatique\/index.php?rest_route=\/wp\/v2\/posts\/2764"}],"collection":[{"href":"https:\/\/www.la-porte-des-nebuleuses.net\/blog-informatique\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.la-porte-des-nebuleuses.net\/blog-informatique\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.la-porte-des-nebuleuses.net\/blog-informatique\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.la-porte-des-nebuleuses.net\/blog-informatique\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2764"}],"version-history":[{"count":71,"href":"https:\/\/www.la-porte-des-nebuleuses.net\/blog-informatique\/index.php?rest_route=\/wp\/v2\/posts\/2764\/revisions"}],"predecessor-version":[{"id":3790,"href":"https:\/\/www.la-porte-des-nebuleuses.net\/blog-informatique\/index.php?rest_route=\/wp\/v2\/posts\/2764\/revisions\/3790"}],"wp:attachment":[{"href":"https:\/\/www.la-porte-des-nebuleuses.net\/blog-informatique\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2764"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.la-porte-des-nebuleuses.net\/blog-informatique\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2764"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.la-porte-des-nebuleuses.net\/blog-informatique\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2764"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}