|
|
下面是一个画三角形的部分代码:
protected override void OnPaint(System.Windows.Forms.PaintEventArgs e)
{
device.Clear(ClearFlags.Target, System.Drawing.Color.CornflowerBlue, 1.0f, 0);
CustomVertex.TransformedColored[] verts = new CustomVertex.TransformedColored[3];
verts[0].SetPosition(new Vector4(this.Width / 2.0f, 50.0f, 0.5f, 1.0f));
verts[0].Color = System.Drawing.Color.Aqua.ToArgb();
verts[1].SetPosition(new Vector4(this.Width - (this.Width / 5.0f), this.Height - (this.Height / 5.0f), 0.5f, 1.0f));
verts[1].Color = System.Drawing.Color.Black.ToArgb();
verts[2].SetPosition(new Vector4(this.Width / 5.0f, this.Height - (this.Height / 5.0f) , 0.5f, 1.0f));
verts[2].Color = System.Drawing.Color.Purple.ToArgb();
device.BeginScene();
device.VertexFormat = CustomVertex.TransformedColored.Format;
device.DrawUserPrimitives(PrimitiveType.TriangleList, 1, verts);
device.EndScene();
device.Present();
}
调试显示:“Microsoft.DirectX.Direct3D.CustomVertex.TransformedColored”并不包含“SetPosition”的定义
但我在很多MDX的学习材料里都看到有SetPosition方法,但查了MDX的帮助文档又好像没有该方法,
不知是怎么回事?另外,如果要实现该功能,应如何处理呢?
谢谢!
|
|