Bonjour,
Je viens de me mettre au XNA4... histoire de tester, toutefois dans ma "jeunesse" j'avais une certaine habitude de l'opengl et de direct3D.
J'ai donc créé un tableau avec 3 points (vertices) et je les affiche. Jusque là pas de soucis.
ma matrice view:
effect.Parameters["View"].SetValue(Matrix.CreateLookAt(new Vector3(0, 0, 2), Vector3.Zero, Vector3.Up));
J'ai mis le cull en counterclockwise (c'est le défaut, mais pour le plaisir...):
graphics.GraphicsDevice.RasterizerState = RasterizerState.CullCounterClockwise;
puis je dessine ces 3 points :
1 2 3 4 5 6
| vertices[0].Position = new Vector3(-0.5f, -0.5f, -2f);
vertices[0].Color = Color.Blue;
vertices[1].Position = new Vector3(-0.5f, 0.5f, -2f);
vertices[1].Color = Color.Black;
vertices[2].Position = new Vector3(0.5f, -0.5f, -2f);
vertices[2].Color = Color.Red; |
Le problème, c'est que l'ordre de ces points est "clockwise", le triange ne devrait pas apparaître à l'écran non ? et pourtant il apparaît et si j'inverse les points il disparaît.
Est-ce que "RasterizerState.CullCounterClockwise;" = affiche les triangles en clockwise et pas les autres ?
J'espère avoir été assez clair
merci d'avance
oldteen
Partager