在镶嵌一些自交叉多边形时,我没有得到预期的填充 .

例如,使用一些简单的示例代码演示OpenGL细分可以downloaded来自here

并进行一些非常简单的修改:
首先,在第272行,将自相交多边形的x和y坐标改为......

GLdouble star[5][6] = { {1.0, 2.0, 0,  1, 0, 0},       // 0: x,y,z,r,g,b
                        {0.0, 2.0, 0,  0, 1, 0},       // 1:
                        {3.0, 0.0, 0,  1, 0, 1},       // 2:
                        {0.0, 4.0, 0,  1, 1, 0},       // 3:
                        {-1.0, 0.0, 0,  0, 0, 1} };    // 4:

在第296行,将填充规则更改为EvenOdd ...

gluTessProperty(tess, GLU_TESS_WINDING_RULE, GLU_TESS_WINDING_ODD);

并编译并运行,我得到下面的图像,显示我没有看到第三个对象中的三角形孔 . )
enter image description here

这是没有填充的多边形看起来像......
enter image description here