Développement XNA pour la XBox et le PC
264
À la manière d’un objet SpriteBatch, il faut dessiner les objets auxquels vous souhaitez
appliquer un effet entre les méthodes Begin() et End() de l’objet BasicEffect.
effect.Begin();
// Dessin
effect.End();
Un effet possède une ou plusieurs techniques. Chacune de ces techniques possède à son
tour une ou plusieurs passes. Une passe contient les différents traitements à effectuer.
Pour appliquer un effet, vous devrez donc parcourir la liste de passes d’une technique
donnée. Cependant, la classe BasicEffect n’a qu’une seule technique et une seule passe.
Nous reviendrons sur ces notions en détail au chapitre 13 dans la section « Finaliser un
effet, les techniques et les passes ».
effect.Begin();
foreach(EffectPass CurrentPass in effect.CurrentTechnique.Passes)
{
CurrentPass.Begin();
CurrentPass.End();
}
effect.End();
Comprendre la projection
Comment XNA transforme-t-il une scène en 3D vers une image en 2D que votre écran
pourra afficher ? C’est le principe de la projection, le but étant d’obtenir la même image
que ce que nos yeux verraient si nous étions dans la scène. XNA supporte deux types de
projection :
• La projection en perspective est la plus couramment utilisée. Dans ce type de projection,
l’ensemble des objets présents dans un volume en forme de pyramide tronquée (défini
par un plan proche (near plane), un plan éloigné (far plane) et un angle appelé champ
Tableau 12-4 Principales propriétés de la classe BasicEffect
Propriété
Effet
LightingEnabled
Si elle est définie à false, la scène possède une source de lumière qui illumine toutes les
faces de tous les objets, sinon, la source de lumière sera celle définie par l’effet.
AmbientLightColor
Cette propriété permet de définir la couleur de la lumière ambiante qui illumine de la
même manière toutes les faces de tous les objets si la propriété LightEnabled est définie
à true.
DirectionalLight0
DirectionalLight1
DirectionalLight2
Ces propriétés définissent des lumières directionnelles qui seront utilisées seulement si
la propriété LightingEnabled est définie à true.
FogColor
FogStart
FogEnd
Ces propriétés font apparaître du brouillard sur les scènes. Spécifiez la couleur du
brouillard, ainsi que la distance où il commence et où il se ter mine.
=Labat FM.book Page 264 Vendredi, 19. juin 2009 4:01 16
Précédent

- 285/366

Suivant