Hi All, I modified the sample code in order to draw 2 triangle: //////////////////////////////////////////////////////// public void OnCreateVertexBuffer(object sender, EventArgs e) { VertexBuffer vb = (VertexBuffer)sender; GraphicsStream stm = vb.Lock(0, 0, 0); ///////////////// add a stream here GraphicsStream stm2 = vb.Lock(0, 0, 0); CustomVertex.TransformedColored[] verts = new CustomVertex.TransformedColored[3]; CustomVertex.TransformedColored[] boki = new CustomVertex.TransformedColored[3]; verts[0].X=150;verts[0].Y=50;verts[0].Z=0.5f; verts[0].Rhw=1; verts[0].Color = System.Drawing.Color.Aqua.ToArgb(); verts[1].X=250;verts[1].Y=250;verts[1].Z=0.5f; verts[1].Rhw=1; verts[1].Color = System.Drawing.Color.Brown.ToArgb(); verts[2].X=50;verts[2].Y=250;verts[2].Z=0.5f; verts[2].Rhw=1; verts[2].Color = System.Drawing.Color.LightPink.ToArgb(); //////////////////// fill out array parameters boki[0].X = 50; boki[0].Y = 0; boki[0].Z = 0.5f; boki[0].Rhw = 1; //boki[0].Color = System.Drawing.Color.Black.ToArgb(); boki[1].X = 250; boki[1].Y = 350; boki[1].Z = 0.5f; boki[1].Rhw = 1;// boki[1].Color = System.Drawing.Color.Brown.ToArgb(); boki[2].X = 0; boki[2].Y = 350; boki[2].Z = 0.5f; boki[2].Rhw = 1; // boki[2].Color = System.Drawing.Color.LightPink.ToArgb(); stm.Write(verts); /////////////////// write the stream ///////// stm2.Write(boki); vb.Unlock(); } I think the array is be overlapped, but what is the correct way to draw more triangles.. Best regards, Boki.