2012-01-20 6 views
1

DMAでVBOを試してみます。 でも動作しません。VBOが動かないDynamic(Memory Allocate)

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

とても貧弱です。 new GLdouble[3*(nStack+1)*(nSlice+1)]をOpenGLに渡します。必要に応じてインデックスを作成するためのポインタ配列を作成できますが、フラット配列はOpenGLに渡す配列になります。

+0

Mr.Benありがとうございました。このDMAをフラットアレイにコピーすると成功しました。配列がフラットである必要があることはわかりません。ありがとうございます! – Sonchou

関連する問題