【发布时间】:2015-12-12 00:17:20
【问题描述】:
所以我正在做一个石油管道模拟项目,它有三个窗口;统计窗口(用于管道详细信息),模拟窗口(有关管道如何工作的详细信息以及中间窗口 - 石油管道的 2D 模拟。
2D 模拟实际上是出于审美目的——主要的细节是在我已经编程的 Maths.cs 类中完成的。所以我的问题是:
使用 OpenTK 库中的形状,我似乎只能构建三角形。我已经插入了用于构建三角形的代码,但似乎没有其他形状。有什么方法可以画出 1) 圆形、2) 矩形和 3) 线?
另外,“BeginMode”类有什么作用?我觉得这会解决问题,通过使用 BeginMode 以外的东西我可以通过不同的类访问其他形状??
谢谢 :-)
private void viewportGL_Paint(object sender, PaintEventArgs e)
{
if (!loaded)
return;
GL.Clear(ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit);
GL.MatrixMode(MatrixMode.Modelview);
GL.LoadIdentity();
GL.Translate(x, 0, 0);
GL.Color3(Color.Aqua);
GL.Begin(BeginMode.Triangles);
GL.Vertex2(10, 20);
GL.Vertex2(100, 20);
GL.Vertex2(100, 50);
GL.End();
viewportGL.SwapBuffers();
}
int x = 0;
private void viewportGL_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Space)
x+=4;
viewportGL.Invalidate();
}
【问题讨论】:
-
没有像圆形这样的基元,但您可以通过在 Begin() 和 End() 之间定义多个三角形来构建它。
-
你能提供源代码吗?我遇到了真正的麻烦。 :(
标签: c# windows forms shapes opentk