je souhaite créer un rectangle plein à l'aide d'un vertex buffer, dans un repere normé : de (0,0) ( bas gauche) à (1,1) ( haut droit).
apres avoir défini les 3 points de mon triangle, je code mon vertex buffer de la facon suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 vertexBuffer = new VertexBuffer(typeof(CustomVertex.PositionColored), 3, device, 0, CustomVertex.PositionColored.Format, Pool.Managed); CustomVertex.PositionColored[] verts = new CustomVertex.PositionColored[3]; GraphicsStream stm = vertexBuffer.Lock(0, 0, 0); verts[0].X = points[0].X; verts[0].Y = points[0].Y; verts[0].Z = 0.5f; verts[0].Color = this.overlayColor.ToArgb(); verts[1].X = points[1].X; verts[1].Y = points[1].Y; verts[1].Z = 0.5f; verts[1].Color = this.overlayColor.ToArgb(); verts[2].X = points[2].X; verts[2].Y = points[2].Y; verts[2].Z = 0.5f; verts[2].Color = this.overlayColor.ToArgb(); stm.Write(verts); vertexBuffer.Unlock(); device.SetStreamSource(0, vertexBuffer, 0); device.VertexFormat = CustomVertex.PositionColored.Format; device.DrawPrimitives(PrimitiveType.TriangleList, 0, 2);
ca compile bien, mais pourtant a l'affichage, je ne vois rien.
Si je prend les memes points et que je trace des lignes entre ces points, je vois bien apparaitre les contours du triangle.
JE ne comprend vraiment pas cmment faire pour l'afficher. J'ai testé TriangleFan, et TriangleStrip, mais sans succes
Partager