1

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 を疑っています。私を助けてください。

申し訳ありませんが、私の英語はとても下手です..

4

1 に答える 1

1

配列はフラットである必要があります。new GLdouble[3*(nStack+1)*(nSlice+1)]OpenGLに渡す必要があります。必要に応じてインデックスを付けるのに役立つポインター配列を作成できますが、フラットな配列は OpenGL に渡すものになります。

于 2012-01-20T05:40:01.630 に答える