[debutant] [VB .net] Comprendre vertexBuffer ?
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:
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...:(