Glu Tesselator说:“需要组合回调”,但我定义了一个回调
-
02-10-2019 - |
题
我使用:
gluTessCallback(tess, GLU_TESS_COMBINE, (GLvoid(*)()) &scbCombine);
在哪里 scbCombine
是直接在同一函数 .cpp
文件:
void CALLBACK scbCombine(const double newVertex[3], const double *neighborVertex[4], const float neighborWeight[4], double **outData)
{
instanceMDC->cbCombine(newVertex, neighborVertex, neighborWeight, outData);
printf("scbCombine \n");
}
当我使用测试时, "scbCombine \n"
被打印在控制台中!!!然后调用回调函数后,Tesselator用消息调用错误回调:“需要组合回调”(!!)
我的应用程序中已经还有另外两个镶嵌剂,它们的工作正确。但是最后一个没有。我将此代码与另一个代码进行了比较。但是我看不出为什么它不起作用。
这 cbCombine
方法(开始时没有“ S”)是:
void MyClass::cbCombine(const double newVertex[3], const double *neighborVertex[4], const float neighborWeight[4], double **outData)
{
outData = 0;
}
但是设置 outData
零不是问题:我已经与其他镶嵌剂之一一起做到了...
我疯了...我已经花了几个小时才能解决这个问题
谢谢
解决方案
问题是零,我必须这样做:
*outData = new double; // memory-leak, but not as I did it really.
不隶属于 StackOverflow