VBO не работает Dynamic (Memory Allocate) - PullRequest
1 голос
/ 20 января 2012

Я пробую VBO от DMA.но это не работает.

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 Ответ

1 голос
/ 20 января 2012

Массив должен быть плоским.Вы хотите, чтобы один new GLdouble[3*(nStack+1)*(nSlice+1)] перешел на OpenGL.Вы можете создавать массивы указателей, чтобы помочь вам индексировать их, если хотите, но плоский массив будет тем, что вы передадите в OpenGL.

...