|
|
Public Sub Vertices_CreateVertexBuffer(ByVal sender As Object, ByVal e As EventArgs) Handles vertexBuffer.Created
Dim vb As VertexBuffer = CType(sender, VertexBuffer)
Dim stm As GraphicsStream = vb.Lock(0, 0, 0)
Dim verts(2) As CustomVertex.TransformedColored
verts(0).X = 50 : verts(0).Y = 50 : verts(0).Z = 0.5 : verts(0).Rhw = 1 : verts(0).Color = Color.Aqua.ToArgb
verts(1).X = 250 : verts(1).Y = 50 : verts(1).Z = 0.5 : verts(1).Rhw = 1 : verts(1).Color = Color.Brown.ToArgb
verts(2).X = 250 : verts(2).Y = 250 : verts(2).Z = 0.5 : verts(2).Rhw = 1 : verts(2).Color = Color.LightPink.ToArgb
stm.Write(verts)
vb.Unlock()
End Sub
上面是一个绘制三角形的例子
我想画一个正方形,于是修改如下:
Dim verts(3) As CustomVertex.TransformedColored
verts(0).X = 50 : verts(0).Y = 50 : verts(0).Z = 0.5 : verts(0).Rhw = 1 : verts(0).Color = Color.Aqua.ToArgb
verts(1).X = 250 : verts(1).Y = 50 : verts(1).Z = 0.5 : verts(1).Rhw = 1 : verts(1).Color = Color.Brown.ToArgb
verts(2).X = 250 : verts(2).Y = 250 : verts(2).Z = 0.5 : verts(2).Rhw = 1 : verts(2).Color = Color.LightPink.ToArgb
verts(3).X = 50 : verts(3).Y = 250 : verts(3).Z = 0.5 : verts(3).Rhw = 1 : verts(3).Color = Color.Red.ToArgb
可是这样得到的还是一个三角形,请问该如何做? |
|