这是我的问题。我正在对具有数百个顶点的复杂、自相交、多轮廓多边形进行细分。GLU Tesselator 因空指针 0x0000000 问题而崩溃。当我不制作自相交多边形时,它永远不会崩溃。如果它不相交,那么无论在什么情况下,它都不会崩溃。我在我的应用程序中到处检查 NULL,我确定它不在我这边。我从 SGI 找到了一个旧版本的 GLU 1.2,它从不崩溃,但是基于 GLU 1.3 的 mesa 和 Windows 版本都崩溃了。调试模式下没有什么崩溃足够奇怪。为了获得更多信息,我编译了 Mesa 的 GLU 并看到首先断言失败,然后如果我将其注释掉,则有一个指针从一个无法 malloc 的函数设置为 NULL。我现在非常不确定该怎么做。我能做些什么来尝试解决这个问题?我是否应该尝试制作适合我的 Mesa 的 GLU 版本?我只是不确定如何从这里开始。
经过更多调试后,我看到我得到了 GLU_TESS_ERROR_5,我认为这是一个数字太大的错误,但我做了一个 for 循环来测试大于那个的数字,但没有运气:(