Salut à tous,

j'ai un bout de code qui marche mais je ne comprends pas comment ! Ca dessine un triangle (classique dans un tuto de debutant... :-))


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
19
20
21
22
23
24
25
26
27
 
Public Sub MakeVerts()
   VertBuf = New VertexBuffer(GetType(CustomVertex.TransformedColored), 3, Dev, 0, CustomVertex.TransformedColored.Format, Pool.Default)
 
   Dim verts() As CustomVertex.TransformedColored
   verts = CType(VertBuf.Lock(0, 0), CustomVertex.TransformedColored())
 
   verts(0).X = 150
   verts(0).Y = 50
   verts(0).Z = 0.5F
   verts(0).Rhw = 1
   verts(0).Color = System.Drawing.Color.Red.ToArgb()
 
   verts(1).X = 250
   verts(1).Y = 250
   verts(1).Z = 0.5F
   verts(1).Rhw = 1
   verts(1).Color = System.Drawing.Color.Blue.ToArgb()
 
   verts(2).X = 50
   verts(2).Y = 250
   verts(2).Z = 0.5F
   verts(2).Rhw = 1
   verts(2).Color = System.Drawing.Color.Green.ToArgb()
 
   VertBuf.Unlock()
End Sub
Ce que je ne pige pas c'est comment VertBuf récupère ce qui a été stocké dans verts : une fois qu'on est sorti de cette méthode, verts n'existe plus, et nulle part on n'a dit de recopier verts dans VertBuf !!??
D'ailleurs quand j'observe VertBuf avec le débuger, pas de trace des coordonnées ??
Vraiment je pige rien.

D'ailleurs c'est peut-être plus un pb de vb.net que de directX

Merci d'avance de vos réponses...

PS : quelqu'un connait-il des tutos, un forum (même anglais) où l'on cause de directX avec VB Net ? Désolé, mais sur ce forum c'est plutôt c# ou c++ qui sont le plus souvent employés. Et moi, je n'ai pas le choix, je dois bossé en vb.net...