Я зарегистрировал CALLBACK, используя:
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"
печатается в консоли !!!И затем после вызова функции CALLBACK тесселятор вызывает обратный вызов ошибки с сообщением: «нужен комбинированный обратный вызов» (!!)
У меня уже есть два других тесселятора в моем приложении, и они работают правильно.Но последний не делает.Я сравнил код этого как можно больше с кодом другого.Но я не понимаю, почему это не работает.
Метод cbCombine
(без "s" в начале) таков:
void MyClass::cbCombine(const double newVertex[3], const double *neighborVertex[4], const float neighborWeight[4], double **outData)
{
outData = 0;
}
Но настройка outData
ноль не может быть проблемой: я уже делал это с одним из других тесселаторов ...
Я схожу с ума ... Я потратил уже несколько часов на эту проблему
Спасибо