<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://msmvps.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Graphic Stream : Effect</title><link>http://msmvps.com/blogs/valentin/archive/tags/Effect/default.aspx</link><description>Tags: Effect</description><dc:language>en</dc:language><generator>CommunityServer 2008.5 SP2 (Build: 40407.4157)</generator><item><title>Annexe : Billboard en Xna</title><link>http://msmvps.com/blogs/valentin/archive/2007/03/09/annexe-billboard-en-xna.aspx</link><pubDate>Fri, 09 Mar 2007 15:17:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:659693</guid><dc:creator>valentin</dc:creator><slash:comments>17</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/valentin/rsscomments.aspx?PostID=659693</wfw:commentRss><comments>http://msmvps.com/blogs/valentin/archive/2007/03/09/annexe-billboard-en-xna.aspx#comments</comments><description>&lt;p&gt;&lt;em&gt;&lt;img style="WIDTH:24px;HEIGHT:24px;" height="24" src="http://msmvps.com/photos/valentin/images/887626/original.aspx" width="24" align="absMiddle" border="1" alt="" /&gt;&lt;/em&gt;&lt;font style="BACKGROUND-COLOR:#ffff00;"&gt;Retourner au &lt;/font&gt;&lt;a class="" href="http://msmvps.com/blogs/valentin/archive/2007/03/30/tutoriaux-xna-sommaire-g-n-ral.aspx"&gt;&lt;font style="BACKGROUND-COLOR:#ffff00;"&gt;sommaire des cours&lt;/font&gt;&lt;/a&gt;&amp;nbsp;&lt;em&gt;&amp;nbsp;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Le billboard est un élément essentiel pour décharger le GPU de l&amp;#39;affichages de formes complexes.&amp;nbsp;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Un billboard (en français&amp;nbsp;&amp;quot;panneau&amp;quot;) est un plan&amp;nbsp;simulant un objet 3D. Le principe des billboards est de toujours faire face à la caméra : ainsi quelque soit l&amp;#39;endroit d&amp;#39;où on les regarde, ils donneront toujours&amp;nbsp; l&amp;#39;illusion que l&amp;#39;image qui les texture est une forme 3D.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;L&amp;#39;avantage est de réduire énormément la complexité de la scène, puisque l&amp;#39;on va pouvoir remplacer des objets potentiellement complexes par deux simples triangles texturés formant le carré (ou plan). La texture bien entendu doit être de qualité et si possible faire partie d&amp;#39;une animation.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Les billboards sont utilisés pour la végétation, les explosions, les effets météorologique (nuages, ...), ou encore des objets très lointains pour lesquels on ne pourra que très difficilement déceler le trucage.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Jusqu&amp;#39;à présent avec DirectX pour créer un billboard on devait travailler sur la matrice de vue ou créer de toute pièce une matrice de transformation&amp;nbsp;à partir de la position de la caméra. En Xna tout est plus simple, il nous suffit d&amp;#39;appeller une méthode&lt;/em&gt;&lt;font color="#000000"&gt;&lt;em&gt; statique de la classe &lt;/em&gt;&lt;font face="Courier New"&gt;&lt;span style="COLOR:teal;"&gt;Matrix&lt;/span&gt;&lt;/font&gt;&lt;em&gt;&amp;nbsp;nommée&lt;/em&gt;&lt;/font&gt;&lt;font color="#cc0000"&gt;&lt;em&gt; &lt;/em&gt;&lt;/font&gt;&lt;font color="#000000"&gt;&lt;font face="Courier New"&gt;CreateBillboard&lt;/font&gt;&lt;em&gt;.&lt;/em&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Nous verrons trois samples pour mettre en évidence l&amp;#39;utilité de cette technique.Un sample de présentation qui va montrer de manière explicite le billboard en action, un sample qui mettra en évidence l&amp;#39;effet réaliste que produit le billboarding (nous repredrons un sample du SDK Direct) et enfin un sample identique au précédent mais avec des animations.&lt;/em&gt;&lt;/p&gt;&lt;em&gt;&lt;em&gt;
&lt;p&gt;&lt;em&gt;&lt;/em&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;font style="BACKGROUND-COLOR:#ffff00;"&gt;&lt;strong&gt;Vous devez avoir lu les tutoriaux Xna jusqu&amp;#39;au chapitre 8 pour comprendre ce cours.&lt;/strong&gt;&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;&lt;/em&gt;
&lt;p&gt;&lt;em&gt;&lt;font style="BACKGROUND-COLOR:#ffff00;"&gt;&lt;strong&gt;Les billboards utilisés ici exploitent la méthode CreateBillboard de la classe Matrix et n&amp;#39;utilisent en rien les fichiers effets.&lt;/strong&gt;&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;&lt;/em&gt;&lt;em&gt;&lt;/em&gt;
&lt;p&gt;&lt;font size="4"&gt;&lt;strong&gt;Premier sample&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;Dans ce premier sample nous allons afficher deux objets : un cube tout d&amp;#39;abord dont la taille sera augmentée de telle sorte que la camera se trouvera à l&amp;#39;intérieur. Ses parois serviront alors de référence lorsque nous déplacerons la caméra à l&amp;#39;aide de la souris. Ensuite un objet billboard. Il s&amp;#39;agira tout simplement d&amp;#39;une face carrée composée de deux triangles. En &amp;quot;marche&amp;quot; normale, ce billboard sera desactivé et tournera de manière solidaire avec le cube lorsque la caméra sera déplacée. Mais lorsqu&amp;#39;on appuyera sur la touche &amp;quot;Espace&amp;quot;, le billboard présentera toujours sa face texturée à la caméra, et ceci, quelque soit la position de cette dernière.&lt;/p&gt;
&lt;p&gt;&lt;font size="3"&gt;&lt;strong&gt;La classe Billboard&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;Sur le plan technique 3D notre classe sera relativement simple. Elle n&amp;#39;aura pour tâche que d&amp;#39;afficher un simple plan 3D composé de deux triangles isocèles rectangles. Le plan sera texturé et de couleur paramétrable. La classe disposera d&amp;#39;une méthode Update permettant au billboard de se repositionner par rapport à la position de la caméra, par rapport au point vers lequel la caméra regarde et enfin par rapport à la normale de la caméra. Enfin une propriété sera ajoutée -pour les besoins de l&amp;#39;exemple-&amp;nbsp;permettant d&amp;#39;activer ou de desactiver le billboard. Terminons en ajoutant qu&amp;#39;elle hérite de la classe mère &lt;span style="COLOR:teal;"&gt;&lt;font face="Courier New"&gt;TransformBase&lt;/font&gt;&lt;/span&gt;&amp;nbsp;qui a été présentée &lt;a class="" href="http://msmvps.com/blogs/valentin/archive/2007/02/05/azrr.aspx" target="_blank"&gt;ici&lt;/a&gt;. 
&lt;p&gt;Analysons son code :&lt;/p&gt;&lt;span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="FONT-SIZE:10pt;COLOR:gray;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;///&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:green;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; &lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:gray;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&amp;lt;summary&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:gray;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;///&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:green;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; &lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:gray;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&amp;lt;para&amp;gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:green;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;Defines a billboard object.&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:gray;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&amp;lt;/para&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:gray;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;///&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:green;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; &lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:gray;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&amp;lt;/summary&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:gray;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;///&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:green;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; &lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:gray;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&amp;lt;remarks&amp;gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:green;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;A billboard object always present its face in front of the camera.&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:gray;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&amp;lt;/remarks&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;public&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;class&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;Billboard&lt;/span&gt;&lt;font color="#000000"&gt; : &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;TransformBase&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;{&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;private&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;GraphicsDevice&lt;/span&gt;&lt;font color="#000000"&gt; _device;&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;private&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;VertexBuffer&lt;/span&gt;&lt;font color="#000000"&gt; _vertexBuffer = &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;null&lt;/span&gt;&lt;font color="#000000"&gt;;&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;private&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;Color&lt;/span&gt;&lt;font color="#000000"&gt; _color = &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;Color&lt;/span&gt;&lt;font color="#000000"&gt;.TransparentWhite;&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;private&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;Texture2D&lt;/span&gt;&lt;font color="#000000"&gt; _texture;&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;private&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;BasicEffect&lt;/span&gt;&lt;font color="#000000"&gt; _effect;&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;private&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;bool&lt;/span&gt;&lt;font color="#000000"&gt; _activated;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;private&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;Matrix&lt;/span&gt;&lt;font color="#000000"&gt; _billboardMatrix = &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;Matrix&lt;/span&gt;&lt;font color="#000000"&gt;.Identity;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;///&lt;/span&gt;&lt;span style="COLOR:green;"&gt; &lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;///&lt;/span&gt;&lt;span style="COLOR:green;"&gt; &lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;para&amp;gt;&lt;/span&gt;&lt;span style="COLOR:green;"&gt;Gets or sets a value indicating if the biilboard is activated.&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;/para&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;///&lt;/span&gt;&lt;span style="COLOR:green;"&gt; &lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;public&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;bool&lt;/span&gt;&lt;font color="#000000"&gt; Activated&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;get&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;return&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._activated;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;set&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._activated = &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;value&lt;/span&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;///&lt;/span&gt;&lt;span style="COLOR:green;"&gt; &lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;///&lt;/span&gt;&lt;span style="COLOR:green;"&gt; &lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;para&amp;gt;&lt;/span&gt;&lt;span style="COLOR:green;"&gt;Gets or sets the cube&amp;#39;s texture.&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;/para&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;///&lt;/span&gt;&lt;span style="COLOR:green;"&gt; &lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;public&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;Texture2D&lt;/span&gt;&lt;font color="#000000"&gt; Texture&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;get&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;return&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._texture;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;set&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._texture = &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;value&lt;/span&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._effect.Texture = &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;value&lt;/span&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;///&lt;/span&gt;&lt;span style="COLOR:green;"&gt; &lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;///&lt;/span&gt;&lt;span style="COLOR:green;"&gt; &lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;para&amp;gt;&lt;/span&gt;&lt;span style="COLOR:green;"&gt;Gets the cube&amp;#39;s effect.&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;/para&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;///&lt;/span&gt;&lt;span style="COLOR:green;"&gt; &lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;public&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;BasicEffect&lt;/span&gt;&lt;font color="#000000"&gt; Effect&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;get&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;return&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._effect;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;///&lt;/span&gt;&lt;span style="COLOR:green;"&gt; &lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;///&lt;/span&gt;&lt;span style="COLOR:green;"&gt; &lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;para&amp;gt;&lt;/span&gt;&lt;span style="COLOR:green;"&gt;Gets or sets the Cube&amp;#39;s color.&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;/para&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;///&lt;/span&gt;&lt;span style="COLOR:green;"&gt; &lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;public&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;Color&lt;/span&gt;&lt;font color="#000000"&gt; Color&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;get&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;return&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._color;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;&lt;span style="COLOR:blue;"&gt;set&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._color = &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;value&lt;/span&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;public&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;void&lt;/span&gt;&lt;font color="#000000"&gt; Load(&lt;/font&gt;&lt;span style="COLOR:teal;"&gt;GraphicsDevice&lt;/span&gt;&lt;font color="#000000"&gt; device)&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._device = device;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;.InitializeVertices();&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;.InitializeEffect();&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;private&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;void&lt;/span&gt;&lt;font color="#000000"&gt; InitializeEffect()&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._effect = &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;new&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;BasicEffect&lt;/span&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._device, &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;null&lt;/span&gt;&lt;font color="#000000"&gt;);&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._effect.VertexColorEnabled = &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;true&lt;/span&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._effect.TextureEnabled = &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;true&lt;/span&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;private&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;void&lt;/span&gt;&lt;font color="#000000"&gt; InitializeVertices()&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:teal;"&gt;VertexPositionColorTexture&lt;/span&gt;&lt;font color="#000000"&gt;[] vertices = &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;new&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;VertexPositionColorTexture&lt;/span&gt;&lt;font color="#000000"&gt;[4];&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;vertices[0].Position = &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;new&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;Vector3&lt;/span&gt;&lt;font color="#000000"&gt;(-100.5f, 100.5f, 0);&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;vertices[0].Color = &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;.Color;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;vertices[0].TextureCoordinate = &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;new&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;Vector2&lt;/span&gt;&lt;font color="#000000"&gt;(0, 0);&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;vertices[1].Position = &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;new&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;Vector3&lt;/span&gt;&lt;font color="#000000"&gt;(100.5f, 100.5f, 0);&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;vertices[1].Color = &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;.Color;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;vertices[1].TextureCoordinate = &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;new&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;Vector2&lt;/span&gt;&lt;font color="#000000"&gt;(1, 0);&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;vertices[2].Position = &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;new&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;Vector3&lt;/span&gt;&lt;font color="#000000"&gt;(100.5f, -100.5f, 0);&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;vertices[2].Color = &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;.Color;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;vertices[2].TextureCoordinate = &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;new&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;Vector2&lt;/span&gt;&lt;font color="#000000"&gt;(1, 1);&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;vertices[3].Position = &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;new&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;Vector3&lt;/span&gt;&lt;font color="#000000"&gt;(-100.5f, -100.5f, 0);&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;vertices[3].Color = &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;.Color;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;vertices[3].TextureCoordinate = &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;new&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;Vector2&lt;/span&gt;&lt;font color="#000000"&gt;(0, 1);&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._vertexBuffer = &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;new&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;VertexBuffer&lt;/span&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._device,&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;typeof&lt;/span&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;span style="COLOR:teal;"&gt;VertexPositionColorTexture&lt;/span&gt;&lt;font color="#000000"&gt;),&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;4,&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:teal;"&gt;ResourceUsage&lt;/span&gt;&lt;font color="#000000"&gt;.WriteOnly,&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:teal;"&gt;ResourceManagementMode&lt;/span&gt;&lt;font color="#000000"&gt;.Automatic);&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._vertexBuffer.SetData(vertices);&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;///&lt;/span&gt;&lt;span style="COLOR:green;"&gt; &lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;///&lt;/span&gt;&lt;span style="COLOR:green;"&gt; &lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;para&amp;gt;&lt;/span&gt;&lt;span style="COLOR:green;"&gt;Render the cube on the device.&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;/para&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;///&lt;/span&gt;&lt;span style="COLOR:green;"&gt; &lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;public&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;void&lt;/span&gt;&lt;font color="#000000"&gt; Render()&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._device.RenderState.CullMode = &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;CullMode&lt;/span&gt;&lt;font color="#000000"&gt;.None;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._effect.Begin();&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._effect.World = (&lt;/font&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._activated ? &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._billboardMatrix : &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;Matrix&lt;/span&gt;&lt;font color="#000000"&gt;.Identity)*&lt;/font&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;.Transform;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;foreach&lt;/span&gt;&lt;font color="#000000"&gt; (&lt;/font&gt;&lt;span style="COLOR:teal;"&gt;EffectPass&lt;/span&gt;&lt;font color="#000000"&gt; pass &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;in&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._effect.CurrentTechnique.Passes)&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;pass.Begin();&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._device.Textures[0] = &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;.Texture;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._device.Vertices[0].SetSource(&lt;/font&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._vertexBuffer, 0, &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;VertexPositionColorTexture&lt;/span&gt;&lt;font color="#000000"&gt;.SizeInBytes);&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._device.VertexDeclaration = &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;new&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;VertexDeclaration&lt;/span&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._device, &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;VertexPositionColorTexture&lt;/span&gt;&lt;font color="#000000"&gt;.VertexElements);&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._device.DrawPrimitives(&lt;/font&gt;&lt;span style="COLOR:teal;"&gt;PrimitiveType&lt;/span&gt;&lt;font color="#000000"&gt;.TriangleFan, 0, 2);&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;pass.End();&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._effect.End();&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._device.RenderState.CullMode = &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;CullMode&lt;/span&gt;&lt;font color="#000000"&gt;.CullClockwiseFace;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;public&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;void&lt;/span&gt;&lt;font color="#000000"&gt; Update(&lt;/font&gt;&lt;span style="COLOR:teal;"&gt;GameTime&lt;/span&gt;&lt;font color="#000000"&gt; gameTime, &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;Vector3&lt;/span&gt;&lt;font color="#000000"&gt; cameraPosition, &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;Vector3&lt;/span&gt;&lt;font color="#000000"&gt; cameraLookAt, &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;Vector3&lt;/span&gt;&lt;font color="#000000"&gt; cameraUpVector)&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;_billboardMatrix = &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;Matrix&lt;/span&gt;&lt;font color="#000000"&gt;.CreateBillboard(&lt;/font&gt;&lt;span style="COLOR:teal;"&gt;Vector3&lt;/span&gt;&lt;font color="#000000"&gt;.Zero, &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;.Position - cameraPosition, cameraUpVector, cameraLookAt);&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;&lt;/span&gt;&lt;/span&gt; 
&lt;p&gt;Aucune réelle difficulté pour comprendre ce code. Seules deux instructions seront portées à notre attention. La première se trouve dans la méthode Update :&lt;/p&gt;&amp;nbsp;&lt;font face="Courier New"&gt;_billboardMatrix = &lt;span style="COLOR:teal;"&gt;Matrix&lt;/span&gt;.CreateBillboard(&lt;span style="COLOR:teal;"&gt;Vector3&lt;/span&gt;.Zero, &lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;.Position-cameraPosition, cameraUpVector, cameraLookAt);&lt;/font&gt; 
&lt;p&gt;&amp;nbsp;Elle charge dans la variable &lt;font face="Courier New"&gt;_billboardMatrix&amp;nbsp;&lt;/font&gt;&amp;nbsp;une matrice de billboard renvoyée par la méthode &lt;font face="Courier New"&gt;&lt;span style="COLOR:teal;"&gt;Matrix&lt;/span&gt;.CreateBillboard&lt;/font&gt;. Comment savoir vers où diriger la face du billboard ? En y reflechissant bien, nous n&amp;#39;avons besoin de connaître que quatre propriétés : &lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;div&gt;La position de l&amp;#39;objet.&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;La position de la caméra.&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Le point vers lequel regarde la caméra&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;La normale de la caméra.&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;C&amp;#39;est justement ce que demande cette méthode. Pour l&amp;#39;heure (10/03/07)&amp;nbsp;elle semble être bugguée. Normalement on lui passe la position de l&amp;#39;objet courant en premier paramètre, la position de la caméra en second paramètre, la normale de la caméra en avant dernier paramètre et enfin le point vers lequel la caméra regarde. Faire cela ne fonctionne que si votre objet se trouve en (0, 0, 0). Pas terrible... Si l&amp;#39;objet se trouve ailleur vous vous retrouvez avec un décallage équivalent à deux fois la distance de l&amp;#39;objet à l&amp;#39;origine.&amp;nbsp;L&amp;#39;astuce est de donner la valeur &lt;font face="Courier New"&gt;&lt;span style="COLOR:teal;"&gt;Vector3&lt;/span&gt;.Zero&lt;/font&gt;&amp;nbsp;en première paramètre et la soustraction de la poistion de l&amp;#39;objet par la position de la caméra (&lt;font face="Courier New"&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;.Position-cameraPosition&lt;/font&gt;)&amp;nbsp;en second.&lt;/p&gt;
&lt;p&gt;&lt;font style="BACKGROUND-COLOR:#ffff00;"&gt;Si ce bug a été corrigé à l&amp;#39;heure où vous lisez ces lignes, ou bien si c&amp;#39;est moi qui suis bugué (pas trop le temps de vérifier en ce moment :) ) merci de me l&amp;#39;&lt;/font&gt;&lt;a class="" href="http://msmvps.com/blogs/valentin/contact.aspx" target="_blank"&gt;&lt;font style="BACKGROUND-COLOR:#ffff00;"&gt;indiquer&lt;/font&gt;&lt;/a&gt;&lt;font style="BACKGROUND-COLOR:#ffff00;"&gt;.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;La seconde instruction se trouve dans la méthode Render :&lt;/p&gt;&lt;font face="Courier New"&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;._effect.World = (&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;._activated ? &lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;._billboardMatrix : &lt;span style="COLOR:teal;"&gt;Matrix&lt;/span&gt;.Identity)*&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;.Transform;&lt;/font&gt; 
&lt;p&gt;Ici, si le billboarding est activé nous affectons à la matrice &lt;font face="Courier New"&gt;World&lt;/font&gt;&amp;nbsp;le résultat de la multplication de&amp;nbsp;la matrice de &lt;font face="Courier New"&gt;_billboardMatrix&lt;/font&gt; par la matrice de transformation (position de l&amp;#39;objet, taille, rotation). Sinon &lt;font face="Courier New"&gt;World&lt;/font&gt; prend pour valeur le contenu de &lt;font face="Courier New"&gt;Transform&lt;/font&gt;.&lt;/p&gt;
&lt;p&gt;Le reste du code est assez simple pour être assimilé et compris sans être présenté ici. Si vous exécutez l&amp;#39;application vous verrez apparaitre les parois de notre cube et le billboard au centre de celui-ci. En déplaçant la souris sans appuyer sur Enter un affichage similaire à l&amp;#39;animation suivante se produit :&lt;/p&gt;
&lt;p&gt;&lt;img title="Pas de billboard activé, le billboard tourne de manière solidaire avec le cube." style="WIDTH:400px;HEIGHT:400px;" height="400" alt="Pas de billboard activé, le billboard tourne de manière solidaire avec le cube." src="http://msmvps.com/photos/valentin/images/671933/original.aspx" width="400" align="absMiddle" border="2" /&gt;&lt;/p&gt;
&lt;p&gt;On remarque que le billboard au centre du cube tourne de manière solidaire avec le cube et se présente donc sous une infinité d&amp;#39;angles à la caméra. Si vous appuyez sur Espace, l&amp;#39;affichage change comme ceci :&lt;/p&gt;
&lt;p&gt;&lt;img title="Le billboard activé reste toujours face à la caméra" style="WIDTH:400px;HEIGHT:400px;" height="400" alt="Le billboard activé reste toujours face à la caméra" src="http://msmvps.com/photos/valentin/images/672026/original.aspx" width="400" align="absMiddle" border="2" /&gt;&lt;/p&gt;
&lt;p&gt;Cette fois, le billboard reste face à la caméra quelque soit la position de cette dernière.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Si cet exemple illustre parfaitement le principe des billboards, il ne met pas en evidence de manière flagrante leur avantage. Ce sera l&amp;#39;objet de notre second Sample.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;font size="4"&gt;&lt;strong&gt;Second sample&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;Un exemple bien plus ludique nous attend. Une foret va être affichée sur un territoire valonné. Chaque arbre sera en fait un billboard et donnera l&amp;#39;illusion d&amp;#39;être un modèle 3D complexe. Aucune action utilisateur ici, le développeur admirera juste le rendu (ce qui est déjà très bien ...).&lt;/p&gt;
&lt;p&gt;&lt;font size="3"&gt;&lt;strong&gt;Le code&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;Il faut, pour bien comprendre les effets de transparences utilisés ici, avoir lu le &lt;a class="" href="http://msmvps.com/blogs/valentin/archive/2007/02/12/xna-tutorial-8-les-textures.aspx" target="_blank"&gt;chapitre 8&lt;/a&gt; jusqu&amp;#39;au point portant sur les effets spéciaux et blending (inclu).&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;Ici, seules deux classes ont été modifiées en profondeur, la classe &lt;span style="COLOR:teal;"&gt;&lt;font face="Courier New"&gt;Game1&lt;/font&gt;&lt;/span&gt; et la classe &lt;span style="COLOR:teal;"&gt;&lt;font face="Courier New"&gt;Region&lt;/font&gt;&lt;/span&gt;. La première va avoir pour tâche d&amp;#39;afficher X billboards texturés avec une image d&amp;#39;arbre. Elle leur donnera une position, une taille et une couleur différente.&amp;nbsp;La classe Region va simplement afficher un relief en utilisant des fonctions trigonométriques pour valonner le paysage.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Le relief&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Le relief visible dans l&amp;#39;image ci-dessous se réalise par l&amp;#39;intermédiaire d&amp;#39;une méthode retournant une altitude en fonction d&amp;#39;une abscisse X et d&amp;#39;une ordonnée Y fournies.&amp;nbsp;Le calcul se base sur les fonctions trigonométriques Cosinus et Sinus :&lt;/p&gt;&lt;span style="FONT-SIZE:10pt;COLOR:gray;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="FONT-SIZE:10pt;COLOR:gray;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;///&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:green;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; &lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:gray;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:gray;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;///&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:green;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; Simple function to define &amp;quot;hilliness&amp;quot; for terrain&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:gray;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;///&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:green;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; &lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:gray;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;public&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;static&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;float&lt;/span&gt;&lt;font color="#000000"&gt; HeightField(&lt;/font&gt;&lt;span style="COLOR:blue;"&gt;float&lt;/span&gt;&lt;font color="#000000"&gt; x, &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;float&lt;/span&gt;&lt;font color="#000000"&gt; y)&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;{&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;return&lt;/span&gt;&lt;font color="#000000"&gt; 30 * ((&lt;/font&gt;&lt;span style="COLOR:blue;"&gt;float&lt;/span&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;span style="COLOR:teal;"&gt;Math&lt;/span&gt;&lt;font color="#000000"&gt;.Cos(x / 40 + 0.2f) * (&lt;/font&gt;&lt;span style="COLOR:blue;"&gt;float&lt;/span&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;span style="COLOR:teal;"&gt;Math&lt;/span&gt;&lt;font color="#000000"&gt;.Cos(y / 35 - 0.2f) + 1.0f);&lt;/font&gt;&lt;/span&gt; 
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/span&gt;
&lt;p&gt;
&lt;p&gt;Désormais, au lieu de passer la valeur 0 en profondeur Z pour chaque vertex nous donnons le résultat de cette méthode.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Les arbres&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Pour les arbres/billboards, tout se passe dans la classe &lt;span style="COLOR:teal;"&gt;&lt;font face="Courier New"&gt;Game1&lt;/font&gt;&lt;/span&gt;. Une liste générique est déclarée avec une constante indiquant le nombre d&amp;#39;arbres affichés.&lt;/p&gt;&lt;span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;private&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;const&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;int&lt;/span&gt;&lt;font color="#000000"&gt; numberOfTrees = 400;&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;private&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;List&lt;/span&gt;&lt;font color="#000000"&gt;&amp;lt;&lt;/font&gt;&lt;span style="COLOR:teal;"&gt;Billboard&lt;/span&gt;&lt;font color="#000000"&gt;&amp;gt; trees;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt; 
&lt;p&gt;Vient ensuite l&amp;#39;initialisation de chaque arbre dans la liste.&amp;nbsp;&lt;/p&gt;&lt;span style="FONT-SIZE:10pt;COLOR:teal;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="FONT-SIZE:10pt;COLOR:teal;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="FONT-SIZE:10pt;COLOR:teal;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;Random&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt; rand = &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;new&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;Random&lt;/span&gt;&lt;font color="#000000"&gt;();&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;for&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt; (&lt;/font&gt;&lt;span style="COLOR:blue;"&gt;int&lt;/span&gt;&lt;font color="#000000"&gt; i = 0; i &amp;lt; numberOfTrees; i++)&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;{&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:teal;"&gt;Billboard&lt;/span&gt;&lt;font color="#000000"&gt; tree = &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;new&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;Billboard&lt;/span&gt;&lt;font color="#000000"&gt;();&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;float&lt;/span&gt;&lt;font color="#000000"&gt; size = 4 + 8 * (&lt;/font&gt;&lt;span style="COLOR:blue;"&gt;float&lt;/span&gt;&lt;font color="#000000"&gt;)rand.NextDouble();&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;tree.Resize(size, size, size);&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;do&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;int&lt;/span&gt;&lt;font color="#000000"&gt; x = rand.Next(0, 512);&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;int&lt;/span&gt;&lt;font color="#000000"&gt; y = rand.Next(0, 512);&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;tree.Position = &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;new&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;Vector3&lt;/span&gt;&lt;font color="#000000"&gt;(x, y, &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;Region&lt;/span&gt;&lt;font color="#000000"&gt;.HeightField(x, y) + size);&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;while&lt;/span&gt;&lt;font color="#000000"&gt; (!IsTreePositionValid(tree.Position));&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;tree.Activated = &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;true&lt;/span&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;int&lt;/span&gt;&lt;font color="#000000"&gt; r = (255 - 190) + (&lt;/font&gt;&lt;span style="COLOR:blue;"&gt;int&lt;/span&gt;&lt;font color="#000000"&gt;)(190 * (&lt;/font&gt;&lt;span style="COLOR:blue;"&gt;float&lt;/span&gt;&lt;font color="#000000"&gt;)(rand.NextDouble()));&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;int&lt;/span&gt;&lt;font color="#000000"&gt; g = (255 - 190) + (&lt;/font&gt;&lt;span style="COLOR:blue;"&gt;int&lt;/span&gt;&lt;font color="#000000"&gt;)(190 * (&lt;/font&gt;&lt;span style="COLOR:blue;"&gt;float&lt;/span&gt;&lt;font color="#000000"&gt;)(rand.NextDouble()));&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;int&lt;/span&gt;&lt;font color="#000000"&gt; b = 255;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;tree.Color = &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;new&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;Color&lt;/span&gt;&lt;font color="#000000"&gt;((&lt;/font&gt;&lt;span style="COLOR:blue;"&gt;byte&lt;/span&gt;&lt;font color="#000000"&gt;)r, (&lt;/font&gt;&lt;span style="COLOR:blue;"&gt;byte&lt;/span&gt;&lt;font color="#000000"&gt;)g, (&lt;/font&gt;&lt;span style="COLOR:blue;"&gt;byte&lt;/span&gt;&lt;font color="#000000"&gt;)b, 255);&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;tree.Load(&lt;/font&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;.graphics.GraphicsDevice);&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;trees.Add(tree);&lt;/font&gt;&lt;/span&gt; 
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/span&gt;&lt;/span&gt;
&lt;p&gt;Ici une taille aléatoire, une position aléatoire et une couleur aléatoire sont données à chaque arbre. La méthode &lt;font face="Courier New"&gt;IsTreePositionValid&lt;/font&gt;&amp;nbsp;vérifie simplement que les arbres sont assez espacés. A chaque mise à jour, la métrice view est rafraichie et la méthode Update de chaque arbre est appelée avec la position de la caméra, le nouveau point vers lequel elle regarde et sa normale :&lt;/p&gt;&lt;span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;for&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt; (&lt;/font&gt;&lt;span style="COLOR:blue;"&gt;int&lt;/span&gt;&lt;font color="#000000"&gt; i = 0; i &amp;lt; numberOfTrees; i++)&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;{&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;trees&lt;img src="http://msmvps.com/emoticons/emotion-55.gif" alt="Idea" /&gt;.Effect.View = viewMatrix;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;trees&lt;img src="http://msmvps.com/emoticons/emotion-55.gif" alt="Idea" /&gt;.Update(gameTime, vEyePt, vLookatPt, &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;new&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;Vector3&lt;/span&gt;&lt;font color="#000000"&gt;(0, 0, 1f));&lt;/font&gt;&lt;/span&gt; 
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/span&gt;
&lt;p&gt;
&lt;p&gt;Notons enfin que la liste d&amp;#39;arbres est re-ordonnée à chaque Update afin d&amp;#39;afficher les arbres dans l&amp;#39;ordre de leur apparition.&lt;/p&gt;
&lt;p&gt;Le rendu final nous offre un monde possédant des arbres et de la végétation qui semble être en 3D :&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;img style="WIDTH:640px;HEIGHT:480px;" height="480" src="http://msmvps.com/photos/valentin/images/672033/original.aspx" width="640" border="2" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img style="WIDTH:640px;HEIGHT:480px;" height="480" src="http://msmvps.com/photos/valentin/images/678821/640x480.aspx" width="640" align="absMiddle" border="2" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img style="WIDTH:640px;HEIGHT:480px;" height="480" src="http://msmvps.com/photos/valentin/images/678783/640x480.aspx" width="640" align="absMiddle" border="2" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;font size="4"&gt;Dernier Sample&lt;/font&gt;&lt;/strong&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;Les billboards ont aussi une autre utilisation très utile : les effets graphiques et les animations. Nous allons ici modifier notre classe billboard de façon à permettre l&amp;#39;affichage d&amp;#39;un plan animé comme celui-ci:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;img style="WIDTH:256px;HEIGHT:256px;" height="256" src="http://msmvps.com/photos/valentin/images/678879/original.aspx" width="256" align="absMiddle" border="2" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;font size="3"&gt;&lt;strong&gt;Le code&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;La classe &lt;span style="COLOR:teal;"&gt;&lt;font face="Courier New"&gt;Billboard&lt;/font&gt;&lt;/span&gt;&amp;nbsp;se présente maintenant ainsi :&lt;/p&gt;&lt;span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;public&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;class&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;Billboard&lt;/span&gt;&lt;font color="#000000"&gt; : &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;TransformBase&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;{&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;#region&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt; Private members&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;private&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;GraphicsDevice&lt;/span&gt;&lt;font color="#000000"&gt; _device;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;private&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;Color&lt;/span&gt;&lt;font color="#000000"&gt; _color = &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;Color&lt;/span&gt;&lt;font color="#000000"&gt;.TransparentWhite;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;private&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;Texture2D&lt;/span&gt;&lt;font color="#000000"&gt; _texture;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;private&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;BasicEffect&lt;/span&gt;&lt;font color="#000000"&gt; _effect;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;private&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;bool&lt;/span&gt;&lt;font color="#000000"&gt; _activated;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;private&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;Matrix&lt;/span&gt;&lt;font color="#000000"&gt; _billboardMatrix = &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;Matrix&lt;/span&gt;&lt;font color="#000000"&gt;.Identity;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;private&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;int&lt;/span&gt;&lt;font color="#000000"&gt; _animationRows;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;private&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;int&lt;/span&gt;&lt;font color="#000000"&gt; _animationColumns;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;private&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;long&lt;/span&gt;&lt;font color="#000000"&gt; _animationFrequency;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;private&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;AnimateType&lt;/span&gt;&lt;font color="#000000"&gt; _animateType;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;private&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;List&lt;/span&gt;&lt;font color="#000000"&gt;&amp;lt;&lt;/font&gt;&lt;span style="COLOR:teal;"&gt;VertexBuffer&lt;/span&gt;&lt;font color="#000000"&gt;&amp;gt; _animations;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;private&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;VertexBuffer&lt;/span&gt;&lt;font color="#000000"&gt; _currentAnimation;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;private&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;int&lt;/span&gt;&lt;font color="#000000"&gt; _animationIndex;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;private&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;Blend&lt;/span&gt;&lt;font color="#000000"&gt; _sourceBlend;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;private&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;Blend&lt;/span&gt;&lt;font color="#000000"&gt; _destinationBlend;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;private&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;double&lt;/span&gt;&lt;font color="#000000"&gt; _lastUpdate;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;#endregion&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;#region&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt; Properties&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;///&lt;/span&gt;&lt;span style="COLOR:green;"&gt; &lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;///&lt;/span&gt;&lt;span style="COLOR:green;"&gt; &lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;para&amp;gt;&lt;/span&gt;&lt;span style="COLOR:green;"&gt;Occurs when the animation is over.&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;/para&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;///&lt;/span&gt;&lt;span style="COLOR:green;"&gt; &lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;public&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;event&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;EventHandler&lt;/span&gt;&lt;font color="#000000"&gt; AnimationEnded;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;///&lt;/span&gt;&lt;span style="COLOR:green;"&gt; &lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;///&lt;/span&gt;&lt;span style="COLOR:green;"&gt; &lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;para&amp;gt;&lt;/span&gt;&lt;span style="COLOR:green;"&gt;Gets or sets a value indicating if the biilboard is activated.&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;/para&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;///&lt;/span&gt;&lt;span style="COLOR:green;"&gt; &lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;public&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;bool&lt;/span&gt;&lt;font color="#000000"&gt; Activated&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;get&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;return&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._activated;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;set&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._activated = &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;value&lt;/span&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;///&lt;/span&gt;&lt;span style="COLOR:green;"&gt; &lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;///&lt;/span&gt;&lt;span style="COLOR:green;"&gt; &lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;para&amp;gt;&lt;/span&gt;&lt;span style="COLOR:green;"&gt;Gets or sets the number of animations on a colum for the associated texture.&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;/para&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;///&lt;/span&gt;&lt;span style="COLOR:green;"&gt; &lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;public&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;int&lt;/span&gt;&lt;font color="#000000"&gt; AnimationColumns&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;get&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;return&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._animationColumns;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;set&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;if&lt;/span&gt;&lt;font color="#000000"&gt; ((&lt;/font&gt;&lt;span style="COLOR:blue;"&gt;value&lt;/span&gt;&lt;font color="#000000"&gt; &amp;lt; 0) || (&lt;/font&gt;&lt;span style="COLOR:blue;"&gt;value&lt;/span&gt;&lt;font color="#000000"&gt; &amp;gt; 16))&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;throw&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;new&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;ArgumentOutOfRangeException&lt;/span&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;span style="COLOR:maroon;"&gt;&amp;quot;AnimationColumns&amp;quot;&lt;/span&gt;&lt;font color="#000000"&gt;, &lt;/font&gt;&lt;span style="COLOR:maroon;"&gt;&amp;quot;AnimationColumns must be filled with a value between 1 and 16&amp;quot;&lt;/span&gt;&lt;font color="#000000"&gt;);&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._animationColumns = &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;value&lt;/span&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;///&lt;/span&gt;&lt;span style="COLOR:green;"&gt; &lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;///&lt;/span&gt;&lt;span style="COLOR:green;"&gt; &lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;para&amp;gt;&lt;/span&gt;&lt;span style="COLOR:green;"&gt;Gets or sets the animation frequency/para&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;///&lt;/span&gt;&lt;span style="COLOR:green;"&gt; &lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;public&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;long&lt;/span&gt;&lt;font color="#000000"&gt; AnimationFrequency&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;get&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;return&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._animationFrequency;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;set&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._animationFrequency = &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;value&lt;/span&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;///&lt;/span&gt;&lt;span style="COLOR:green;"&gt; &lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;///&lt;/span&gt;&lt;span style="COLOR:green;"&gt; &lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;para&amp;gt;&lt;/span&gt;&lt;span style="COLOR:green;"&gt;Gets or sets the number of animations on a row for the associated texture.&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;/para&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;///&lt;/span&gt;&lt;span style="COLOR:green;"&gt; &lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;public&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;int&lt;/span&gt;&lt;font color="#000000"&gt; AnimationRows&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;get&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;return&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._animationRows;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;set&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;if&lt;/span&gt;&lt;font color="#000000"&gt; ((&lt;/font&gt;&lt;span style="COLOR:blue;"&gt;value&lt;/span&gt;&lt;font color="#000000"&gt; &amp;lt; 0) || (&lt;/font&gt;&lt;span style="COLOR:blue;"&gt;value&lt;/span&gt;&lt;font color="#000000"&gt; &amp;gt; 16))&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;throw&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;new&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;ArgumentOutOfRangeException&lt;/span&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;span style="COLOR:maroon;"&gt;&amp;quot;AnimationRows&amp;quot;&lt;/span&gt;&lt;font color="#000000"&gt;, &lt;/font&gt;&lt;span style="COLOR:maroon;"&gt;&amp;quot;AnimationRows must be filled with a value between 1 and 16&amp;quot;&lt;/span&gt;&lt;font color="#000000"&gt;);&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._animationRows = &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;value&lt;/span&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;///&lt;/span&gt;&lt;span style="COLOR:green;"&gt; &lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;///&lt;/span&gt;&lt;span style="COLOR:green;"&gt; &lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;para&amp;gt;&lt;/span&gt;&lt;span style="COLOR:green;"&gt;Gets or sets a value indicating the type of the animation.&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;/para&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;///&lt;/span&gt;&lt;span style="COLOR:green;"&gt; &lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;public&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;AnimateType&lt;/span&gt;&lt;font color="#000000"&gt; AnimateType&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;get&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;return&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._animateType;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;set&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._animateType = &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;value&lt;/span&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;///&lt;/span&gt;&lt;span style="COLOR:green;"&gt; &lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;///&lt;/span&gt;&lt;span style="COLOR:green;"&gt; &lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;para&amp;gt;&lt;/span&gt;&lt;span style="COLOR:green;"&gt;Gets or sets the Cube&amp;#39;s color.&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;/para&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;///&lt;/span&gt;&lt;span style="COLOR:green;"&gt; &lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;public&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;Color&lt;/span&gt;&lt;font color="#000000"&gt; Color&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;get&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;return&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._color;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;set&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._color = &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;value&lt;/span&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;///&lt;/span&gt;&lt;span style="COLOR:green;"&gt; &lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;///&lt;/span&gt;&lt;span style="COLOR:green;"&gt; &lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;para&amp;gt;&lt;/span&gt;&lt;span style="COLOR:green;"&gt;Gets or sets the destination blend.&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;/para&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;///&lt;/span&gt;&lt;span style="COLOR:green;"&gt; &lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;public&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;Blend&lt;/span&gt;&lt;font color="#000000"&gt; DestinationBlend&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;get&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;return&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._destinationBlend;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;set&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._destinationBlend = &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;value&lt;/span&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;///&lt;/span&gt;&lt;span style="COLOR:green;"&gt; &lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;///&lt;/span&gt;&lt;span style="COLOR:green;"&gt; &lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;para&amp;gt;&lt;/span&gt;&lt;span style="COLOR:green;"&gt;Gets the cube&amp;#39;s effect.&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;/para&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;///&lt;/span&gt;&lt;span style="COLOR:green;"&gt; &lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;public&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;BasicEffect&lt;/span&gt;&lt;font color="#000000"&gt; Effect&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;get&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;return&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._effect;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;///&lt;/span&gt;&lt;span style="COLOR:green;"&gt; &lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;///&lt;/span&gt;&lt;span style="COLOR:green;"&gt; &lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;para&amp;gt;&lt;/span&gt;&lt;span style="COLOR:green;"&gt;Gets or sets the source blend.&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;/para&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;///&lt;/span&gt;&lt;span style="COLOR:green;"&gt; &lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;public&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;Blend&lt;/span&gt;&lt;font color="#000000"&gt; SourceBlend&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;get&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;return&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._sourceBlend;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;set&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._sourceBlend = &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;value&lt;/span&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;///&lt;/span&gt;&lt;span style="COLOR:green;"&gt; &lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;///&lt;/span&gt;&lt;span style="COLOR:green;"&gt; &lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;para&amp;gt;&lt;/span&gt;&lt;span style="COLOR:green;"&gt;Gets or sets the cube&amp;#39;s texture.&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;/para&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;///&lt;/span&gt;&lt;span style="COLOR:green;"&gt; &lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;public&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;Texture2D&lt;/span&gt;&lt;font color="#000000"&gt; Texture&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;get&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;return&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._texture;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;set&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._texture = &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;value&lt;/span&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._effect.Texture = &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;value&lt;/span&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;#endregion&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;#region&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt; Constructors&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;///&lt;/span&gt;&lt;span style="COLOR:green;"&gt; &lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;///&lt;/span&gt;&lt;span style="COLOR:green;"&gt; &lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;para&amp;gt;&lt;/span&gt;&lt;span style="COLOR:green;"&gt;Empty constructors (no animations).&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;/para&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;///&lt;/span&gt;&lt;span style="COLOR:green;"&gt; &lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;public&lt;/span&gt;&lt;font color="#000000"&gt; Billboard()&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._animationIndex = 0;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._animationRows = 1;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._animationColumns = 1;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._animateType = &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;AnimateType&lt;/span&gt;&lt;font color="#000000"&gt;.None;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._animations = &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;new&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;List&lt;/span&gt;&lt;font color="#000000"&gt;&amp;lt;&lt;/font&gt;&lt;span style="COLOR:teal;"&gt;VertexBuffer&lt;/span&gt;&lt;font color="#000000"&gt;&amp;gt;();&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;///&lt;/span&gt;&lt;span style="COLOR:green;"&gt; &lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;///&lt;/span&gt;&lt;span style="COLOR:green;"&gt; &lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;para&amp;gt;&lt;/span&gt;&lt;span style="COLOR:green;"&gt;Instanciate a new Billboard with an animation.&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;/para&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;///&lt;/span&gt;&lt;span style="COLOR:green;"&gt; &lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;///&lt;/span&gt;&lt;span style="COLOR:green;"&gt; &lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;param name=&amp;quot;animationRows&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;///&lt;/span&gt;&lt;span style="COLOR:green;"&gt; &lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;param name=&amp;quot;animationColumns&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;///&lt;/span&gt;&lt;span style="COLOR:green;"&gt; &lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;param name=&amp;quot;animationFrequency&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;public&lt;/span&gt;&lt;font color="#000000"&gt; Billboard(&lt;/font&gt;&lt;span style="COLOR:blue;"&gt;int&lt;/span&gt;&lt;font color="#000000"&gt; animationRows, &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;int&lt;/span&gt;&lt;font color="#000000"&gt; animationColumns, &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;long&lt;/span&gt;&lt;font color="#000000"&gt; animationFrequency) : &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;()&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._animateType = &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;AnimateType&lt;/span&gt;&lt;font color="#000000"&gt;.Loop;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._animationColumns = animationColumns;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._animationFrequency = animationFrequency;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._animationRows = animationRows;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;#endregion&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;#region&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt; Initialization&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;public&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;void&lt;/span&gt;&lt;font color="#000000"&gt; Load(&lt;/font&gt;&lt;span style="COLOR:teal;"&gt;GraphicsDevice&lt;/span&gt;&lt;font color="#000000"&gt; device)&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._device = device;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;.InitializeVertices();&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;.InitializeEffect();&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;private&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;void&lt;/span&gt;&lt;font color="#000000"&gt; InitializeEffect()&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._effect = &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;new&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;BasicEffect&lt;/span&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._device, &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;null&lt;/span&gt;&lt;font color="#000000"&gt;);&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._effect.VertexColorEnabled = &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;true&lt;/span&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._effect.TextureEnabled = &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;true&lt;/span&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;private&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;void&lt;/span&gt;&lt;font color="#000000"&gt; InitializeVertices()&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._animations.Clear();&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;float&lt;/span&gt;&lt;font color="#000000"&gt; animationSizeU = (1f / &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;.AnimationColumns);&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;float&lt;/span&gt;&lt;font color="#000000"&gt; animationSizeV = (1f / &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;.AnimationRows);&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;for&lt;/span&gt;&lt;font color="#000000"&gt; (&lt;/font&gt;&lt;span style="COLOR:blue;"&gt;int&lt;/span&gt;&lt;font color="#000000"&gt; column = 0; column &amp;lt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;.AnimationColumns; column++)&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;for&lt;/span&gt;&lt;font color="#000000"&gt; (&lt;/font&gt;&lt;span style="COLOR:blue;"&gt;int&lt;/span&gt;&lt;font color="#000000"&gt; row = 0; row &amp;lt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;.AnimationRows; row++)&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:teal;"&gt;VertexBuffer&lt;/span&gt;&lt;font color="#000000"&gt; vertexBuffer = &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;null&lt;/span&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:teal;"&gt;VertexPositionColorTexture&lt;/span&gt;&lt;font color="#000000"&gt;[] vertices = &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;new&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;VertexPositionColorTexture&lt;/span&gt;&lt;font color="#000000"&gt;[4];&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;float&lt;/span&gt;&lt;font color="#000000"&gt; tu = 0 + animationSizeU * column;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;float&lt;/span&gt;&lt;font color="#000000"&gt; tv = 0 + animationSizeV * row;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;vertices[0].Position = &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;new&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;Vector3&lt;/span&gt;&lt;font color="#000000"&gt;(-1f, 1f, 0);&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;vertices[0].Color = &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;.Color;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;vertices[0].TextureCoordinate = &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;new&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;Vector2&lt;/span&gt;&lt;font color="#000000"&gt;(tu, tv);&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;vertices[1].Position = &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;new&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;Vector3&lt;/span&gt;&lt;font color="#000000"&gt;(1f, 1f, 0);&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;vertices[1].Color = &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;.Color;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;vertices[1].TextureCoordinate = &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;new&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;Vector2&lt;/span&gt;&lt;font color="#000000"&gt;(tu + animationSizeU, tv);&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;vertices[2].Position = &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;new&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;Vector3&lt;/span&gt;&lt;font color="#000000"&gt;(1f, -1f, 0);&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;vertices[2].Color = &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;.Color;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;vertices[2].TextureCoordinate = &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;new&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;Vector2&lt;/span&gt;&lt;font color="#000000"&gt;(tu + animationSizeU, tv + animationSizeV);&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;vertices[3].Position = &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;new&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;Vector3&lt;/span&gt;&lt;font color="#000000"&gt;(-1f, -1f, 0);&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;vertices[3].Color = &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;.Color;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;vertices[3].TextureCoordinate = &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;new&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;Vector2&lt;/span&gt;&lt;font color="#000000"&gt;(tu, tv + animationSizeV);&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;vertexBuffer = &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;new&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;VertexBuffer&lt;/span&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._device,&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;typeof&lt;/span&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;span style="COLOR:teal;"&gt;VertexPositionColorTexture&lt;/span&gt;&lt;font color="#000000"&gt;),&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;4,&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:teal;"&gt;ResourceUsage&lt;/span&gt;&lt;font color="#000000"&gt;.WriteOnly,&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:teal;"&gt;ResourceManagementMode&lt;/span&gt;&lt;font color="#000000"&gt;.Automatic);&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;vertexBuffer.SetData(vertices);&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._animations.Add(vertexBuffer);&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._currentAnimation = &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._animations[0];&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;#endregion&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;#region&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt; Render&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;///&lt;/span&gt;&lt;span style="COLOR:green;"&gt; &lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;///&lt;/span&gt;&lt;span style="COLOR:green;"&gt; &lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;para&amp;gt;&lt;/span&gt;&lt;span style="COLOR:green;"&gt;Render the cube on the device.&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;/para&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;///&lt;/span&gt;&lt;span style="COLOR:green;"&gt; &lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;public&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;void&lt;/span&gt;&lt;font color="#000000"&gt; Render()&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._effect.Begin();&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._effect.World = (&lt;/font&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._activated ? &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._billboardMatrix : &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;Matrix&lt;/span&gt;&lt;font color="#000000"&gt;.Identity) * &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;.Transform;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;foreach&lt;/span&gt;&lt;font color="#000000"&gt; (&lt;/font&gt;&lt;span style="COLOR:teal;"&gt;EffectPass&lt;/span&gt;&lt;font color="#000000"&gt; pass &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;in&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._effect.CurrentTechnique.Passes)&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;pass.Begin();&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._device.RenderState.AlphaBlendEnable = &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;true&lt;/span&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._device.RenderState.SourceBlend = &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;.SourceBlend;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._device.RenderState.DestinationBlend = &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;.DestinationBlend;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;if&lt;/span&gt;&lt;font color="#000000"&gt; (&lt;/font&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._device.GraphicsDeviceCapabilities.AlphaCompareCapabilities.SupportsGreaterEqual)&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._device.RenderState.AlphaTestEnable = &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;true&lt;/span&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._device.RenderState.ReferenceAlpha = 0x08;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._device.RenderState.AlphaFunction = &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;CompareFunction&lt;/span&gt;&lt;font color="#000000"&gt;.Greater;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._device.Textures[0] = &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;.Texture;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._device.Vertices[0].SetSource(&lt;/font&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._currentAnimation, 0, &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;VertexPositionColorTexture&lt;/span&gt;&lt;font color="#000000"&gt;.SizeInBytes);&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._device.VertexDeclaration = &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;new&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;VertexDeclaration&lt;/span&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._device, &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;VertexPositionColorTexture&lt;/span&gt;&lt;font color="#000000"&gt;.VertexElements);&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._device.DrawPrimitives(&lt;/font&gt;&lt;span style="COLOR:teal;"&gt;PrimitiveType&lt;/span&gt;&lt;font color="#000000"&gt;.TriangleFan, 0, 2);&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._device.RenderState.AlphaBlendEnable = &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;false&lt;/span&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._device.RenderState.AlphaTestEnable = &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;false&lt;/span&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;pass.End();&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._effect.End();&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;#endregion&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;#region&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt; Public methods&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;public&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;void&lt;/span&gt;&lt;font color="#000000"&gt; Update(&lt;/font&gt;&lt;span style="COLOR:teal;"&gt;GameTime&lt;/span&gt;&lt;font color="#000000"&gt; gameTime, &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;Vector3&lt;/span&gt;&lt;font color="#000000"&gt; cameraPosition, &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;Vector3&lt;/span&gt;&lt;font color="#000000"&gt; cameraLookAt, &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;Vector3&lt;/span&gt;&lt;font color="#000000"&gt; cameraUpVector)&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._billboardMatrix = &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;Matrix&lt;/span&gt;&lt;font color="#000000"&gt;.CreateBillboard(&lt;/font&gt;&lt;span style="COLOR:teal;"&gt;Vector3&lt;/span&gt;&lt;font color="#000000"&gt;.Zero, &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;.Position - cameraPosition, cameraUpVector, cameraLookAt);&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;if&lt;/span&gt;&lt;font color="#000000"&gt; (&lt;/font&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;.AnimateType != &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;AnimateType&lt;/span&gt;&lt;font color="#000000"&gt;.None)&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;.Animate(gameTime);&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;private&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;void&lt;/span&gt;&lt;font color="#000000"&gt; Animate(&lt;/font&gt;&lt;span style="COLOR:teal;"&gt;GameTime&lt;/span&gt;&lt;font color="#000000"&gt; gameTime)&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;_lastUpdate += gameTime.ElapsedGameTime.TotalMilliseconds;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;if&lt;/span&gt;&lt;font color="#000000"&gt; (_lastUpdate &amp;gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;.AnimationFrequency)&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;_lastUpdate = 0;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;.IncrementAnimation();&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._currentAnimation = &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._animations[&lt;/font&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._animationIndex++];&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;private&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;void&lt;/span&gt;&lt;font color="#000000"&gt; IncrementAnimation()&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._animationIndex++;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;if&lt;/span&gt;&lt;font color="#000000"&gt; (&lt;/font&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._animationIndex &amp;gt; (&lt;/font&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._animationColumns * &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._animationRows - 1))&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;if&lt;/span&gt;&lt;font color="#000000"&gt; (&lt;/font&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;.AnimationEnded != &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;null&lt;/span&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;.AnimationEnded(&lt;/font&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;, &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;EventArgs&lt;/span&gt;&lt;font color="#000000"&gt;.Empty);&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;&lt;font color="#000000"&gt;._animationIndex = 0;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;#endregion&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt; 
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/span&gt;
&lt;p&gt;
&lt;p&gt;Etudions là point par point. Le premier ajout concerne l&amp;#39;arrivée de nouveaux membres permettant d&amp;#39;exploiter l&amp;#39;animation :&lt;/p&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;private&lt;/span&gt; &lt;span style="COLOR:blue;"&gt;int&lt;/span&gt; _animationRows;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;private&lt;/span&gt; &lt;span style="COLOR:blue;"&gt;int&lt;/span&gt; _animationColumns;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;private&lt;/span&gt; &lt;span style="COLOR:blue;"&gt;long&lt;/span&gt; _animationFrequency;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;private&lt;/span&gt; &lt;span style="COLOR:teal;"&gt;AnimateType&lt;/span&gt; _animateType;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;private&lt;/span&gt; &lt;span style="COLOR:teal;"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="COLOR:teal;"&gt;VertexBuffer&lt;/span&gt;&amp;gt; _animations;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;private&lt;/span&gt; &lt;span style="COLOR:teal;"&gt;VertexBuffer&lt;/span&gt; _currentAnimation;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;private&lt;/span&gt; &lt;span style="COLOR:blue;"&gt;int&lt;/span&gt; _animationIndex;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;private&lt;/span&gt; &lt;span style="COLOR:teal;"&gt;Blend&lt;/span&gt; _sourceBlend;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;private&lt;/span&gt; &lt;span style="COLOR:teal;"&gt;Blend&lt;/span&gt; _destinationBlend;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;private&lt;/span&gt; &lt;span style="COLOR:blue;"&gt;double&lt;/span&gt; _lastUpdate;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; 
&lt;p&gt;On trouve ici dans l&amp;#39;ordre : le nombre d&amp;#39;animation en haut et largeur, la vitesse de l&amp;#39;animation (en millisecondes), le type d&amp;#39;animation (non utilisé ici), la liste de vertexbuffer (nous reviendrons sur ce membre plus loin), le vertexbuffer correspondant à l&amp;#39;animation courante, l&amp;#39;index de l&amp;#39;animation dans la liste de vertexbuffer, le blend source et de destination (afin de pouvoir spécifier à la création du billboard de type de blend que l&amp;#39;ont désire) et enfin le temps écoulé depuis le dernier update du billboard.&lt;/p&gt;
&lt;p&gt;Deux constructeurs font leur apparition :&lt;/p&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:gray;"&gt;///&lt;/span&gt;&lt;span style="COLOR:green;"&gt; &lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:gray;"&gt;///&lt;/span&gt;&lt;span style="COLOR:green;"&gt; &lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;para&amp;gt;&lt;/span&gt;&lt;span style="COLOR:green;"&gt;Empty constructors (no animations).&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;/para&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:gray;"&gt;///&lt;/span&gt;&lt;span style="COLOR:green;"&gt; &lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;public&lt;/span&gt; Billboard()&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;._animationIndex = 0;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;._animationRows = 1;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;._animationColumns = 1;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;._animateType = &lt;span style="COLOR:teal;"&gt;AnimateType&lt;/span&gt;.None;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;._animations = &lt;span style="COLOR:blue;"&gt;new&lt;/span&gt; &lt;span style="COLOR:teal;"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="COLOR:teal;"&gt;VertexBuffer&lt;/span&gt;&amp;gt;();&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:gray;"&gt;///&lt;/span&gt;&lt;span style="COLOR:green;"&gt; &lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:gray;"&gt;///&lt;/span&gt;&lt;span style="COLOR:green;"&gt; &lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;para&amp;gt;&lt;/span&gt;&lt;span style="COLOR:green;"&gt;Instanciate a new Billboard with an animation.&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;/para&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:gray;"&gt;///&lt;/span&gt;&lt;span style="COLOR:green;"&gt; &lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:gray;"&gt;///&lt;/span&gt;&lt;span style="COLOR:green;"&gt; &lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;param name=&amp;quot;animationRows&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:gray;"&gt;///&lt;/span&gt;&lt;span style="COLOR:green;"&gt; &lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;param name=&amp;quot;animationColumns&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:gray;"&gt;///&lt;/span&gt;&lt;span style="COLOR:green;"&gt; &lt;/span&gt;&lt;span style="COLOR:gray;"&gt;&amp;lt;param name=&amp;quot;animationFrequency&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;public&lt;/span&gt; Billboard(&lt;span style="COLOR:blue;"&gt;int&lt;/span&gt; animationRows, &lt;span style="COLOR:blue;"&gt;int&lt;/span&gt; animationColumns, &lt;span style="COLOR:blue;"&gt;long&lt;/span&gt; animationFrequency) : &lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;()&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;._animateType = &lt;span style="COLOR:teal;"&gt;AnimateType&lt;/span&gt;.Loop;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;._animationColumns = animationColumns;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;._animationFrequency = animationFrequency;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;._animationRows = animationRows;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; 
&lt;p&gt;Le premier existait déjà mais initialise les membres de classe en prennant en compte qu&amp;#39;il n&amp;#39;y a aucun animation à jouer (c&amp;#39;est le cas pour les billboard affichant les arbres et l&amp;#39;herbe). Le second prend en paramètre les animations en hauteur et largeur ainsique la fréquence. Il initialize les membres pour l&amp;#39;animation spécifiée.&lt;/p&gt;
&lt;p&gt;La plus grosse modification vient de la méthode d&amp;#39;initialisation des vertices :&lt;/p&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;private&lt;/span&gt; &lt;span style="COLOR:blue;"&gt;void&lt;/span&gt; InitializeVertices()&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;._animations.Clear();&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;float&lt;/span&gt; animationSizeU = (1f / &lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;.AnimationColumns);&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;float&lt;/span&gt; animationSizeV = (1f / &lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;.AnimationRows);&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;for&lt;/span&gt; (&lt;span style="COLOR:blue;"&gt;int&lt;/span&gt; column = 0; column &amp;lt; &lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;.AnimationColumns; column++)&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;for&lt;/span&gt; (&lt;span style="COLOR:blue;"&gt;int&lt;/span&gt; row = 0; row &amp;lt; &lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;.AnimationRows; row++)&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:teal;"&gt;VertexBuffer&lt;/span&gt; vertexBuffer = &lt;span style="COLOR:blue;"&gt;null&lt;/span&gt;;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:teal;"&gt;VertexPositionColorTexture&lt;/span&gt;[] vertices = &lt;span style="COLOR:blue;"&gt;new&lt;/span&gt; &lt;span style="COLOR:teal;"&gt;VertexPositionColorTexture&lt;/span&gt;[4];&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;float&lt;/span&gt; tu = 0 + animationSizeU * column;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;float&lt;/span&gt; tv = 0 + animationSizeV * row;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;vertices[0].Position = &lt;span style="COLOR:blue;"&gt;new&lt;/span&gt; &lt;span style="COLOR:teal;"&gt;Vector3&lt;/span&gt;(-1f, 1f, 0);&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;vertices[0].Color = &lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;.Color;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;vertices[0].TextureCoordinate = &lt;span style="COLOR:blue;"&gt;new&lt;/span&gt; &lt;span style="COLOR:teal;"&gt;Vector2&lt;/span&gt;(tu, tv);&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;vertices[1].Position = &lt;span style="COLOR:blue;"&gt;new&lt;/span&gt; &lt;span style="COLOR:teal;"&gt;Vector3&lt;/span&gt;(1f, 1f, 0);&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;vertices[1].Color = &lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;.Color;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;vertices[1].TextureCoordinate = &lt;span style="COLOR:blue;"&gt;new&lt;/span&gt; &lt;span style="COLOR:teal;"&gt;Vector2&lt;/span&gt;(tu + animationSizeU, tv);&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;vertices[2].Position = &lt;span style="COLOR:blue;"&gt;new&lt;/span&gt; &lt;span style="COLOR:teal;"&gt;Vector3&lt;/span&gt;(1f, -1f, 0);&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;vertices[2].Color = &lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;.Color;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;vertices[2].TextureCoordinate = &lt;span style="COLOR:blue;"&gt;new&lt;/span&gt; &lt;span style="COLOR:teal;"&gt;Vector2&lt;/span&gt;(tu + animationSizeU, tv + animationSizeV);&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;vertices[3].Position = &lt;span style="COLOR:blue;"&gt;new&lt;/span&gt; &lt;span style="COLOR:teal;"&gt;Vector3&lt;/span&gt;(-1f, -1f, 0);&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;vertices[3].Color = &lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;.Color;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;vertices[3].TextureCoordinate = &lt;span style="COLOR:blue;"&gt;new&lt;/span&gt; &lt;span style="COLOR:teal;"&gt;Vector2&lt;/span&gt;(tu, tv + animationSizeV);&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;vertexBuffer = &lt;span style="COLOR:blue;"&gt;new&lt;/span&gt; &lt;span style="COLOR:teal;"&gt;VertexBuffer&lt;/span&gt;(&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;._device,&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;typeof&lt;/span&gt;(&lt;span style="COLOR:teal;"&gt;VertexPositionColorTexture&lt;/span&gt;),&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;4,&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:teal;"&gt;ResourceUsage&lt;/span&gt;.WriteOnly,&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:teal;"&gt;ResourceManagementMode&lt;/span&gt;.Automatic);&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;vertexBuffer.SetData(vertices);&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;._animations.Add(vertexBuffer);&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;._currentAnimation = &lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;._animations[0];&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; 
&lt;p&gt;Cette méthode a un but simple,&amp;nbsp;connaissant le nombre d&amp;#39;animation sur la texture à afficher, elle va créer autant de vertexbuffer que nécessaire : tous auront le même position et la même couleur, mais il auront une coordonnée de texture lié à l&amp;#39;emplacement de la frame sur l&amp;#39;image. La première instruction vide la liste de vertexbuffer. Les deux suivantes calculent le % en largeur et hauteur d&amp;#39;une frame sur la texture :&lt;/p&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;float&lt;/span&gt; animationSizeU = (1f / &lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;.AnimationColumns);&lt;br /&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;float&lt;/span&gt; animationSizeV = (1f / &lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;.AnimationRows);&lt;/span&gt; 
&lt;p&gt;(ou 1 == 100%). A partir&amp;nbsp;de là on parcours chaque colonne et chaque ligne pour créer un vertex buffer adapté à la frame&amp;nbsp;voulue. On ajoute le dis vertexbuffer&amp;nbsp;à la liste. La dernière instruction fait pointer l&amp;#39;animation courante sur la première animation. C&amp;#39;est celle-ci (qui est en fait un vertexbuffer) qui sera utilisé pour l&amp;#39;affichage (méthode Draw)&lt;/p&gt;
&lt;p&gt;Viennent enfin les méthodes de mise à jour du billboard :&lt;/p&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;public&lt;/span&gt; &lt;span style="COLOR:blue;"&gt;void&lt;/span&gt; Update(&lt;span style="COLOR:teal;"&gt;GameTime&lt;/span&gt; gameTime, &lt;span style="COLOR:teal;"&gt;Vector3&lt;/span&gt; cameraPosition, &lt;span style="COLOR:teal;"&gt;Vector3&lt;/span&gt; cameraLookAt, &lt;span style="COLOR:teal;"&gt;Vector3&lt;/span&gt; cameraUpVector)&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;._billboardMatrix = &lt;span style="COLOR:teal;"&gt;Matrix&lt;/span&gt;.CreateBillboard(&lt;span style="COLOR:teal;"&gt;Vector3&lt;/span&gt;.Zero, &lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;.Position - cameraPosition, cameraUpVector, cameraLookAt);&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;if&lt;/span&gt; (&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;.AnimateType != &lt;span style="COLOR:teal;"&gt;AnimateType&lt;/span&gt;.None)&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;.Animate(gameTime);&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;private&lt;/span&gt; &lt;span style="COLOR:blue;"&gt;void&lt;/span&gt; Animate(&lt;span style="COLOR:teal;"&gt;GameTime&lt;/span&gt; gameTime)&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;_lastUpdate += gameTime.ElapsedGameTime.TotalMilliseconds;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;if&lt;/span&gt; (_lastUpdate &amp;gt; &lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;.AnimationFrequency)&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;_lastUpdate = 0;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;.IncrementAnimation();&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;._currentAnimation = &lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;._animations[&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;._animationIndex++];&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;private&lt;/span&gt; &lt;span style="COLOR:blue;"&gt;void&lt;/span&gt; IncrementAnimation()&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;._animationIndex++;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;if&lt;/span&gt; (&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;._animationIndex &amp;gt; (&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;._animationColumns * &lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;._animationRows - 1))&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;if&lt;/span&gt; (&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;.AnimationEnded != &lt;span style="COLOR:blue;"&gt;null&lt;/span&gt;)&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;.AnimationEnded(&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;, &lt;span style="COLOR:teal;"&gt;EventArgs&lt;/span&gt;.Empty);&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;._animationIndex = 0;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; 
&lt;p&gt;&amp;nbsp;Ces méthodes se contentent juste de pointer sur l&amp;#39;animation suivante si le temps écouté depuis le dernier update est suffisant.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;L&amp;#39;utilisation d&amp;#39;un billboard animé reste similaire à ce que nous avons fait précédemment (classe &lt;span style="COLOR:teal;"&gt;&lt;font face="Courier New"&gt;Game1&lt;/font&gt;&lt;/span&gt;). Elle passe par 4 étapes :&lt;/p&gt;
&lt;p&gt;La création&amp;nbsp;et l&amp;#39;initialisation :&lt;/p&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;span style="FONT-SIZE:10pt;COLOR:teal;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;Billboard&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; smoke = &lt;span style="COLOR:blue;"&gt;new&lt;/span&gt; &lt;span style="COLOR:teal;"&gt;Billboard&lt;/span&gt;(8,8,50);&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;float&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; size = 5;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;smoke.Resize(size, size, size);&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;do&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;{&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;int&lt;/span&gt; x = rand.Next(0, 512);&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;int&lt;/span&gt; y = rand.Next(0, 512);&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;smoke.Position = &lt;span style="COLOR:blue;"&gt;new&lt;/span&gt; &lt;span style="COLOR:teal;"&gt;Vector3&lt;/span&gt;(x, y, &lt;span style="COLOR:teal;"&gt;Region&lt;/span&gt;.HeightField(x, y) + size);&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;}&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;while&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; (!IsTreePositionValid(smoke.Position));&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;smoke.SourceBlend = &lt;span style="COLOR:teal;"&gt;Blend&lt;/span&gt;.SourceColor;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;smoke.DestinationBlend = &lt;span style="COLOR:teal;"&gt;Blend&lt;/span&gt;.One;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt; 
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;smoke.Activated = &lt;span style="COLOR:blue;"&gt;true&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;smoke.Color = &lt;span style="COLOR:blue;"&gt;new&lt;/span&gt; &lt;span style="COLOR:teal;"&gt;Color&lt;/span&gt;(255, 255, 255, 255);&lt;/span&gt;&lt;/p&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;smoke.Load(&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;.graphics.GraphicsDevice);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; 
&lt;p&gt;
&lt;p&gt;L&amp;#39;affection d&amp;#39;une texture&amp;nbsp;contenant un&amp;nbsp;ensemble de frame :&lt;/p&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;for&lt;/span&gt; (&lt;span style="COLOR:blue;"&gt;int&lt;/span&gt; i = 0; i &amp;lt; numberOfSmokes; i++)&lt;br /&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;smokes&lt;img src="http://msmvps.com/emoticons/emotion-55.gif" alt="Idea" /&gt;.Texture = textures[5];&lt;/span&gt; 
&lt;p&gt;
&lt;p&gt;La mise à jour de la matrice de vue et l&amp;#39;appel à la méthode Update :&lt;/p&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;for&lt;/span&gt; (&lt;span style="COLOR:blue;"&gt;int&lt;/span&gt; i = 0; i &amp;lt; numberOfSmokes; i++)&lt;br /&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;smokes&lt;img src="http://msmvps.com/emoticons/emotion-55.gif" alt="Idea" /&gt;.Effect.View = viewMatrix;&lt;br /&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;smokes&lt;img src="http://msmvps.com/emoticons/emotion-55.gif" alt="Idea" /&gt;.Update(gameTime, vEyePt, vLookatPt, &lt;span style="COLOR:blue;"&gt;new&lt;/span&gt; &lt;span style="COLOR:teal;"&gt;Vector3&lt;/span&gt;(0, 0, 1f));&lt;br /&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt; 
&lt;p&gt;
&lt;p&gt;et enfin, bien entendu, l&amp;#39;affichage :&lt;/p&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;smokes&lt;img src="http://msmvps.com/emoticons/emotion-55.gif" alt="Idea" /&gt;.Render();&lt;/span&gt; 
&lt;p&gt;&amp;nbsp;Au final à l&amp;#39;affichage, on voit apparaitre des halo de fumées dans le décors :&lt;/p&gt;
&lt;p&gt;&lt;img style="WIDTH:640px;HEIGHT:480px;" height="480" src="http://msmvps.com/photos/valentin/images/678822/640x480.aspx" width="640" align="absMiddle" border="2" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;strong&gt;&lt;font size="4"&gt;Bonus stage&lt;/font&gt;&lt;/strong&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;Je me suis amusé à créer un sample dérivé du dernier pour afficher un effet de météorite s&amp;#39;écrasant sur terre. Admirez ce qu&amp;#39;il est possible de faire en une petite heure à peine avec des billboards :&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;img title="Alerte ! Une météorite fonce droit sur la terre !" style="WIDTH:640px;HEIGHT:480px;" height="480" alt="Alerte ! Une météorite fonce droit sur la terre !" src="http://msmvps.com/photos/valentin/images/679187/640x480.aspx" width="640" align="absMiddle" border="2" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img title="Trop tard : Boum :)" style="WIDTH:640px;HEIGHT:480px;" height="480" alt="Trop tard : Boum :)" src="http://msmvps.com/photos/valentin/images/679188/640x480.aspx" width="640" align="absMiddle" border="2" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;Le code de la classe météore qui s&amp;#39;occupe de gérer un météore (en fait un ensemble de billboard) n&amp;#39;est pas terrible et optimisé mais je n&amp;#39;avais qu&amp;#39;une heure&amp;nbsp; pour le faire, il&amp;nbsp; donne néanmoins une idée de ce qu&amp;#39;on peut faire avec du temps, et de belles images...&lt;/p&gt;
&lt;p&gt;Le code se trouve avec les samples de ce cours.&lt;/p&gt;
&lt;p&gt;&lt;font size="4"&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;Tous les jeux font appels aux bilboards. Et pour cause : ils permettent un affichage réaliste, 3D à moindre cout pour les effets spéciaux. Des sociétés comme Blizzard en sont friands (World Of Warcraft en regorge à chaque écran). Sachant que leur utilisation dans un programme est maintenant simple grâce à notre classe clé en main, pourquoi s&amp;#39;en priver ? &lt;/p&gt;
&lt;p&gt;A bientôt sur ce Blog !&lt;/p&gt;
&lt;p&gt;Valentin Billotte&lt;/p&gt;
&lt;p&gt;N&amp;#39;hesitez surtout pas à me faire part de vos incomprehensions afin de pemettre d&amp;#39;améliorer ce cours pour le rendre plus accessible aux autres (trèèèès important)!&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;img title="telecharger" style="WIDTH:24px;HEIGHT:24px;" height="24" alt="telecharger" src="http://www.adcworks.com/images/content/icon-download.gif" width="24" align="middle" /&gt;&lt;font style="BACKGROUND-COLOR:#ffff00;" face="Verdana"&gt;&amp;nbsp;Vous pouvez télécharger les trois&amp;nbsp;samples &lt;/font&gt;&lt;a class="" href="http://msmvps.com/files/folders/valentin/entry672683.aspx" target="_blank"&gt;&lt;font style="BACKGROUND-COLOR:#ffff00;" face="Verdana" color="#006ff7"&gt;ici&lt;/font&gt;&lt;/a&gt;&lt;font face="Verdana"&gt;&lt;font style="BACKGROUND-COLOR:#ffff00;" color="#000000"&gt;.&lt;/font&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;img style="WIDTH:24px;HEIGHT:24px;" height="24" src="http://msmvps.com/photos/valentin/images/887626/original.aspx" width="24" align="absMiddle" border="1" alt="" /&gt;&lt;font style="BACKGROUND-COLOR:#ffff00;"&gt;Retourner au &lt;/font&gt;&lt;a class="" href="http://msmvps.com/blogs/valentin/archive/2007/03/30/tutoriaux-xna-sommaire-g-n-ral.aspx"&gt;&lt;font style="BACKGROUND-COLOR:#ffff00;"&gt;sommaire des cours&lt;/font&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=659693" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/valentin/archive/tags/Visual+Studio/default.aspx">Visual Studio</category><category domain="http://msmvps.com/blogs/valentin/archive/tags/Coding/default.aspx">Coding</category><category domain="http://msmvps.com/blogs/valentin/archive/tags/Tutorial/default.aspx">Tutorial</category><category domain="http://msmvps.com/blogs/valentin/archive/tags/Terrain/default.aspx">Terrain</category><category domain="http://msmvps.com/blogs/valentin/archive/tags/Blend/default.aspx">Blend</category><category domain="http://msmvps.com/blogs/valentin/archive/tags/XNA/default.aspx">XNA</category><category domain="http://msmvps.com/blogs/valentin/archive/tags/Effect/default.aspx">Effect</category><category domain="http://msmvps.com/blogs/valentin/archive/tags/Maths+3D/default.aspx">Maths 3D</category><category domain="http://msmvps.com/blogs/valentin/archive/tags/Special+Effects/default.aspx">Special Effects</category><category domain="http://msmvps.com/blogs/valentin/archive/tags/Billboard/default.aspx">Billboard</category></item><item><title>XNA Tutorial 4 : Les matrices</title><link>http://msmvps.com/blogs/valentin/archive/2007/01/14/xna-tutorial-4-les-matrices.aspx</link><pubDate>Sun, 14 Jan 2007 08:13:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:490780</guid><dc:creator>valentin</dc:creator><slash:comments>28</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/valentin/rsscomments.aspx?PostID=490780</wfw:commentRss><comments>http://msmvps.com/blogs/valentin/archive/2007/01/14/xna-tutorial-4-les-matrices.aspx#comments</comments><description>&lt;p&gt;&lt;img height="24" width="24" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/valentin/sommaire.png" align="absMiddle" border="1" style="width:24px;height:24px;" alt="" /&gt;&lt;span style="background-color:#ffff00;"&gt;Retourner au &lt;/span&gt;&lt;a href="http://msmvps.com/blogs/valentin/archive/2007/03/30/tutoriaux-xna-sommaire-g-n-ral.aspx"&gt;&lt;span style="background-color:#ffff00;"&gt;sommaire des cours&lt;/span&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Le pr&amp;eacute;c&amp;eacute;dent programme que nous avons r&amp;eacute;alis&amp;eacute; &amp;eacute;tait rudimentaire :&amp;nbsp;nous n&amp;#39;affichions qu&amp;#39;un triangle... Il faut bien avouer que nous pourrions obtenir le m&amp;ecirc;me r&amp;eacute;sultat sous PowerPoint ou en Winform. L&amp;#39;objet de ce tutorial va nous repositionner pleinement dans le monde 3D. Nous continuerons &amp;agrave; afficher un triangle mais cette fois-ci nous utiliserons les matrices afin de l&amp;#39;animer.&lt;/p&gt;
&lt;p&gt;Nous seront donc amen&amp;eacute; &amp;agrave; &amp;eacute;tudier un peu de g&amp;eacute;om&amp;eacute;trie dans l&amp;#39;espace, les matrices et la cam&amp;eacute;ra.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Rep&amp;egrave;re 3D&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Le monde de jeu se trouve dans un espace 3D orthonorm&amp;eacute;. A l&amp;#39;int&amp;eacute;rieur de celui-ci tout point est situ&amp;eacute; par l&amp;#39;interm&amp;eacute;diaire de trois composantes : sa position par rapport &amp;agrave; l&amp;#39;abscisse X, sa position par rapport &amp;agrave; l&amp;#39;ordonn&amp;eacute;e Y, sa position par rapport &amp;agrave; la c&amp;ocirc;te Z. En rep&amp;egrave;re 2D X et Y sont facilement identifiables : l&amp;#39;axe X est horizontal et Y vertical. En 3D &amp;quot;XNA&amp;quot; son se base plutot par rapport &amp;agrave; un rep&amp;egrave;re dit de &amp;quot;main droite&amp;quot;. L&amp;#39;image ci-dessous montre un rep&amp;egrave;re main droite.&lt;/p&gt;
&lt;p&gt;&lt;img height="250" width="319" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/valentin.articles.CoursXna.article4/4212.article4_2D00_1.png" align="absMiddle" border="2" style="width:267px;height:363px;vertical-align:middle;border:black 2px solid;" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;Ce nom vient du fait que vous pouvez reproduire ce rep&amp;egrave;re &amp;agrave; l&amp;#39;aide de votre main&amp;nbsp;droite. Le pouce repr&amp;eacute;sente l&amp;#39;axe X, l&amp;#39;index l&amp;#39;axe&amp;nbsp;Y et le majeure l&amp;#39;axe Z.&amp;nbsp;A l&amp;#39;int&amp;eacute;rieur du &amp;nbsp;monde de jeu ou World Space nous placerons d&amp;eacute;sormais nos objets en utilisant des coordonn&amp;eacute;es 3D li&amp;eacute;es &amp;agrave; cette repr&amp;eacute;sentation. Ainsi Z cro&amp;icirc;t lorsqu&amp;#39;il se rapproche de l&amp;#39;observateur. L&amp;#39;axe X est orient&amp;eacute; vers la droite, enfin l&amp;#39;axe Y cro&amp;icirc;t avec la hauteur. Ainsi nous pourrions d&amp;eacute;finir les vecteurs cardinaux Up, Down, Foarward, Backward, Left, Right de cette mani&amp;egrave;re :&lt;/p&gt;
&lt;p&gt;up = new Vector3(0f, 1f, 0f);&lt;br /&gt;down = new Vector3(0f, -1f, 0f);&lt;br /&gt;right = new Vector3(1f, 0f, 0f);&lt;br /&gt;left = new Vector3(-1f, 0f, 0f);&lt;br /&gt;forward = new Vector3(0f, 0f, -1f);&lt;br /&gt;backward = new Vector3(0f, 0f, 1f);&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Notre programme&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Comme &amp;agrave; l&amp;#39;accoutum&amp;eacute; le programme du tutorial pr&amp;eacute;c&amp;eacute;dent va &amp;ecirc;tre repris et &amp;eacute;volu&amp;eacute; pour prendre en compte les nouveaut&amp;eacute;s de ce chapitre. Il sera renomm&amp;eacute; en &amp;quot;Troisi&amp;egrave;meProjet&amp;quot;. &lt;/p&gt;
&lt;p&gt;Le but de cet article est donc de faire tourner le triangle sur lui-m&amp;ecirc;me. L&amp;agrave; encore c&amp;#39;est les matrices qui vont nous aider. Nous allons faire coincider le taux de rotation du triangle en fonction du temps &amp;eacute;coul&amp;eacute; depuis la derni&amp;egrave;re frame affich&amp;eacute;e. De cette fa&amp;ccedil;on le triangle tournera toujours &amp;agrave; la m&amp;ecirc;me vitesse, quelque soit la puissance de la machine o&amp;ugrave; l&amp;#39;activit&amp;eacute; de son CPU. Nous avons vu pr&amp;eacute;c&amp;eacute;demment que c&amp;#39;est la matrice World qui s&amp;#39;occupe de &amp;quot;r&amp;eacute;aliser&amp;quot; les transformations &amp;agrave; effectuer sur un objet. Par transformation nous entendons translation, scale et ... rotation. Ecrire &amp;quot;&amp;agrave; la main&amp;quot; une matrice pour qu&amp;#39;elle r&amp;eacute;alise une transformation n&amp;#39;est pas forcement tr&amp;egrave;s simple. Heureusement la classe Matrix poss&amp;egrave;de un ensemble de membre statique (comme nous l&amp;#39;avons d&amp;eacute;j&amp;agrave; vu) qui permettent de cr&amp;eacute;er des instances tr&amp;egrave;s facilement.&lt;/p&gt;
&lt;p&gt;Remplacez l&amp;#39;instruction d&amp;#39;affectation de la matrice World de l&amp;#39;effet &amp;agrave; l&amp;#39;int&amp;eacute;rieur de la m&amp;eacute;thode Draw par cette ligne :&lt;/p&gt;
&lt;p&gt;&amp;nbsp;this&lt;span style="color:#000000;font-size:x-small;"&gt;.effect.Parameters[&lt;/span&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&amp;quot;World&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;font-size:x-small;"&gt;].SetValue(&lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;Matrix&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;font-size:x-small;"&gt;.CreateRotationY( (&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;float&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="color:#000000;"&gt;)gameTime.TotalGameTime.TotalSeconds));&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;mso-ansi-language:EN-GB;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;mso-ansi-language:EN-GB;"&gt;&lt;span style="color:#008080;"&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Nous appellons ici la m&amp;eacute;thode statique CreateRotationY qui renvoie une matrice configur&amp;eacute;e pour r&amp;eacute;aliser une rotation autour de l&amp;#39;axe Y.&amp;nbsp;Le fichier effet auquel nous donnons la matrice va multiplier celle-ci par tous les vertices pr&amp;eacute;sent dans le flux envoy&amp;eacute; &amp;agrave; la carte graphique par l&amp;#39;interm&amp;eacute;diaire de la m&amp;eacute;thode Draw. Les vertices ainsi multipli&amp;eacute;s vont voir leur position modifi&amp;eacute;e et vont donner l&amp;#39;impression d&amp;#39;&amp;ecirc;tre en rotation. Tout objet affich&amp;eacute; entre les m&amp;eacute;thode Begin et End de l&amp;#39;effet seront ainsi soumis &amp;agrave; cette transformation. Nous donnons &amp;agrave; la m&amp;eacute;thode CreateRotationY le temps total &amp;eacute;coul&amp;eacute; depuis le lancement du jeu. Nous aurions pu donner une valeur constante type PI/4. Mais le triangle n&amp;#39;aurait pas &amp;eacute;t&amp;eacute; anim&amp;eacute;. Il aurait juste &amp;eacute;t&amp;eacute; legerement pivot&amp;eacute;. Le fait d&amp;#39;utiliser le temps total &amp;eacute;cout&amp;eacute; fait que notre triangle tourne &amp;agrave; vitesse constante.&lt;/p&gt;
&lt;p&gt;A l&amp;#39;ex&amp;eacute;cution nous l&amp;#39;allons le voir tourner effectivement&amp;nbsp;sur lui-m&amp;ecirc;me. Pourtant le programme comporte un probl&amp;egrave;me : r&amp;eacute;guli&amp;egrave;rement le triangle disparait. Ce probl&amp;egrave;me qui n&amp;#39;en est pas un est du au &amp;quot;back face culling&amp;quot;.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Backface Culling&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;Le back face culling est un algorithme intelligent sur lequel repose la carte graphique pour r&amp;eacute;aliser ses rendu. Il permet d&amp;#39;enelver de l&amp;#39;affichage les faces (triangles) qui ne sont pas visible depuis la position de la cam&amp;eacute;ra parceque situ&amp;eacute;es derni&amp;egrave;re l&amp;#39;objet. Si vous regardez quelqu&amp;#39;un dans les yeux, nous ne voyez pas l&amp;#39;arri&amp;egrave;re de sa t&amp;ecirc;te. Ici c&amp;#39;est le m&amp;ecirc;me principe. Comment la carte graphique sait-elle qu&amp;#39;une face n&amp;#39;est pas visible ? En fait c&amp;#39;est le d&amp;eacute;veloppeur qui le lui indique au moment ou il cr&amp;eacute;&amp;eacute; le tableau de vertices. Si un triangle doit &amp;ecirc;tre affich&amp;eacute; par l&amp;#39;interm&amp;eacute;diaire de trois vertices plac&amp;eacute; dans l&amp;#39;ordre des aiguilles d&amp;#39;une montre alors il est visible, dans le cas contraire XNA ne l&amp;#39;affiche pas. Reciproquement si un triangle ne s&amp;#39;affiche pas c&amp;#39;est que les vertices qui le forment sont lus dans le sens inverse des aiguilles d&amp;#39;une montre. Auquel cas si vous placez la cam&amp;eacute;ra de l&amp;#39;autre cot&amp;eacute; du triangle celui-ci sera visible. Nous n&amp;#39;allons &amp;eacute;videmment pas d&amp;eacute;placer continuellement la cam&amp;eacute;ra. Il est plus simple de d&amp;eacute;sactiver le culling. Ajoutez le code suivant &amp;agrave; la m&amp;eacute;thode Initialize :&lt;span style="font-size:x-small;"&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;this&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;.graphics.GraphicsDevice.RenderState.CullMode = &lt;/span&gt;&lt;span style="color:#008080;font-size:x-small;"&gt;CullMode&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;.None;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Le device poss&amp;egrave;de un membre RenderState qui g&amp;egrave;re les propri&amp;eacute;t&amp;eacute;s d&amp;#39;affichage 3D dynamiques et notamment le culling employ&amp;eacute;. L&amp;#39;&amp;eacute;num&amp;eacute;ration &lt;span style="color:#008080;"&gt;CullMode &lt;/span&gt;permet d&amp;#39;indiquer si nous ne voulons pas de culling (None), si nous voulons cach&amp;eacute;e les faces dont le svertices sont lu dans le sens des aiguilles d&amp;#39;une montre (&lt;span style="font-size:x-small;"&gt;CullClockwiseFace) &lt;span style="font-family:arial,helvetica,sans-serif;"&gt;ou bien dans le sens inverse&lt;/span&gt; (CullCounterClockwiseFace).&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;strong&gt;Am&amp;eacute;lioration du code&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Nous&amp;nbsp;pla&amp;ccedil;ons &amp;agrave; l&amp;#39;int&amp;eacute;rieur de la m&amp;eacute;thode Draw des instructions qui ne sont pas directement li&amp;eacute;es &amp;agrave; l&amp;#39;affichage : les trois affectations des matrices World, View et Projection. D&amp;eacute;placez ainsi les instructions :&amp;nbsp;&lt;/p&gt;
&lt;p&gt;this&lt;span style="font-size:x-small;"&gt;.effect.Parameters[&lt;/span&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&amp;quot;World&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;].SetValue(&lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;Matrix&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;.CreateRotationY( (&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;float&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;)gameTime.TotalGameTime.TotalSeconds));&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;A l&amp;#39;int&amp;eacute;rieur de la m&amp;eacute;thode Update et les deux instructions :&lt;/p&gt;
&lt;p&gt;this.effect.Parameters[&amp;quot;View&amp;quot;].SetValue(Matrix.CreateLookAt(new Vector3(0, 0, -2), Vector3.Zero, Vector3.Up));&lt;/p&gt;
&lt;p&gt;this.effect.Parameters[&amp;quot;Projection&amp;quot;].SetValue(Matrix.CreatePerspectiveFieldOfView(MathHelper.PiOver4, this.GraphicsDevice.Viewport.AspectRatio, 0.1f, 2.1f));&lt;/p&gt;
&lt;p&gt;dans Load.&lt;/p&gt;
&lt;p&gt;Tout simplement parceque la matrice World doit &amp;ecirc;tre mise &amp;agrave; jour &amp;agrave; chaque frame alors que les propri&amp;eacute;t&amp;eacute;s et caract&amp;eacute;ristiques&amp;nbsp;de la cam&amp;eacute;ra ne changent pas.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Pour terminer, et pour am&amp;eacute;liorer notre culture, modifiez le farPlaneDistance (dernier param&amp;egrave;tre de la m&amp;eacute;thode CreatePerspectiveFieldOfView) qui d&amp;eacute;finit la distance au del&amp;agrave; de laquelle un objet n&amp;#39;est plus visible. Il est pour l&amp;#39;heure de 100f. Changez la valeur a 2.1f. Nous voyons &amp;agrave; l&amp;#39;ex&amp;eacute;cution notre triangle tourner compl&amp;egrave;tement mais du fait de sa rotation, les vertices de sa base&amp;nbsp;s&amp;#39;&amp;eacute;loignent, et disparaissent au gr&amp;eacute; de la rotation (voir image ci-dessous).&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;img height="480" width="619" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/valentin.articles.CoursXna.article4/8424.article4_2D00_2.png" align="absMiddle" alt="Le triangle est coup&amp;eacute;" border="2" title="Le triangle est coup&amp;eacute;" style="width:619px;height:480px;vertical-align:middle;border:black 2px solid;" /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;Ceci est du &amp;agrave; notre far plane. Le triangle lorsqu&amp;#39;il est tourn&amp;eacute; de 90 d&amp;eacute;gr&amp;eacute; d&amp;eacute;passe en profondeur la distance maximale de vision que nous avons indiqu&amp;eacute; dans la matrice de Projection.&amp;nbsp;Remettez la valeur 100 pour que le programme&amp;nbsp;marche parfaitement. &lt;/p&gt;
&lt;p&gt;Autre &amp;eacute;l&amp;eacute;ment important : modifiez la taille de la fen&amp;ecirc;tre affichant le triangle. Apr&amp;egrave;s cette action vous devriez &amp;agrave; nouveau &amp;ecirc;tre soumis au back-face culling. Ceci est simplement du au fait que le device a &amp;eacute;t&amp;eacute; reinitialit&amp;eacute; lors de cette action. Il reprend donc ses valeurs par d&amp;eacute;faut. Il est donc n&amp;eacute;cessaire de lui respecifier le culling &amp;agrave; appliquer. A ce niveau de nos connaissances nous pourrions parer ce probl&amp;egrave;me qu&amp;#39;en mettant l&amp;#39;instruction concern&amp;eacute;e dans la m&amp;eacute;thode Update qui est appell&amp;eacute;e &amp;agrave; chaque frame. Ce ne serait pas tr&amp;egrave;s propre ni optimis&amp;eacute;... Heureusement le device offre un ensemble d&amp;#39;evenements qui permettent de parer &amp;agrave;c ette eventualit&amp;eacute;. Enregistrez vous sur l&amp;#39;&amp;eacute;v&amp;eacute;nement reset dans le constructeur de cette mani&amp;egrave;re :&lt;/p&gt;
&lt;p&gt;graphics.DeviceReset += new EventHandler(graphics_DeviceReset);&lt;/p&gt;
&lt;p&gt;On mettre alors &amp;agrave; l&amp;#39;int&amp;eacute;rieur de la m&amp;eacute;thode graphics_DeviceReset tout ce qui est n&amp;eacute;cessaire &amp;agrave; la configuration du device :&lt;/p&gt;
&lt;p&gt;void graphics_DeviceReset(object sender, EventArgs e)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.graphics.GraphicsDevice.RenderState.CullMode = CullMode.None;&lt;br /&gt;}&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Nos sommes maintenant prets &amp;agrave; aborder les choses s&amp;eacute;rieuses. A partir de l&amp;agrave; nos connaissances sont suffisantes pour r&amp;eacute;pondre &amp;agrave; un grand nombre de probl&amp;eacute;matiques : nous savons afficher des formes, les d&amp;eacute;placer et placer une cam&amp;eacute;ra. Essayez comme exercice de positionner la cam&amp;eacute;ra &amp;agrave; un autre endroit de la sc&amp;egrave;ne. De m&amp;ecirc;me, essayez d&amp;#39;autres transformations (faites un redimensionnement, une translation, les deux ...).&lt;/p&gt;
&lt;p&gt;Le prochain article sera consacr&amp;eacute; aux indices, un type de reliaison de vertices tr&amp;egrave;s performants.&lt;/p&gt;
&lt;p&gt;&lt;img height="24" width="24" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/valentin/download.gif" align="middle" alt="telecharger" title="telecharger" style="width:24px;height:24px;vertical-align:middle;" /&gt;&amp;nbsp;Vous pouvez t&amp;eacute;l&amp;eacute;charger le sample &lt;a target="_blank" href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/valentin.articles.CoursXna.article4/5775.TroisiemeProjet.zip" title="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/valentin.articles.CoursXna.article4/8037.TroisiemeProjet.zip"&gt;&lt;span style="font-family:times new roman,times;color:#000000;"&gt;ici&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:times new roman,times;color:#000000;"&gt;.&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;A bientôt sur ce Blog !&lt;/p&gt;
&lt;p&gt;Valentin Billotte&lt;/p&gt;
&lt;p&gt;&lt;img height="24" width="24" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/valentin/sommaire.png" align="absMiddle" border="1" style="width:24px;height:24px;" alt="" /&gt;&lt;span style="background-color:#ffff00;"&gt;Retourner au &lt;/span&gt;&lt;a href="http://msmvps.com/blogs/valentin/archive/2007/03/30/tutoriaux-xna-sommaire-g-n-ral.aspx"&gt;&lt;span style="background-color:#ffff00;"&gt;sommaire des cours&lt;/span&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=490780" width="1" height="1"&gt;</description><enclosure url="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/valentin.articles.CoursXna.article4/5775.TroisiemeProjet.zip" length="49402" type="application/x-compressed" /><category domain="http://msmvps.com/blogs/valentin/archive/tags/Coding/default.aspx">Coding</category><category domain="http://msmvps.com/blogs/valentin/archive/tags/Tutorial/default.aspx">Tutorial</category><category domain="http://msmvps.com/blogs/valentin/archive/tags/XNA/default.aspx">XNA</category><category domain="http://msmvps.com/blogs/valentin/archive/tags/Effect/default.aspx">Effect</category><category domain="http://msmvps.com/blogs/valentin/archive/tags/Maths+3D/default.aspx">Maths 3D</category><category domain="http://msmvps.com/blogs/valentin/archive/tags/Matrix/default.aspx">Matrix</category><category domain="http://msmvps.com/blogs/valentin/archive/tags/_26002300_181_3B00_GFP_26002300_168_3B00_jzgp_2A00_ojVisual+Studio/default.aspx">&amp;#181;GFP&amp;#168;jzgp*ojVisual Studio</category></item><item><title>XNA Tutorial 3 : Introduction aux vertices et effets </title><link>http://msmvps.com/blogs/valentin/archive/2007/01/10/xna-tutorial-3-introduction-aux-vertices-et-effets.aspx</link><pubDate>Wed, 10 Jan 2007 20:26:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:488750</guid><dc:creator>valentin</dc:creator><slash:comments>25</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/valentin/rsscomments.aspx?PostID=488750</wfw:commentRss><comments>http://msmvps.com/blogs/valentin/archive/2007/01/10/xna-tutorial-3-introduction-aux-vertices-et-effets.aspx#comments</comments><description>&lt;p class="MsoNormal"&gt;&lt;i style="mso-bidi-font-style:normal;"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-no-proof:yes;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;&lt;img height="24" width="24" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/valentin/sommaire.png" style="vertical-align:middle;" alt="" /&gt;&lt;/span&gt;&lt;/i&gt;&lt;span style="background-color:#ffff00;"&gt;&lt;span style="background-image:none;background-attachment:scroll;background-repeat:repeat;font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;background-position:0% 0%;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;Retourner au &lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;&lt;a href="http://msmvps.com/blogs/valentin/archive/2007/03/30/tutoriaux-xna-sommaire-g-n-ral.aspx"&gt;&lt;span style="color:#0000ff;mso-bidi-font-size:11.0pt;"&gt;sommaire des cours&lt;/span&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;i&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;mso-bidi-font-size:11.0pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;mso-bidi-font-size:11.0pt;"&gt;Il est maintenant temps d&amp;#39;afficher quelque chose &amp;agrave; l&amp;#39;&amp;eacute;cran. &lt;/span&gt;&lt;/i&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;mso-bidi-font-size:11.0pt;"&gt;Le but de ce tutorial est de nous apprendre &amp;agrave; dessiner &amp;agrave; l&amp;#39;&amp;eacute;cran en 3D &amp;agrave; l&amp;#39;aide de Vertices, et de commencer &amp;agrave; assimiler la notion d&amp;#39;effet. Il s&amp;#39;agit l&amp;agrave; d&amp;#39;un cours primordial dans la mesure o&amp;ugrave; un d&amp;eacute;veloppeur de jeux XNA &amp;nbsp;aura toujours &amp;agrave; faire &amp;agrave; ces deux notions, et ce, dans n&amp;#39;importe quel projet qu&amp;#39;il r&amp;eacute;alisera. Il convient donc de bien assimiler ce que nous allons r&amp;eacute;aliser ici (o&amp;ugrave; bien de me contacter le cas &amp;eacute;ch&amp;eacute;ant). Nous allons r&amp;eacute;aliser ici l&amp;#39;affichage d&amp;#39;un triangle color&amp;eacute;.&lt;/span&gt;&lt;/i&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;mso-bidi-font-size:11.0pt;"&gt;Le vertex&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;&amp;nbsp;Si en 2D afficher un objet revient &amp;agrave; &amp;quot;plaquer&amp;quot; une image &amp;agrave; l&amp;#39;&amp;eacute;cran, en 3D la done est tout autre. Les objets ne sont pas dessin&amp;eacute;es &amp;agrave; partir d&amp;#39;une image mais plutot a partir de vertices (un vertex, des vertices). Un vertex peut &amp;ecirc;tre vu comme un point dans l&amp;#39;espace auquel on associe des propri&amp;eacute;t&amp;eacute;s (couleur, position ...). Le pipeline 3D va relier ces points pour former un objet. Le d&amp;eacute;veloppeur a pour tache de bien placer ces points et d&amp;#39;indiquer au device comment les relier.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;L&amp;#39;image suivante illustre cela. Nous voyons un tube et un cube en trois dimension. On remarque qu&amp;#39;ils sont tout simplement form&amp;eacute;s &amp;agrave; partir de points qui sont reli&amp;eacute;s entre eux.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;a target="_blank" href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/valentin.articles.CoursXna.article3/article3_2D00_1.png"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#0000ff;font-size:12.5pt;text-decoration:none;mso-no-proof:yes;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;text-underline:none;"&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;&lt;img height="400" width="400" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/valentin.articles.CoursXna.article3/article3_2D00_1.png" style="vertical-align:middle;border:2px solid black;" alt="" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;La forme g&amp;eacute;om&amp;eacute;trique la plus simple en 3D est le triangle. Trois vertices sont n&amp;eacute;cessaires pour la former. Toute forme g&amp;eacute;om&amp;eacute;trique en 3D est form&amp;eacute;e de triangles. C&amp;rsquo;est &amp;agrave; dire d&amp;rsquo;une multitude de vertices qui, reli&amp;eacute;s, permettent de donner une apparence &amp;agrave; certains objets. La encore, l&amp;#39;image ci dessus le montre tr&amp;egrave;s bien.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;Plusieurs solutions existent pour relier les vertices entre eux afin de former des objets 3D. Chaque solution poss&amp;egrave;de ses propres avantages&amp;nbsp;en fonction&amp;nbsp;la forme de l&amp;rsquo;objet . C&amp;#39;est pourquoi&amp;nbsp;il convient d&amp;rsquo;utiliser le celle qui s&amp;#39;av&amp;egrave;re la plus adapt&amp;eacute; dans un seul but : r&amp;eacute;duire au maximum le nombre de vertices. L&amp;rsquo;association de plusieurs vertices entre eux permet &amp;agrave; XNA de former des triangles (assimilables &amp;agrave; des surfaces). L&amp;rsquo;association de ces surfaces permet alors de former des objets dans l&amp;rsquo;espace. XNA r&amp;eacute;sonne en ternaire ;&amp;nbsp;Il lui faut trois point pour former la plus petit figure g&amp;eacute;om&amp;eacute;trique possible : le triangle.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;Lorsqu&amp;#39;on place des points dans l&amp;#39;espace il est donc n&amp;eacute;cessaire de sp&amp;eacute;cifier &amp;agrave; la carte graphique la mani&amp;egrave;re dont il faut relier ces points afin de cr&amp;eacute;er une forme 3D. Les diff&amp;eacute;rentes mani&amp;egrave;res possibles sont les suivantes :&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;mso-bidi-font-size:11.0pt;"&gt;Triangle List&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;Le mode de liaison de vertex le plus simple. Celui-ci lit les points trois par trois afin de former des triangles qu&amp;rsquo;il affiche. On comprendra donc il est n&amp;eacute;cessaire de cr&amp;eacute;er un nombre de vertices multiple de trois. Les trois premiers vertices repr&amp;eacute;senteront le premier triangle, les trois suivant le second triangle et ainsi de suite... C&amp;rsquo;est le mode de d&amp;eacute;finition le plus simple ...&amp;nbsp; mais aussi le plus co&amp;ucirc;teux.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;mso-bidi-font-size:11.0pt;"&gt;Triangle Fan&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;Ce mode (comme le suivant) est plus intelligent ; il r&amp;eacute;utilise des vertices d&amp;eacute;j&amp;agrave; utilis&amp;eacute; pour les liaisons. On gagne ainsi de pr&amp;eacute;cieux octets en m&amp;eacute;moire lib&amp;eacute;rant ainsi le pipeline 3D. Dans ce mode le premier vertex est reli&amp;eacute; &amp;agrave; tous les autres. L&amp;agrave; aussi, les possibilit&amp;eacute;s sont limit&amp;eacute;s ; on ne peut faire que des formes rectangulaires et/ou cylindrique comme le montre le sch&amp;eacute;ma ci-contre.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;mso-bidi-font-size:11.0pt;"&gt;Triangle Strip&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt; &lt;br /&gt;Ce troisi&amp;egrave;me mode est un chou&amp;iuml;a plus compliqu&amp;eacute;. On relie ici aussi les vertices par trois. Mais en consid&amp;eacute;rant que le dernier vertex cr&amp;eacute;&amp;eacute; doit &amp;ecirc;tre reli&amp;eacute; aux deux pr&amp;eacute;c&amp;eacute;dents. Le gain de place en m&amp;eacute;moire est tr&amp;egrave;s important, mais la difficult&amp;eacute; de cr&amp;eacute;er des formes complexes est multipli&amp;eacute;e.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;mso-bidi-font-size:11.0pt;"&gt;Primitive index&amp;eacute;e&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;Nous verrons dans quelques pages la cr&amp;eacute;ation de primitives index&amp;eacute;es. Ce mode de liaison de vertices est la solution &amp;agrave; tous les probl&amp;egrave;mes pr&amp;eacute;c&amp;eacute;demment list&amp;eacute;s pour cr&amp;eacute;er des formes complexes en cr&amp;eacute;ant un minimum de vertices.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;L&amp;#39;image ci-dessus tente de montrer les diff&amp;eacute;rences que l&amp;#39;on peut trouver avec les trois premier modes pour l&amp;#39;affichage de triangles :&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;a target="_blank" href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/valentin.articles.CoursXna.article3/article3_2D00_2.png"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#0000ff;font-size:12.5pt;text-decoration:none;mso-no-proof:yes;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;text-underline:none;"&gt;&lt;img height="400" width="400" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/valentin.articles.CoursXna.article3/article3_2D00_2.png" style="vertical-align:middle;border:2px solid black;" alt="" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;&lt;br /&gt;a) Triangle List :&lt;br /&gt;3 triangles : Vertices (0, 1, 2) puis Vertices (3, 4, 5), puis Vertices (6 7, 8) : 9 vertices pour afficher 3 triangles.&lt;br /&gt;b) Triangle Fan :&lt;br /&gt;3 triangles : Vertices (0, 1, 2) puis Vertices (0, 2, 3), puis Vertices (0, 3, 4) : 5 vertices pour afficher 3 triangles.&lt;br /&gt;c) Triangle Strip :&lt;br /&gt;6 triangles : Vertices (0, 1, 2) puis Vertices (1, 2, 3), puis Vertices (2, 3, 4), puis Vertices (3, 4, 5), puis Vertices (4, 5, 6), puis Vertices (5, 6, 7) :&amp;nbsp;8 vertices pour afficher&amp;nbsp;6 triangles.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;Au vu de cette image on remarque bien les diff&amp;eacute;rences entre les types de reliaisons.&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt; D&amp;#39;autres reliaisons sont possible :&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;mso-bidi-font-size:11.0pt;"&gt;Point&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt; qui ne fait aucune liaison et laisse les points tels quels (tr&amp;egrave;s utile pour les effets de particules), &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;mso-bidi-font-size:11.0pt;"&gt;LineList&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt; qui relies les points deux &amp;agrave; deux&amp;nbsp;(utile pour dessiner des lignes)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;mso-bidi-font-size:11.0pt;"&gt;LineStrip&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt; qui relie un point &amp;agrave; son pr&amp;eacute;d&amp;eacute;cesseur.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;En C#, c&amp;#39;est l&amp;#39;&amp;eacute;num&amp;eacute;ration &lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#008080;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;PrimitiveType &lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;qui contient les diff&amp;eacute;rents types d&amp;#39;&amp;eacute;num&amp;eacute;rations possibles.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;Rappelons que nous&amp;nbsp;avons pour but d&amp;#39;afficher un triangle dans ce tutorial, il faudra donc cr&amp;eacute;er 3 vertices, leur donner une position et, au moment de l&amp;#39;affichage sp&amp;eacute;cifier la meilleure&amp;nbsp;m&amp;eacute;thode de liaison.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;mso-bidi-font-size:11.0pt;"&gt;Les effets&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;La premi&amp;egrave;re grande diff&amp;eacute;rence entre l&amp;#39;API DirectX et le Framework XNA auquel on est confront&amp;eacute; vient de l&amp;#39;obligation d&amp;#39;associer un effet &amp;agrave; toute op&amp;eacute;ration de rendu. Si vous n&amp;#39;avez jamais d&amp;eacute;velopp&amp;eacute; &amp;agrave; l&amp;#39;aide de DirectX vous devez vous demander ce qu&amp;#39;est un effet.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;Nous venons de voir que les objets sont pr&amp;eacute;sent&amp;eacute;s sous la formes de triangles (surface &amp;eacute;l&amp;eacute;mentaire). Nous sp&amp;eacute;cifions par l&amp;#39;interm&amp;eacute;diaire de notre code la position des points du triangle et d&amp;#39;autres informations comme la couleur de ces points. Un effet accompagne ces informations en indiquant &amp;agrave; la carte graphique comment afficher ces triangles. Il peut &amp;ecirc;tre vu comme un ensemble de technique qui peuvent &amp;ecirc;tre appliqu&amp;eacute;es (ou non) au&amp;nbsp;rendu d&amp;#39;une surface. Par techniques on peut entendre instructions donn&amp;eacute;es &amp;agrave; la&amp;nbsp;carte graphique pour lui &amp;quot;expliquer&amp;quot; de quel mani&amp;egrave;re l&amp;#39;objet, situ&amp;eacute; dans un espace&amp;nbsp;3D, doit &amp;ecirc;tre rendu sur l&amp;#39;&amp;eacute;cran 2D du joueur.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;Il s&amp;#39;agit l&amp;agrave;, il ne faut pas se le cacher, d&amp;#39;une technique encore trop complexe pour &amp;ecirc;tre abord&amp;eacute;e &amp;agrave; ce stade de notre apprentissage. Nous utiliserons donc un fichier effet basique fourni par Microsoft et nous ne l&amp;#39;aborderons que succintement.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;mso-bidi-font-size:11.0pt;"&gt;Modification du code source&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;Nous allons continuer sur notre lanc&amp;eacute;e et modifier notre pr&amp;eacute;c&amp;eacute;dent programme&amp;nbsp;nomm&amp;eacute; &amp;quot;PremierProjet&amp;quot;. Nous appliquerons au projet de cet article nomm&amp;eacute; &amp;agrave; juste titre &amp;quot;SecondProjet&amp;quot; les modifications et evolutions apport&amp;eacute;es&amp;nbsp;dans le pr&amp;eacute;c&amp;eacute;dent tutorial. &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;La premi&amp;egrave;re &amp;eacute;tape consiste &amp;agrave; ajouter un fichier effet au projet et &amp;agrave; le g&amp;eacute;rer dans le code.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;Pour ce faire cliquez droit sur le r&amp;eacute;pertoire Content du projet (destin&amp;eacute; &amp;agrave; g&amp;eacute;rer les ressources du jeu). Selectionnez Ajouter -&amp;gt; Nouvel Element.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-no-proof:yes;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;&lt;img height="366" width="379" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/valentin.articles.CoursXna.article3/article3_2D00_3.png" style="vertical-align:middle;border:2px solid black;" alt="" /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;Dans la fen&amp;ecirc;tre qui s&amp;#39;ouvre alors selectionnez Effect File et donnez le nom Effect.fx au fichier &amp;agrave; ajouter :&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-no-proof:yes;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;&lt;img height="441" width="630" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/valentin.articles.CoursXna.article3/article3_2D00_4.png" style="vertical-align:middle;border:2px solid black;" alt="" /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;Validez. Le fichier se trouve alors ajout&amp;eacute; au r&amp;eacute;pertoire Content.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;Si vous double cliquez dessus vous pourrez voir le code suivant :&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;;font-size:10pt;"&gt;&lt;span style="font-family:Calibri;"&gt;float4x4 World;&lt;br /&gt;float4x4 View;&lt;br /&gt;float4x4 Projection;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;// TODO: add effect parameters here.&lt;br /&gt;&amp;nbsp;&lt;br /&gt;struct VertexShaderInput&lt;br /&gt;{&lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;float4 Position : POSITION0;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;// TODO: add input channels such as texture&lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;// coordinates and vertex colors here.&lt;br /&gt;};&lt;br /&gt;&amp;nbsp;&lt;br /&gt;struct VertexShaderOutput&lt;br /&gt;{&lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;float4 Position : POSITION0;&lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;// TODO: add vertex shader outputs such as colors and texture&lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;// coordinates here. These values will automatically be interpolated&lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;// over the triangle, and provided as input to your pixel shader.&lt;br /&gt;};&lt;br /&gt;&amp;nbsp;&lt;br /&gt;VertexShaderOutput VertexShaderFunction(VertexShaderInput input)&lt;br /&gt;{&lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;VertexShaderOutput output;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;float4 worldPosition = mul(input.Position, World);&lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;float4 viewPosition = mul(worldPosition, View);&lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;output.Position = mul(viewPosition, Projection);&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;// TODO: add your vertex shader code here.&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;return output;&lt;br /&gt;}&lt;br /&gt;&amp;nbsp;&lt;br /&gt;float4 PixelShaderFunction(VertexShaderOutput input) : COLOR0&lt;br /&gt;{&lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;// TODO: add your pixel shader code here.&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;return float4(1, 0, 0, 1);&lt;br /&gt;}&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;technique Technique1&lt;br /&gt;{&lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;pass Pass1&lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;// TODO: set renderstates here.&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;VertexShader = compile vs_1_1 VertexShaderFunction();&lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;PixelShader = compile ps_1_1 PixelShaderFunction();&lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;font-size:12pt;mso-ascii-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-hansi-font-family:Calibri;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;&lt;span style="font-family:Calibri;"&gt;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;color:#000000;font-size:12pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;Nous reviendrons sur sa signification plus tard. Pour l&amp;#39;heure nous allons charger l&amp;#39;effet en m&amp;eacute;moire &amp;agrave; l&amp;#39;int&amp;eacute;rieur d&amp;#39;un object C# pour pouvoir l&amp;#39;utiliser. Ajoutez pour cel&amp;agrave;&amp;nbsp;le membre suivant &amp;agrave; la classe Game1 :&lt;/span&gt;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;color:#000000;font-size:12pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;span style="font-family:&amp;#39;;font-size:10pt;"&gt;Effect&lt;/span&gt;&lt;span style="font-family:&amp;#39;;font-size:10pt;"&gt; effect;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;color:#000000;font-size:12pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;Ajoutez l&amp;#39;instruction suivante &amp;agrave; la m&amp;eacute;thode Load de la classe Game1 :&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;span style="font-family:&amp;#39;;font-size:10pt;"&gt;this&lt;/span&gt;&lt;span style="font-family:&amp;#39;;font-size:10pt;"&gt;.effect = Content.Load&amp;lt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;;font-size:10pt;"&gt;Effect&lt;/span&gt;&lt;span style="font-family:&amp;#39;;font-size:10pt;"&gt;&amp;gt;(&lt;/span&gt;&lt;span style="font-family:&amp;#39;;font-size:10pt;"&gt;&amp;quot;Effect&amp;quot;&lt;/span&gt;&lt;span style="font-family:&amp;#39;;font-size:10pt;"&gt;);&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;Cette instruction va utiliser la m&amp;eacute;thode Load de l&amp;#39;objet content pour charger la ressource nomm&amp;eacute;e &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#a31515;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;&amp;quot;Effect&amp;quot;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;. La ressource renvoy&amp;eacute;e sera de type &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;Effect&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt; et affect&amp;eacute;e au handle effect. Pour rappel, il est sp&amp;eacute;cifi&amp;eacute; par d&amp;eacute;faut dans le constructeur que le r&amp;eacute;pertoire o&amp;ugrave; trouver les ressources est Content :&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;span style="font-family:&amp;#39;;font-size:10pt;"&gt;Content.RootDirectory = &lt;/span&gt;&lt;span style="font-family:&amp;#39;;font-size:10pt;"&gt;&amp;quot;Content&amp;quot;&lt;/span&gt;&lt;span style="font-family:&amp;#39;;font-size:10pt;"&gt;;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;color:#000000;font-size:12pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;L&amp;#39;objet &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;Content&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;, utilis&amp;eacute; dans l&amp;#39;instruction pr&amp;eacute;c&amp;eacute;dente correspond au Content Manager, c&amp;#39;est &amp;agrave; dire un objet dont le r&amp;ocirc;le est de g&amp;eacute;rer les ressources associ&amp;eacute;es au projet. Sa m&amp;eacute;thode Load&amp;nbsp;permet de charger une ressource&amp;nbsp;dans un objet dont les membres vous nous&amp;nbsp;permettre d&amp;#39;exploiter la dite ressource dans notre code. Ici on peut voir que notre fichier d&amp;#39;effet est manipul&amp;eacute; maintenant par l&amp;#39;interm&amp;eacute;diaire d&amp;#39;une instance de la classe &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;Effect&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;La string&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#a31515;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;&amp;quot;Effect&amp;quot;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt; est un identifier de ressource qui a &amp;eacute;t&amp;eacute; automatiquement associ&amp;eacute; &amp;agrave; notre effet lorsque nous l&amp;#39;avons ajout&amp;eacute; au projet. Selectionnez le fichier Effect.fx et appuyez sur F4. La fen&amp;ecirc;tre de propri&amp;eacute;t&amp;eacute; apparait alors :&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-no-proof:yes;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;&lt;img height="761" width="283" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/valentin.articles.CoursXna.article3/article3_2D00_5.png" style="vertical-align:middle;border:2px solid black;" alt="" /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;Vous pouvez y voir que l&amp;#39;une des propri&amp;eacute;t&amp;eacute; se nomme AssetName et correspond &amp;agrave; cette string. Vous &amp;ecirc;tes bien evidemment libre de modifier cette propri&amp;eacute;t&amp;eacute; pour lui donner la valeur de votre choix. Toutefois il est pr&amp;eacute;f&amp;eacute;rable de laisser le Xna Game Studio et Visual Studio effectuer ces choix&amp;nbsp;&amp;agrave; votre place.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;Modifiez ensuite la m&amp;eacute;thode Draw pour lui ajouter de nouvelles instructions :&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;span style="font-family:&amp;#39;;font-size:10pt;"&gt;this&lt;/span&gt;&lt;span style="font-family:&amp;#39;;font-size:10pt;"&gt;.effect.CurrentTechnique = effect.Techniques[&lt;/span&gt;&lt;span style="font-family:&amp;#39;;font-size:10pt;"&gt;&amp;quot;Technique1&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Calibri;"&gt;&lt;span style="font-family:&amp;#39;;font-size:10pt;"&gt;];&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;;font-size:10pt;"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Calibri;"&gt;&lt;span style="font-family:&amp;#39;;font-size:10pt;"&gt;.effect.Begin();&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;;font-size:10pt;"&gt;foreach&lt;/span&gt;&lt;span style="font-family:&amp;#39;;font-size:10pt;"&gt; (&lt;/span&gt;&lt;span style="font-family:&amp;#39;;font-size:10pt;"&gt;EffectPass&lt;/span&gt;&lt;span style="font-family:&amp;#39;;font-size:10pt;"&gt; pass &lt;/span&gt;&lt;span style="font-family:&amp;#39;;font-size:10pt;"&gt;in&lt;/span&gt;&lt;span style="font-family:&amp;#39;;font-size:10pt;"&gt; &lt;/span&gt;&lt;span style="font-family:&amp;#39;;font-size:10pt;"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Calibri;"&gt;&lt;span style="font-family:&amp;#39;;font-size:10pt;"&gt;.effect.CurrentTechnique.Passes)&lt;br /&gt;{&lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;pass.Begin();&lt;br /&gt;&lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;pass.End();&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;;font-size:10pt;"&gt;this&lt;/span&gt;&lt;span style="font-family:&amp;#39;;font-size:10pt;"&gt;.effect.End();&lt;/span&gt;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;color:#0000ff;font-size:12pt;mso-no-proof:yes;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;La premi&amp;egrave;re instruction s&amp;eacute;lectionne une technique nomm&amp;eacute;e &lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#a31515;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-fareast-language:FR;"&gt;&amp;quot;Technique1&amp;quot;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;&amp;nbsp;&lt;/span&gt;parmi celles contenues dans l&amp;#39;effet. &lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;Nous utilisons cet identifier tel quel en tant qu&amp;#39;index dans le tableau de technique. Notons juste qu&amp;#39;il s&amp;#39;agit l&amp;agrave; d&amp;#39;un code tr&amp;egrave;s mauvais ; il aurait &amp;eacute;t&amp;eacute; pr&amp;eacute;f&amp;eacute;rable d&amp;#39;utiliser une constante de type int. Trouver un objet &amp;agrave; l&amp;#39;aide d&amp;#39;un indexeur de type string est toujours plus long qu&amp;#39;avec un indexeur de type int (la comparaison de deux int est plus rapide&amp;nbsp;que deux strings). Or perdre du temps dans la m&amp;eacute;thode Draw est vraiment la derni&amp;egrave;re chose &amp;agrave; faire. Il y&amp;#39;a une explication &amp;agrave; cel&amp;agrave; : je trouve le code plus lisible ainsi pour les d&amp;eacute;butants :). &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;Alors qu&amp;#39;est ce qu&amp;#39;une technique ? Un fichier effet peut contenir une ou plusieurs technique qui s&amp;#39;apparentent &amp;agrave; un ensemble d&amp;#39;affichage possible pour une forme 3D.L&amp;#39;appel &amp;agrave; la m&amp;eacute;thode &lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-fareast-language:FR;"&gt;Begin&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;&amp;nbsp;indique que l&amp;#39;effet de la technique &lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#a31515;font-size:12pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;&amp;quot;Technique1&amp;quot;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt; commence &amp;agrave; partir de ce point et s&amp;#39;applique &amp;agrave; l&amp;#39;affichage de tous les objets jusqu&amp;#39;&amp;agrave; ce que la m&amp;eacute;thode &lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-fareast-language:FR;"&gt;End&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt; soit rencontr&amp;eacute;e. Entre ceux deux m&amp;eacute;thodes tout affichage sera soumi &amp;agrave; la technique &lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#a31515;font-size:12pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;&amp;quot;Technique1&amp;quot;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;Enfin, on a jamais vu quelqu&amp;#39;un peindre un chef d&amp;#39;oeuvre d&amp;#39;un seul coup de pinceau ; Appliquer un effet peut demander plusieurs couches ou &amp;quot;passes&amp;quot;. L&amp;agrave; encore une m&amp;eacute;thode &lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-fareast-language:FR;"&gt;Begin&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:Arial;mso-fareast-language:FR;"&gt; &lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;et &lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-fareast-language:FR;"&gt;End&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt; indiquent la zone de code o&amp;ugrave; l&amp;#39;effet de la passe courante est pris en compte. C&amp;#39;est entre ces deux m&amp;eacute;thodes que nous effectuerons l&amp;#39;affichage de notre triangle. Vous pouvez au passage revenir sur le code contenu dans le fichier Effect.fx. Vous trouverez &amp;agrave; la fin de celui-ci :&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;&lt;span style="font-family:Calibri;font-size:x-small;"&gt;technique Technique1&lt;br /&gt;{&lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;pass Pass1&lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;// TODO: set renderstates here.&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;VertexShader = compile vs_1_1 VertexShaderFunction();&lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;PixelShader = compile ps_1_1 PixelShaderFunction();&lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;br /&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;On y trouve la d&amp;eacute;finition de la technique&amp;nbsp; et on peut voir qu&amp;#39;elle se compose d&amp;#39;une passe redirigeant vers deux fonctions. Nous aborderons le HLSL plus tard, ne vous inquietez pas si le code de ce fichier vous parait obscur.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;Nous sommes justement maintenant prets &amp;agrave; afficher notre premi&amp;egrave;re forme 3D !&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;mso-bidi-font-size:11.0pt;"&gt;Premi&amp;egrave;re forme 3D !&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;Nous avons vu au tout d&amp;eacute;but de ce cours qu&amp;#39;un vertex &amp;eacute;tait un point dans l&amp;#39;espace auquel on associait un ensemble d&amp;#39;information li&amp;eacute;es &amp;agrave; son affichage dans l&amp;#39;espace. Le but de ce tutorial est d&amp;#39;afficher un triangle color&amp;eacute; &amp;agrave; l&amp;#39;&amp;eacute;cran. Chaque point dans l&amp;#39;espace (vertex) doit donc &amp;ecirc;tre associ&amp;eacute; &amp;agrave; une position et un couleur donc. Cerise sur le gateau nous n&amp;#39;aurons pas besoin de cr&amp;eacute;er une structure de Vertex pour encapsuler ces deux informations : XNA en poss&amp;egrave;de une qui r&amp;eacute;pond &amp;agrave; nos besoins : la structure &lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#008080;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;VertexPositionColor&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;Un triangle est compos&amp;eacute; de trois points,&amp;nbsp;il faut&amp;nbsp;donc cr&amp;eacute;er un tableau de trois cases de type &lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#008080;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;VertexPositionColor&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;. Ajoutez la d&amp;eacute;claration suivante en d&amp;eacute;but de classe :&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:Calibri;"&gt;&lt;span style="font-family:&amp;#39;;font-size:10pt;"&gt;VertexPositionColor&lt;/span&gt;&lt;span style="font-family:&amp;#39;;font-size:10pt;"&gt;[] vertices;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;Puis, dans la m&amp;eacute;thode Initialize nous allons cr&amp;eacute;er trois vertices et l&amp;#39;affecter aux trois cases de ce tableau.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;span style="font-family:&amp;#39;;font-size:10pt;"&gt;vertices = &lt;/span&gt;&lt;span style="font-family:&amp;#39;;font-size:10pt;"&gt;new&lt;/span&gt;&lt;span style="font-family:&amp;#39;;font-size:10pt;"&gt; &lt;/span&gt;&lt;span style="font-family:&amp;#39;;font-size:10pt;"&gt;VertexPositionColor&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Calibri;"&gt;&lt;span style="font-family:&amp;#39;;font-size:10pt;"&gt;[3];&lt;br /&gt;vertices[2].Position = &lt;/span&gt;&lt;span style="font-family:&amp;#39;;font-size:10pt;"&gt;new&lt;/span&gt;&lt;span style="font-family:&amp;#39;;font-size:10pt;"&gt; &lt;/span&gt;&lt;span style="font-family:&amp;#39;;font-size:10pt;"&gt;Vector3&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Calibri;"&gt;&lt;span style="font-family:&amp;#39;;font-size:10pt;"&gt;(-0.5f, -0.5f, 0f);&lt;br /&gt;vertices[2].Color = &lt;/span&gt;&lt;span style="font-family:&amp;#39;;font-size:10pt;"&gt;Color&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Calibri;"&gt;&lt;span style="font-family:&amp;#39;;font-size:10pt;"&gt;.Red;&lt;br /&gt;vertices[1].Position = &lt;/span&gt;&lt;span style="font-family:&amp;#39;;font-size:10pt;"&gt;new&lt;/span&gt;&lt;span style="font-family:&amp;#39;;font-size:10pt;"&gt; &lt;/span&gt;&lt;span style="font-family:&amp;#39;;font-size:10pt;"&gt;Vector3&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Calibri;"&gt;&lt;span style="font-family:&amp;#39;;font-size:10pt;"&gt;(0, 0.5f, 0f);&lt;br /&gt;vertices[1].Color = &lt;/span&gt;&lt;span style="font-family:&amp;#39;;font-size:10pt;"&gt;Color&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Calibri;"&gt;&lt;span style="font-family:&amp;#39;;font-size:10pt;"&gt;.Green;&lt;br /&gt;vertices[0].Position = &lt;/span&gt;&lt;span style="font-family:&amp;#39;;font-size:10pt;"&gt;new&lt;/span&gt;&lt;span style="font-family:&amp;#39;;font-size:10pt;"&gt; &lt;/span&gt;&lt;span style="font-family:&amp;#39;;font-size:10pt;"&gt;Vector3&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Calibri;"&gt;&lt;span style="font-family:&amp;#39;;font-size:10pt;"&gt;(0.5f, -0.5f, 0f);&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;;font-size:10pt;"&gt;vertices[0].Color = &lt;/span&gt;&lt;span style="font-family:&amp;#39;;font-size:10pt;"&gt;Color&lt;/span&gt;&lt;span style="font-family:&amp;#39;;font-size:10pt;"&gt;.Yellow;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;Ici le code est plutot simple : trois vertices sont cr&amp;eacute;&amp;eacute;s. Chacun deux se voit affecter une position et une couleur. Nous sommes dans l&amp;#39;espace 3D. Une position correspond donc &amp;agrave; trois composantes X, Y, Z (rep&amp;egrave;re euclidien orthonorm&amp;eacute; dans l&amp;#39;espace). Le constructeur de &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#008080;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;Vector3 &lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;accepte en param&amp;egrave;tre ces trois composantes.Reste maintenant l&amp;#39;affichage dudit triangle. La m&amp;eacute;thode Draw poss&amp;egrave;de deux nouvelles instructions.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;span style="font-family:&amp;#39;;font-size:10pt;"&gt;this&lt;/span&gt;&lt;span style="font-family:&amp;#39;;font-size:10pt;"&gt;.graphics.GraphicsDevice.VertexDeclaration = &lt;/span&gt;&lt;span style="font-family:&amp;#39;;font-size:10pt;"&gt;new&lt;/span&gt;&lt;span style="font-family:&amp;#39;;font-size:10pt;"&gt; &lt;/span&gt;&lt;span style="font-family:&amp;#39;;font-size:10pt;"&gt;VertexDeclaration&lt;/span&gt;&lt;span style="font-family:&amp;#39;;font-size:10pt;"&gt;(&lt;/span&gt;&lt;span style="font-family:&amp;#39;;font-size:10pt;"&gt;this&lt;/span&gt;&lt;span style="font-family:&amp;#39;;font-size:10pt;"&gt;.graphics.GraphicsDevice, &lt;/span&gt;&lt;span style="font-family:&amp;#39;;font-size:10pt;"&gt;VertexPositionColor&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Calibri;"&gt;&lt;span style="font-family:&amp;#39;;font-size:10pt;"&gt;.VertexElements);&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;;font-size:10pt;"&gt;this&lt;/span&gt;&lt;span style="font-family:&amp;#39;;font-size:10pt;"&gt;.graphics.GraphicsDevice.DrawUserPrimitives(&lt;/span&gt;&lt;span style="font-family:&amp;#39;;font-size:10pt;"&gt;PrimitiveType&lt;/span&gt;&lt;span style="font-family:&amp;#39;;font-size:10pt;"&gt;.TriangleList, vertices, 0, 1);&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;Dans la premi&amp;egrave;re ins truction nous pr&amp;eacute;cisions la structure des vertices qui sont pass&amp;eacute;s au device graphique. la structure VertexPositionColor&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;contient un membre statique nomm&amp;eacute; VertexElements qui pr&amp;eacute;cise que la structure contient une information de position, et une information de couleur. De cette mani&amp;egrave;re, la carte graphique optimise la gestion m&amp;eacute;moire en vue de l&amp;rsquo;arriv&amp;eacute;e dans le pipeline d&amp;rsquo;un flux de vertices contenant ce type de donn&amp;eacute;es.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;Dans la seconde instruction justement, nous passons &amp;agrave; la carte graphique une instruction de dessin en pr&amp;eacute;cisant, la mani&amp;egrave;re dont on va relier les vertices, le flux de vertices, l&amp;rsquo;index du premier vertex &amp;agrave; lire dans le flux et le nombre de primitives (triangles) &amp;agrave; afficher. Ici nous utilisons la technique TriangleList, nous donnons un flux de trois vertices (le tableau que nous venons d&amp;#39;initialiser),&amp;nbsp;nous lisons le flux&amp;nbsp;&amp;agrave; partir du premier vertex,&amp;nbsp;et nous n&amp;#39;affichons qu&amp;#39;un seul triangle.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;Si vous lancez le code vous obtenez la fen&amp;ecirc;tre :&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12pt;mso-no-proof:yes;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;&lt;img height="500" width="592" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/valentin.articles.CoursXna.article3/article3_2D00_6.png" style="vertical-align:middle;border:2px solid black;" alt="" /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;A priori on s&amp;rsquo;attendait &amp;agrave; avoir un triangle affich&amp;eacute; et non un &amp;eacute;cran bleu. Il est en effet n&amp;eacute;cessairede sp&amp;eacute;cifier la fa&amp;ccedil;on dont on veut afficher la sc&amp;egrave;ne 3D &amp;agrave; l&amp;rsquo;&amp;eacute;cran.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;L&amp;rsquo;affichage d&amp;rsquo;un objet 3D &amp;agrave; l&amp;rsquo;&amp;eacute;cran se r&amp;eacute;alise g&amp;eacute;n&amp;eacute;ralement&amp;nbsp;par l&amp;rsquo;interm&amp;eacute;diaire de trois matrices. Une matrice est une &amp;laquo;&amp;nbsp;boite magique&amp;nbsp;&amp;raquo; math&amp;eacute;matique qui permet de r&amp;eacute;aliser des &amp;eacute;quations lin&amp;eacute;aires avec peu de traitements. Elles sont utilis&amp;eacute;es en 3D pour r&amp;eacute;aliser&amp;nbsp;de nombreux calculs fastidieux de mani&amp;egrave;re extremement rapide et efficaces. Ces trois matrices sont les suivantes :&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12pt;mso-fareast-font-family:Verdana;mso-bidi-font-family:Verdana;mso-fareast-language:FR;"&gt;&lt;span style="mso-list:Ignore;"&gt;1.&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;La premi&amp;egrave;re matrice est la matrice World, elle sp&amp;eacute;cifie o&amp;ugrave; placer un objet dans un rep&amp;egrave;re 3D (translation), son orientation (rotation), et sa taille (homothetie). &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12pt;mso-fareast-font-family:Verdana;mso-bidi-font-family:Verdana;mso-fareast-language:FR;"&gt;&lt;span style="mso-list:Ignore;"&gt;2.&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;La matrice View pr&amp;eacute;cise la fa&amp;ccedil;on dont est &amp;laquo;&amp;nbsp;film&amp;eacute;&amp;nbsp;&amp;raquo; la sc&amp;egrave;ne. On parle alors de cam&amp;eacute;ra. &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12pt;mso-fareast-font-family:Verdana;mso-bidi-font-family:Verdana;mso-fareast-language:FR;"&gt;&lt;span style="mso-list:Ignore;"&gt;3.&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;La troisi&amp;egrave;me matrice,&amp;nbsp;nomm&amp;eacute;e Projection donne les caract&amp;eacute;ristiques de la cam&amp;eacute;ra, comme l&amp;rsquo;angle d&amp;rsquo;ouverture, la taille de l&amp;rsquo;&amp;eacute;cran, etc. &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;Ajoutez ces trois instructions &amp;agrave; la m&amp;eacute;thode Draw, juste avant le premier appel &amp;agrave; Begin :&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:Calibri;"&gt;&lt;span style="font-family:&amp;#39;;font-size:10pt;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;.effect.Parameters[&lt;/span&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&amp;quot;World&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;].SetValue(&lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;Matrix&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;.Identity);&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;.effect.Parameters[&lt;/span&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&amp;quot;View&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;].SetValue(&lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;Matrix&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;.CreateLookAt(&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;new&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;Vector3&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;(0, 0, -2), &lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;Vector3&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;.Zero, &lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;Vector3&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;.Up));&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;.effect.Parameters[&lt;/span&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&amp;quot;Projection&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;].SetValue(&lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;Matrix&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;.CreatePerspectiveFieldOfView(&lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;MathHelper&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;.PiOver4, &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;.GraphicsDevice.Viewport.AspectRatio, 0.1f, 100f)); &lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;La propri&amp;eacute;t&amp;eacute;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-fareast-language:FR;"&gt;Parameters&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt; de la classe Effect permet d&amp;#39;acc&amp;eacute;der aux variables pr&amp;eacute;sentes dans le fichier effet et de leur affecter une valeur ou bien de la lire. Le fichier effet expose, comme on va le voir bient&amp;ocirc;t trois variables, World, View et Projection. Nous leur donnons ici, &amp;agrave; chacune, la valeur d&amp;#39;une matrice. &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;Pour la matrice World, nous indiquons qu&amp;#39;il n&amp;#39;y aura pas de transformation, la valeur Identit&amp;eacute; de la matrice (matrice n&amp;#39;effectuant aucun calcul) est est ainsi pass&amp;eacute; &amp;agrave; cette variable. &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;Pour la matrice View nous utilisons la m&amp;eacute;thode&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-fareast-language:FR;"&gt;CreateLookAt&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt; de la classe&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#2b91af;font-size:12pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-fareast-language:FR;"&gt;Matrix&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt; afin de pr&amp;eacute;ciser la position de la cam&amp;eacute;ra (ici la cam&amp;eacute;ra est simplement recul&amp;eacute;e de deux unit&amp;eacute;s en profondeur), l&amp;#39;endroit vers lequel on regarde (ici on regarde vers l&amp;#39;origine (0, 0, 0) ) et l&amp;#39;angle de la cam&amp;eacute;ra avec l&amp;#39;horizontale (ici angle droit). &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;Enfin la matrice Projection sp&amp;eacute;cifie un angle d&amp;#39;ouverture de 45&amp;deg; (PI/4), le ratio (largeur de l&amp;#39;&amp;eacute;cran sur sa hauteur), et enfin deux valeurs importantes : la distance &amp;agrave; la cam&amp;eacute;ra &amp;agrave;&amp;nbsp;partir de la quelle on peut voir un objet, et la distance au del&amp;agrave; de laquelle un objet n&amp;#39;est plus visible (front plane et far plane). L&amp;agrave; encore une m&amp;eacute;thode de la classe&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#2b91af;font-size:12pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-fareast-language:FR;"&gt;Matrix&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt; nomm&amp;eacute;e &lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-fareast-language:FR;"&gt;CreatePerspectiveFieldOfView&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;&amp;nbsp;permet de cr&amp;eacute;er une matrice facilement.&amp;nbsp;Le ratio permet de garder un aspect coh&amp;eacute;rent pour notre sc&amp;egrave;ne en cours d&amp;#39;affichage quelque soit la taille de la zone d&amp;#39;affichage. &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;Ces trois matrices sont multipli&amp;eacute;es entre elles afin de passer d&amp;#39;une sc&amp;egrave;ne 3D &amp;agrave; un &amp;eacute;cran 2D. C&amp;#39;est la carte graphique qui s&amp;#39;occupe de cel&amp;agrave;. On peut donc voir ces calculs comme le moyen de passer d&amp;#39;une position dans l&amp;#39;espace (X, Y Z) avec des propri&amp;eacute;t&amp;eacute;s de couleur, de texturing, d&amp;#39;illumination &amp;agrave; une position &amp;agrave; l&amp;#39;&amp;eacute;cran (X, Y) d&amp;#39;un pixel color&amp;eacute;.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;&lt;/span&gt;&amp;nbsp;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;Si vous relancez le programme maintenant vous obtenez l&amp;#39;&amp;eacute;cran suivant : &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12pt;mso-no-proof:yes;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;&lt;img height="490" width="608" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/valentin.articles.CoursXna.article3/article3_2D00_7.png" style="vertical-align:middle;border:2px solid black;" alt="" /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;Mieux, mais toujours insuffisant ! A priori nous devions avoir un triangle avec plusieurs couleurs, or l&amp;agrave;, seul le rouge est visible. Il va nous falloir, pour aboutir &amp;agrave; ce r&amp;eacute;sultat, &amp;eacute;tudier et comprendre le code du fichier effet afin de pouvoir le modifier. &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;Courage ! Ouvrez donc maintenant le fichier effect.fx en double cliquant dessus&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;. Vous devriez tomber sur le code pr&amp;eacute;c&amp;eacute;demment affich&amp;eacute; dans cet article. A premi&amp;egrave;re vue le code semble assez proche du language C. C&amp;rsquo;est enfait du HLSL (High Level Shader Language). Il est donc assez &amp;quot;lisible&amp;quot;, mais nous allons tout de m&amp;ecirc;me l&amp;#39;expliciter. Etudions le. &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;Au tout d&amp;eacute;but du fichier se trouve les d&amp;eacute;clarations de variables globales du fichier effet. On y retrouve justement les trois d&amp;eacute;clarations de matrices que nous avons affect&amp;eacute; pr&amp;eacute;c&amp;eacute;demment :&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;float4x4 World;&lt;br /&gt;&lt;span style="mso-no-proof:yes;"&gt;float4x4 View;&lt;br /&gt;float4x4 Projection;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;On affecte des valeurs ou on r&amp;eacute;cupere la valeur d&amp;#39;une de ces variables &amp;agrave; l&amp;#39;aide de la propri&amp;eacute;t&amp;eacute; Parameters de l&amp;#39;objet effect :&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;this&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;mso-no-proof:yes;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;.effect.Parameters[&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#a31515;font-size:10pt;mso-no-proof:yes;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;&amp;quot;View&amp;quot;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;mso-no-proof:yes;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;].SetValue(&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-no-proof:yes;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;Matrix&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;mso-no-proof:yes;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;.CreateLookAt(&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;font-size:10pt;mso-no-proof:yes;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;new&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;mso-no-proof:yes;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt; &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-no-proof:yes;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;Vector3&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;mso-no-proof:yes;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;(0, 0, -2), &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-no-proof:yes;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;Vector3&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;mso-no-proof:yes;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;.Zero, &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-no-proof:yes;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;Vector3&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;mso-no-proof:yes;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;.Up));&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;Passons &amp;agrave; la suite du fichier. On trouve apr&amp;egrave;s ces trois variables la d&amp;eacute;claration de deux structures :&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;struct VertexShaderInput&lt;br /&gt;&lt;span style="mso-no-proof:yes;"&gt;{&lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;float4 Position : POSITION0;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;// TODO: add input channels such as texture&lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;// coordinates and vertex colors here.&lt;br /&gt;};&lt;br /&gt;&amp;nbsp;&lt;br /&gt;struct VertexShaderOutput&lt;br /&gt;{&lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;float4 Position : POSITION0;&lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;// TODO: add vertex shader outputs such as colors and texture&lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;// coordinates here. These values will automatically be interpolated&lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;// over the triangle, and provided as input to your pixel shader.&lt;br /&gt;};&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;G&amp;eacute;n&amp;eacute;ralement, un effet r&amp;eacute;alise l&amp;#39;affichage d&amp;#39;un objet auquel il est li&amp;eacute; en deux &amp;eacute;tapes. La premi&amp;egrave;re &amp;eacute;tape, consiste &amp;agrave; manipuler les vertices de l&amp;#39;objet &amp;agrave; leur appliquer une suite de transformations et de calculs afin de pouvoir passer de la repr&amp;eacute;sentation 3D de l&amp;#39;objet &amp;agrave; un &amp;eacute;cran 2D. Cette &amp;eacute;tape correspond &amp;agrave; ce qu&amp;#39;on appelle le vertex shader. Dans une seconde &amp;eacute;tape, nomm&amp;eacute;e Pixel Shader chaque triangle de la sc&amp;egrave;ne est convertie en pixels et chaque pixels est color&amp;eacute; &amp;agrave; sa juste valeur. A priori, si notre probl&amp;egrave;me vient de la couleur du triangle, c&amp;#39;est sur le pixel shader qu&amp;#39;il va faloir travailler. A quoi servent donc les deux structures ci-dessus ? Elle permettent de r&amp;eacute;aliser plusieurs types d&amp;#39;&amp;eacute;changes de donn&amp;eacute;es :&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;D&amp;#39;abord entre l&amp;#39;ext&amp;eacute;rieur (notre programme C#) vers le premier shader de l&amp;#39;effet (le vertex shader)&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;Puis entre le vertex shader et le pixel shader &lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;Et enfin entre le pixel shader et la carte graphique pour l&amp;#39;affichage final. &lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;La premi&amp;egrave;re structure, nomm&amp;eacute;e &amp;agrave; juste titre&amp;nbsp;VertexShaderInput permet &amp;agrave; l&amp;#39;effet de recevoir tous les vertices que nous avons pass&amp;eacute; &amp;agrave; l&amp;#39;aide de la m&amp;eacute;thode DrawUserPrimitives. Il ne recevra ici qu&amp;#39;une information de Position :&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;struct VertexShaderInput&lt;br /&gt;&lt;span style="mso-no-proof:yes;"&gt;{&lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;float4 Position : POSITION0;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;// TODO: add input channels such as texture&lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;// coordinates and vertex colors here.&lt;br /&gt;};&lt;br /&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;On remarque donc ici un premier probl&amp;egrave;me : il n&amp;#39;y a pas de membre pour stocker la couleur du vertex ! &lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;La seconde struture nomm&amp;eacute;e VertexShaderOutput est la structure de donn&amp;eacute;e &amp;eacute;chang&amp;eacute;e entre le Vertex Shader et le Pixel Shader. &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;Un&amp;nbsp;shader dans un effet peut donc &amp;ecirc;tre vu comme une fonction qui, renvoie ou re&amp;ccedil;oit une structure (comme celles que nous venons de d&amp;eacute;crire) effectue des traitement sur les donn&amp;eacute;es de celle-ci,&amp;nbsp;et renvoie une autre structure de donn&amp;eacute;es contenant le resultat de ces traitements.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;Etudions la premi&amp;egrave;re fonction :&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;&amp;nbsp;&lt;br /&gt;&lt;span style="mso-no-proof:yes;"&gt;VertexShaderOutput VertexShaderFunction(VertexShaderInput input)&lt;br /&gt;{&lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;VertexShaderOutput output;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;float4 worldPosition = mul(input.Position, World);&lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;float4 viewPosition = mul(worldPosition, View);&lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;output.Position = mul(viewPosition, Projection);&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;// TODO: add your vertex shader code here.&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;return output;&lt;br /&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;Elle prend en entr&amp;eacute;e une valeur de type VertexShaderInput et renvoie une valeur de type VertexShaderOutput. La premi&amp;egrave;re instruction de la fonction vise &amp;agrave; cr&amp;eacute;er une variable nomm&amp;eacute;e ouput&amp;nbsp;de type VertexShaderOutput. Elle multiplie ensuite&amp;nbsp;&amp;agrave; l&amp;#39;aide la m&amp;eacute;thode mul la position du vertex courant (re&amp;ccedil;u directement depuis le flux envoy&amp;eacute; par&amp;nbsp;la m&amp;eacute;thode Draw) par la matrice Word afin de placer le vertex dans le monde 3D. Elle multiplie ensuite le resultat de cette op&amp;eacute;ration par la matrice View afin d&amp;#39;avoir la repr&amp;eacute;sentation du vertex dans l&amp;#39;espace depuis notre &amp;quot;camera&amp;quot;. Enfin une multiplication est r&amp;eacute;alis&amp;eacute;e avec la matrice Projection pour passer du monde 3D &amp;agrave; l&amp;#39;&amp;eacute;cran 2D. La valeur obtenue est affect&amp;eacute; &amp;agrave; un des membre de la variable ouput qui est elle-m&amp;ecirc;me renvoy&amp;eacute;e.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;La seconde m&amp;eacute;thode se pr&amp;eacute;sente comme ceci :&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;float4 PixelShaderFunction(VertexShaderOutput input) : COLOR0&lt;br /&gt;&lt;span style="mso-no-proof:yes;"&gt;{&lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;// TODO: add your pixel shader code here.&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;return float4(1, 0, 0, 1);&lt;br /&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;Elle prend une valeur de type VertexShaderOuput (re&amp;ccedil;ue depuis la fonction&amp;nbsp;pr&amp;eacute;c&amp;eacute;dente)&amp;nbsp;et renvoie un tableau de 4 flottants. Nous reviendrons sur la signification exacte du type float4 plus tard. Quoi qu&amp;rsquo;il en soit &amp;agrave; ce stade nous pouvons dire que les 4 flottants correspondent aux composantes RGBA (rouge, vert, bleu, alpha) de la couleur &amp;agrave; attribuer au pixel. 1 correspondant &amp;agrave; la valeur maximale de la composante et 0 &amp;agrave; la minimale. Ici la couleur renvoy&amp;eacute;e est donc le rouge. On remarque donc ici un second probl&amp;egrave;me : tout pixel sera rouge ! &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;Enfin le fichier se termine par la d&amp;eacute;finition de la technique :&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;span style="font-family:&amp;#39;;font-size:x-small;"&gt;technique Technique1&lt;br /&gt;{&lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;pass Pass1&lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;// TODO: set renderstates here.&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;VertexShader = compile vs_1_1 VertexShaderFunction();&lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;PixelShader = compile ps_1_1 PixelShaderFunction();&lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;br /&gt;}&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;Le fichier ne contient donc qu&amp;rsquo;une seule technique nomm&amp;eacute;e Technique1. Celle-ci r&amp;eacute;alise son affichage en une seul passe nomm&amp;eacute;e Pass1.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;La passe se caract&amp;eacute;rise par un vertex shader et un pixel shader. On retrouve un pointeur vers nos deux m&amp;eacute;thodes. Les mots cl&amp;eacute;s &amp;quot;compile vs_1_1&amp;quot;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;et &amp;quot;compile ps_1_1&amp;quot; indiquent que les shaders doivent &amp;ecirc;tre compil&amp;eacute;s dans la version 1.1 du language.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;Pas d&amp;rsquo;inqui&amp;eacute;tudes s&amp;rsquo;il reste des zones d&amp;rsquo;ombre, nous avons parcouru le fichier tr&amp;egrave;s rapidement sans nous attader sur certaines sp&amp;eacute;cificit&amp;eacute;s syntaxiques. Revenons &amp;agrave; notre probl&amp;egrave;me&amp;nbsp;: le triangle rouge.&lt;br /&gt;Premier soucis, la structure en entr&amp;eacute;e ne contient qu&amp;rsquo;une information de Position. Or la structure que nous manipulons dans le programme C# contient Position et Couleur. Modifiez la structure ainsi&amp;nbsp;:&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;struct VertexShaderInput&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;float4 Position : POSITION0;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;float4 Color&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;: COLOR0;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;// TODO: add input channels such as texture&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;// coordinates and vertex colors here.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;};&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;&lt;br /&gt;Nous avons rajout&amp;eacute; un nouveau champs nomm&amp;eacute; Color de type COLOR0. R&amp;eacute;alisez la m&amp;ecirc;me op&amp;eacute;ration avec la structure de sortie&amp;nbsp;:&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;struct VertexShaderOutput&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;float4 Position : POSITION0;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;float4 Color&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;: COLOR0;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;// TODO: add vertex shader outputs such as colors and texture&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;// coordinates here. These values will automatically be interpolated&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;// over the triangle, and provided as input to your pixel shader.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;};&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;&lt;br /&gt;Reste maintenant &amp;agrave; modifier les shaders. Commencez par le vertex shader. Nous avons juste ici &amp;agrave; ajouter une ligne d&amp;rsquo;affection pour r&amp;eacute;cup&amp;eacute;rer la couleur du vertex entrant et la passer &amp;agrave; la valeur envoy&amp;eacute;e en sortie de m&amp;eacute;thode&amp;nbsp;:&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;VertexShaderOutput VertexShaderFunction(VertexShaderInput input)&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;VertexShaderOutput output;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;float4 worldPosition = mul(input.Position, World);&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;float4 viewPosition = mul(worldPosition, View);&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;output.Position = mul(viewPosition, Projection);&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;output.Color = input.Color;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;// TODO: add your vertex shader code here.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;return output;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;&lt;br /&gt;Reste le pixel shader. Nous n&amp;rsquo;avons plus &amp;agrave; renvoyer la couleur rouge mais plut&amp;ocirc;t &amp;agrave; renvoyer celle de la valeur en entr&amp;eacute;e qui est la sortie de la m&amp;eacute;thode pr&amp;eacute;c&amp;eacute;dente&amp;nbsp;:&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;float4 PixelShaderFunction(VertexShaderOutput input) : COLOR0&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;// TODO: add your pixel shader code here.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;return input.Color;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;}&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;Relancez le programme. Nous obtenons enfin la sortie voulue&amp;nbsp;:&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;&lt;img height="627" width="808" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/valentin.articles.CoursXna.article3/article3_2D00_8.png" style="vertical-align:middle;border:2px solid black;" alt="" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;mso-bidi-font-size:11.0pt;"&gt;Conclusion&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;De nombreuses choses auraient pu &amp;ecirc;tre vues ici : les effets plus en profondeurs, un peu de math&amp;eacute;matiques 3D, les diff&amp;eacute;rentes m&amp;eacute;thodes d&amp;#39;affichage du Device... Tout cela sera en fait assimil&amp;eacute; au fil des tutoriaux. Pas d&amp;#39;inqui&amp;eacute;tudes &amp;agrave; avoir donc. Pour l&amp;#39;heure nous pouvons &amp;ecirc;tre fier : nous savons cr&amp;eacute;er un effet, l&amp;#39;appliquer. Nous sommes capable de cr&amp;eacute;er une forme et de l&amp;#39;afficher (avec couleurs s&amp;#39;il vous plait !). Comme exercice en attendant de lire le prochain tutorial, essayez d&amp;#39;afficher un carr&amp;eacute; et une maison. Essayez de m&amp;ecirc;me de reproduire le carr&amp;eacute; avec les m&amp;eacute;thodes TriangleFan et TriangleStrip.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;Pas d&amp;rsquo;inqui&amp;eacute;tude &amp;agrave; avoir si il vous reste de nombreuses zones d&amp;rsquo;ombre sur les effets et le code qu&amp;rsquo;ils contiennent, nous apprendrons au cours d&amp;rsquo;un long tutorial &amp;agrave; maitriser le HLSL.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-no-proof:yes;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;&lt;img height="21" width="20" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/valentin/download.gif" style="vertical-align:middle;" alt="" /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;&amp;nbsp;Vous pouvez t&amp;eacute;l&amp;eacute;charger le sample et les correction des exercices&amp;nbsp;&lt;a target="_blank" href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/valentin.articles.CoursXna.article3/7851.SecondProject.zip"&gt;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;color:#000000;mso-bidi-font-size:11.0pt;"&gt;ici&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;.&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-no-proof:yes;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;&lt;img height="24" width="24" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/valentin/sommaire.png" style="vertical-align:middle;" alt="" /&gt;&lt;/span&gt;&lt;span style="background-image:none;background-attachment:scroll;background-repeat:repeat;font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;background-position:0% 0%;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;&lt;span style="background-color:#ffff00;"&gt;Retourner au &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;&lt;a href="http://msmvps.com/blogs/valentin/archive/2007/03/30/tutoriaux-xna-sommaire-g-n-ral.aspx"&gt;&lt;span style="color:#0000ff;mso-bidi-font-size:11.0pt;"&gt;&lt;span style="background-color:#ffff00;"&gt;sommaire des cours&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;font-size:12.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:FR;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=488750" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/valentin/archive/tags/Visual+Studio/default.aspx">Visual Studio</category><category domain="http://msmvps.com/blogs/valentin/archive/tags/Coding/default.aspx">Coding</category><category domain="http://msmvps.com/blogs/valentin/archive/tags/Tutorial/default.aspx">Tutorial</category><category domain="http://msmvps.com/blogs/valentin/archive/tags/XNA/default.aspx">XNA</category><category domain="http://msmvps.com/blogs/valentin/archive/tags/Effect/default.aspx">Effect</category></item></channel></rss>