绘制给定行列表的形状

时间:2012-09-27 10:01:08

标签: c# opengl polygon shape shapes

我正在使用C#OpenTK,但是C ++ OpenGL中的任何代码都很好,我明白了。

我有一份标记列表。标记被定义为2坐标,以及指向循环中下一个标记的指针。从本质上讲,如果你要遵循这些指针的路径,你最终会达到你开始使用的Marker。这就是最初定义形状的方式。

其中一个'循环'可能不是列表中的所有标记。可以包含多个“循环”。以字母'A'为例:

enter image description here

这里的形状将由2'循环'定义。一个是轮廓(8个标记),而另一个循环是(3个标记)内的三角形。

(标记 - 指针)

  • 1-2,2-3,3-4,4-5,5-6,6-7,7-8,8-1
  • 9-10,10-11,11-9

我需要一种允许我在屏幕上绘制这样的东西的方法。所提出的解决方案here将正确地解决位图级别上的问题(通过像素检查它是否在多边形内),但效率非常低,特别是考虑到这些标记应该是在运行时连续移动

要求这些形状应该能够包括诸如A中的三角形(反转)之类的东西,并且优选地允许'循环'的重叠边界,但是第二种形状不是必需的。

我猜测所采用的方向将是某种转换为三角形,或者是内置OpenGL功能的一些奇特技巧。

1 个答案:

答案 0 :(得分:1)

你正在寻找有洞的triangulation

查看General Polygon Clipper (GPC)