以下を使用してコールバックを登録しました:
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関数を呼び出した後、テッセレータは次のメッセージを含むエラーコールバックを呼び出します:「コールバックを組み合わせる必要があります」(!!)
私のアプリにはすでに2つのテッセレーターがあり、それらは正しく機能します。しかし、最後のものはそうではありません。私は、このコードを他のコードと可能な限り比較しました。しかし、なぜそれが機能しないのかわかりません。
メソッド(最初cbCombine
に「s」を付けない)は次のとおりです。
void MyClass::cbCombine(const double newVertex[3], const double *neighborVertex[4], const float neighborWeight[4], double **outData)
{
outData = 0;
}
しかし、outData
ゼロに設定することは問題にはなりません。私はすでに他のテッセレーターの1つでこれを行いました...
私は夢中になっています...私はこの問題にすでに何時間も費やしました
ありがとう