【问题标题】:OpenGL - Tesselation of some intersecting and some non-intersecting polygonsOpenGL - 一些相交和一些非相交多边形的镶嵌
【发布时间】:2018-10-23 18:29:33
【问题描述】:

我有几个多边形的列表。

有些是完全分离的,不与其他多边形相交。

有些完全相交并包含在其他多边形中:

我想将它镶嵌成一组三角形,以便绘制它们。 我认为我有一个有效的代码 - 我正在做类似的事情:

tess = gluNewTess()
gluTessBeginPolygon (tess)
for polygon in polygons:
    gluTessBeginContour(tess)
        for point in polygon:
            gluTessVertex(tess, point, point)
gluTessEndPolygon(tess)
gluDeleteTess(tess)

我想知道这是否是预期的方式?

我问这个问题的主要原因是,如您所见 - 整个代码都包装在一个 gluTessBeginPolygon-gluTessEndPolygon 中。但它实际上是一组不同的多边形,这看起来有点奇怪(虽然它似乎工作......)

【问题讨论】:

    标签: python python-3.x opengl pyopengl tessellation


    【解决方案1】:

    这实际上是要走的路(另见example)。 这里定义的“多边形”实际上是一个多多边形,所以所有重要的是轮廓,你正在正确定义。 然后,OpenGL 会在内部检查某些轮廓是自包含的还是复杂的,并生成正确的多边形/多边形集 --- 您可以查看 PolygonTesselatorthis page 中的代码进行演练。

    【讨论】:

      猜你喜欢
      • 2016-11-18
      • 2013-10-16
      • 2019-08-02
      • 1970-01-01
      • 2019-08-25
      • 2017-07-07
      • 1970-01-01
      • 2011-08-30
      • 1970-01-01
      相关资源
      最近更新 更多