我跟随一个教程让GLU tesselator工作。它的工作原理是,在创建随机多边形(从内存读取错误…)后,新点的颜色插值会导致崩溃
这是我的回拨,它崩溃了:

void CALLBACK combineCallback(GLdouble coords[3], GLdouble *vertex_data[4],
         GLfloat weight[4], GLdouble **dataOut)
{
 GLdouble *vertex;
 int i;

 vertex = (GLdouble *) malloc(6 * sizeof(GLdouble));
 vertex[0] = coords[0];
 vertex[1] = coords[1];
 vertex[2] = coords[2];

 //crashes here
 **for (int i = 3; i < 6; i++)
 {
  vertex[i] = weight[0] * vertex_data[0][i] +
   weight[1] * vertex_data[1][i] +
   weight[2] * vertex_data[2][i] +
   weight[3] * vertex_data[3][i];
 }**
 //crashes here

 *dataOut = vertex;

}

当记忆崩溃的时候,我看着它,但我不能确切地指出是什么触发了它。我遵循了本教程:http://www.flipcode.com/archives/Polygon_Tessellation_In_OpenGL.shtml
谢谢

最佳答案

我猜顶点数据是错误的。它与传递给谷类顶点函数的指针相同。那个指针指向什么?

关于c++ - GLTessellator崩溃,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2894306/

10-11 20:23