VBO不起作用动态(内存分配)

时间:2012-01-20 05:36:33

标签: opengl vbo dma

我通过DMA尝试VBO。 但它不起作用。

Svertex = new GLdouble**[nSlice+1];

Snormal = new GLdouble**[nSlice+1];
Scolor = new GLdouble**[nSlice+1];
Sindicesup = new GLbyte[3];
for(int i=0; i < nSlice+1; i++){

    Svertex[i] = new GLdouble*[nStack+1];
    Snormal[i] = new GLdouble*[nStack+1];
    Scolor[i] = new GLdouble*[nStack+1];

    for(int j=0; j < nStack+1; j++)
    {

            Svertex[i][j] = new GLdouble[3];
            Snormal[i][j] = new GLdouble[3];
            Scolor[i][j] = new GLdouble[3];

    } 
}
   ----------------------------------------------------------                    
       glBufferData(GL_ARRAY_BUFFER,8*11*11*3,
                    Svertex,GL_DYNAMIC_DRAW);

我怀疑glBufferData。(我可能错了ArrayPointer)。 请帮助我。

抱歉,我的英语很差..

1 个答案:

答案 0 :(得分:1)

阵列需要保持平坦。您希望一个new GLdouble[3*(nStack+1)*(nSlice+1)]传递给OpenGL。您可以创建指针数组以帮助您根据需要对其进行索引,但是平面数组将是您传递给OpenGL的内容。