|
|
VertexBuffer vb = (VertexBuffer)sender;
GraphicsStream stm = vb.Lock(0, 0, 0);
CustomVertex.TransformedColored[] verts = new CustomVertex.TransformedColored[3];
verts[0].X=50;verts[0].Y=0;verts[0].Z=0.5f; verts[0].Rhw=1; verts[0].Color = System.Drawing.Color.Aqua.ToArgb();
verts[1].X=100;verts[1].Y=100;verts[1].Z=0.5f; verts[1].Rhw=1; verts[1].Color = System.Drawing.Color.Brown.ToArgb();
verts[2].X=0;verts[2].Y=100;verts[2].Z=0.5f; verts[2].Rhw=1; verts[2].Color = System.Drawing.Color.LightPink.ToArgb();
stm.Write(verts);
vb.Unlock();
stm = vb.Lock(3, 3, LockFlags.None); //第二个3改成0也不行
verts[0].X += 120;
verts[1].X += 120;
verts[2].X += 120;
stm.Write(verts);
vb.Unlock();
用SetData也不行,怎样通过设置偏移量多次写VertexBuffer而不覆盖原来的内容呢?
|
|