{"id":3140,"date":"2015-07-12T16:20:46","date_gmt":"2015-07-12T16:20:46","guid":{"rendered":"http:\/\/anthroponaute.fr\/blog-informatique\/?p=3140"},"modified":"2015-07-13T07:19:59","modified_gmt":"2015-07-13T07:19:59","slug":"differents-types-de-declaration-de-vertex-pour-directx-10","status":"publish","type":"post","link":"https:\/\/www.la-porte-des-nebuleuses.net\/blog-informatique\/?p=3140","title":{"rendered":"Diff\u00e9rents types de d\u00e9clarations de vertex pour DirectX 10"},"content":{"rendered":"<p><strong><a href=\"https:\/\/anthropoya.cluster014.ovh.net\/blog-informatique\/wp-content\/uploads\/2015\/03\/nvidia-quadro-graphics-card1.jpg\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone  wp-image-1363\" src=\"https:\/\/anthropoya.cluster014.ovh.net\/blog-informatique\/wp-content\/uploads\/2015\/03\/nvidia-quadro-graphics-card1.jpg\" alt=\"nvidia-quadro-graphics-card\" width=\"369\" height=\"247\" srcset=\"https:\/\/www.la-porte-des-nebuleuses.net\/blog-informatique\/wp-content\/uploads\/2015\/03\/nvidia-quadro-graphics-card1.jpg 1280w, https:\/\/www.la-porte-des-nebuleuses.net\/blog-informatique\/wp-content\/uploads\/2015\/03\/nvidia-quadro-graphics-card1-300x201.jpg 300w, https:\/\/www.la-porte-des-nebuleuses.net\/blog-informatique\/wp-content\/uploads\/2015\/03\/nvidia-quadro-graphics-card1-1024x685.jpg 1024w, https:\/\/www.la-porte-des-nebuleuses.net\/blog-informatique\/wp-content\/uploads\/2015\/03\/nvidia-quadro-graphics-card1-624x417.jpg 624w\" sizes=\"(max-width: 369px) 100vw, 369px\" \/><\/a><\/strong><\/p>\n<p><strong>Intro :<\/strong><\/p>\n<p>Dans nos programmes de rendu 3D nous avons besoin d&rsquo;utiliser diff\u00e9rents types de <strong>configurations<\/strong> de vertex.<\/p>\n<p><strong>Pr\u00e9requis :<br \/>\n<\/strong><\/p>\n<p>&#8211; Savoir utiliser les Vertex Input Layouts. Voir cet article.<\/p>\n<p><strong>Explications :<\/strong><\/p>\n<p>Les voici :<\/p>\n<pre class=\"brush: cpp; title: ; notranslate\" title=\"\">\r\nstruct PTNVertex\r\n{\r\n\u00a0\u00a0\u00a0 D3DXVECTOR3 position;\r\n\u00a0\u00a0\u00a0 D3DXVECTOR2 texture;\r\n\u00a0\u00a0\u00a0 D3DXVECTOR3 normal;\r\n};\r\n\r\nstruct PTVertex\r\n{\r\n\u00a0\u00a0\u00a0 D3DXVECTOR3 pos;\r\n\u00a0\u00a0\u00a0 D3DXVECTOR2 texture;\r\n};\r\n\r\nstruct PNVertex\r\n{\r\n\u00a0\u00a0\u00a0 D3DXVECTOR3 pos;\r\n\u00a0\u00a0\u00a0 D3DXVECTOR3 normal;\r\n};\r\n\r\nstruct PCVertex\r\n{\r\n\u00a0\u00a0 \u00a0D3DXVECTOR3 position;\r\n\u00a0\u00a0 \u00a0D3DXCOLOR color;\r\n};\r\n\r\nstruct PTCVertex\r\n{\r\n\u00a0\u00a0 \u00a0D3DXVECTOR3 pos;\r\n\u00a0\u00a0\u00a0 D3DXVECTOR2 texture;\r\n\u00a0\u00a0 \u00a0D3DXCOLOR color;\r\n};\r\n\r\nstruct PTNTBVertex\r\n{\r\n\u00a0\u00a0 \u00a0D3DXVECTOR3 position;\r\n\u00a0\u00a0 \u00a0D3DXVECTOR2 texture;\r\n\u00a0\u00a0 \u00a0D3DXVECTOR3 normal;\r\n\u00a0\u00a0 \u00a0D3DXVECTOR3 tangent;\r\n\u00a0\u00a0 \u00a0D3DXVECTOR3 binormal;\r\n};\r\n\r\nstatic D3D10_INPUT_ELEMENT_DESC layoutPTN[] =\r\n{\r\n\u00a0\u00a0 \u00a0{ &quot;POSITION&quot;, 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, 0, D3D10_INPUT_PER_VERTEX_DATA, 0 },\r\n\u00a0\u00a0 \u00a0{ &quot;TEXCOORD&quot;, 0, DXGI_FORMAT_R32G32_FLOAT, 0, 12, D3D10_INPUT_PER_VERTEX_DATA, 0 },\r\n\u00a0\u00a0 \u00a0{ &quot;NORMAL&quot;, 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, 20, D3D10_INPUT_PER_VERTEX_DATA, 0 },\r\n};\r\n\r\nstatic D3D10_INPUT_ELEMENT_DESC layoutPN[] =\r\n{\r\n\u00a0\u00a0 \u00a0{ &quot;POSITION&quot;, 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, 0, D3D10_INPUT_PER_VERTEX_DATA, 0 },\r\n\u00a0\u00a0 \u00a0{ &quot;NORMAL&quot;, 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, 12, D3D10_INPUT_PER_VERTEX_DATA, 0 },\r\n};\r\n\r\nstatic D3D10_INPUT_ELEMENT_DESC layoutPC[] =\r\n{\r\n\u00a0\u00a0 \u00a0{ &quot;POSITION&quot;, 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, 0, D3D10_INPUT_PER_VERTEX_DATA, 0 },\r\n\u00a0\u00a0 \u00a0{ &quot;COLOR&quot;, 0, DXGI_FORMAT_R32G32B32A32_FLOAT, 0, 12, D3D10_INPUT_PER_VERTEX_DATA, 0 },\r\n};\r\n\r\nstatic D3D10_INPUT_ELEMENT_DESC layoutPTNTB[] =\r\n{\r\n\u00a0\u00a0 \u00a0{ &quot;POSITION&quot;, 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, 0, D3D10_INPUT_PER_VERTEX_DATA, 0 },\r\n\u00a0\u00a0 \u00a0{ &quot;TEXCOORD&quot;, 0, DXGI_FORMAT_R32G32_FLOAT, 0, 12, D3D10_INPUT_PER_VERTEX_DATA, 0 },\r\n\u00a0\u00a0 \u00a0{ &quot;NORMAL&quot;, 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, 20, D3D10_INPUT_PER_VERTEX_DATA, 0 },\r\n\u00a0\u00a0 \u00a0{ &quot;TANGENT&quot;, 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, 32, D3D10_INPUT_PER_VERTEX_DATA, 0 },\r\n\u00a0\u00a0 \u00a0{ &quot;BINORMAL&quot;, 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, 44, D3D10_INPUT_PER_VERTEX_DATA, 0 },\r\n};\r\n\r\nstatic D3D10_INPUT_ELEMENT_DESC layoutWater[] =\r\n{\r\n\u00a0\u00a0 \u00a0{ &quot;POSITION&quot;, 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, 0, D3D10_INPUT_PER_VERTEX_DATA, 0 },\r\n\u00a0\u00a0 \u00a0{ &quot;TEXCOORD&quot;, 0, DXGI_FORMAT_R32G32_FLOAT, 0, 12, D3D10_INPUT_PER_VERTEX_DATA, 0 },\r\n\u00a0\u00a0 \u00a0{ &quot;TEXCOORD&quot;, 1, DXGI_FORMAT_R32G32_FLOAT, 0, 20, D3D10_INPUT_PER_VERTEX_DATA, 0 },\r\n};\r\n\r\nstatic D3D10_INPUT_ELEMENT_DESC layoutPT[] =\r\n{\r\n\u00a0\u00a0 \u00a0{ &quot;POSITION&quot;, 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, 0, D3D10_INPUT_PER_VERTEX_DATA, 0 },\r\n\u00a0\u00a0 \u00a0{ &quot;TEXCOORD&quot;, 0, DXGI_FORMAT_R32G32_FLOAT, 0, 12, D3D10_INPUT_PER_VERTEX_DATA, 0 },\r\n};\r\n\r\nstatic D3D10_INPUT_ELEMENT_DESC layoutPTC[] =\r\n{\r\n\u00a0\u00a0 \u00a0{ &quot;POSITION&quot;, 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, 0, D3D10_INPUT_PER_VERTEX_DATA, 0 },\r\n\u00a0\u00a0 \u00a0{ &quot;TEXCOORD&quot;, 0, DXGI_FORMAT_R32G32_FLOAT, 0, 12, D3D10_INPUT_PER_VERTEX_DATA, 0 },\r\n\u00a0\u00a0 \u00a0{ &quot;COLOR&quot;, 0, DXGI_FORMAT_R32G32B32A32_FLOAT, 0, 20, D3D10_INPUT_PER_VERTEX_DATA, 0 },\r\n};\r\n\r\nenum VertexLayoutType\r\n{\r\n\u00a0\u00a0 \u00a0PTN_VERTEX, \/\/ Position, texture, normal\r\n\u00a0\u00a0 \u00a0PT_VERTEX,\r\n\u00a0\u00a0 \u00a0PN_VERTEX,\u00a0 \/\/ Position, normal\r\n\u00a0\u00a0 \u00a0PC_VERTEX, \/\/ Position, couleur\r\n\u00a0\u00a0 \u00a0PTC_VERTEX,\r\n\u00a0\u00a0 \u00a0PTNTB_VERTEX \/\/ Position, texture, normal, bitangente et binormale\r\n};\r\n\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p><strong>R\u00e9sum\u00e9 :<\/strong><\/p>\n<p>Nous avons pr\u00e9sent\u00e9 diff\u00e9rents types de configurations de vertex dont vous pouvez vous inspirer.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Intro : Dans nos programmes de rendu 3D nous avons besoin d&rsquo;utiliser diff\u00e9rents types de configurations de vertex. Pr\u00e9requis : &#8211; Savoir utiliser les Vertex Input Layouts. Voir cet article. Explications : Les voici : &nbsp; R\u00e9sum\u00e9 : Nous avons pr\u00e9sent\u00e9 diff\u00e9rents types de configurations de vertex dont vous pouvez vous inspirer.<\/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\/3140"}],"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=3140"}],"version-history":[{"count":8,"href":"https:\/\/www.la-porte-des-nebuleuses.net\/blog-informatique\/index.php?rest_route=\/wp\/v2\/posts\/3140\/revisions"}],"predecessor-version":[{"id":3166,"href":"https:\/\/www.la-porte-des-nebuleuses.net\/blog-informatique\/index.php?rest_route=\/wp\/v2\/posts\/3140\/revisions\/3166"}],"wp:attachment":[{"href":"https:\/\/www.la-porte-des-nebuleuses.net\/blog-informatique\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3140"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.la-porte-des-nebuleuses.net\/blog-informatique\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3140"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.la-porte-des-nebuleuses.net\/blog-informatique\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3140"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}