定义数组变量:
private CustomVertex.TransformedColored[] verts;
修改OnCreateDevice方法:
public void OnCreateDevice(object sender, EventArgs e)
{
/*
* 其他Device初始化工作;
*/
this.verts = new CustomVertex.TransformedColored[3];
this.verts[0].Position = new Vector4(150.0f, 50.0f, 0.5f, 1.0f);
this.verts[0].Color = Color.Red.ToArgb();
this.verts[1].Position = new Vector4(250.0f, 250.0f, 0.5f, 1.0f);
this.verts[1].Color = Color.Green.ToArgb();
this.verts[2].Position = new Vector4(50.0f, 250.0f, 0.5f, 1.0f);
this.verts[2].Color = Color.Blue.ToArgb();
}
修改渲染方法:
public void Render()
{
if (this.device == null)
return;
if (this.pause) //当窗口最小化或者不是可视化时,停止渲染;
return;
this.device.Clear(ClearFlags.Target | ClearFlags.ZBuffer, Color.WhiteSmoke, 1.0f, 0);
this.device.BeginScene();
/*
* 渲染代码必须放在这里;
*/
this.device.VertexFormat = CustomVertex.TransformedColored.Format;
this.device.DrawUserPrimitives(PrimitiveType.TriangleList, 1, this.verts);
this.device.EndScene();
this.device.Present();
}
效果: