まあ、問題はかなり単純ですが、私は問題を見ていないとデバッガは私を助けていないです。とにかく、私は飛行機を描こうとしています、そして、私が得るものはすべて黒です。私はそれを描くかどうか正直には分かりませんが、見るには小さすぎます。opengl glDrawElementsの問題
int index[][3] = {{0,1,4}, {0,3,4}, {1,2,5}, {1,4,5}};
double VertexA[][3] = {{0.0 , 0.0 , -.0415}, {0.5, 0.0, .6543}, {1.0,0,-.0415},
{0.0, 0.5, .093}, {0.5, 0.5, -.070}, {1.0, 0.5 , .093},
{0.0,1.0, -.0415}, {0.5, 1.0, .6543}, {1.0,1.0,-.0415}}
void display() {
glClear(GL_COLOR_BUFFER_BIT);
glLoadIdentity();
glEnableClientState(GL_VERTEX_ARRAY);
glVertexPointer(3, GL_DOUBLE, 24, VertexA);
glDrawElements(GL_TRIANGLES, 4, GL_UNSIGNED_INT, index);
glDisableClientState(GL_VERTEX_ARRAY);
glutSwapBuffers();
}
void reshape(int w, int h) {
if (w <= h) {
glViewport(0,(h-w)/2, w,w);
}
else {
glViewport((w-h)/2,0,h,h);
}
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(30.0, w/h, 10.0, 100.0);
glMatrixMode(GL_MODELVIEW);
}
これは、定義済みのVertexA/Index配列で変更されたコードのスニペットです。インデックス/ vertexArrayが正しく取得されていることを確信しています。描画の部分は問題が発生する場所です。私はglDrawElementまたはgluPerspectiveを誤用していると推測しています。正直、私はよくわからない。 ColorArrayが必要ですか?最初の場所に色を定義していないのは白でなければなりませんか?どんな質問やあなたがスニペットの詳細を欲しがっているのですか?私はスニペットの中に問題があると感じています。
脇に:私のコンパイラは '.0.5'(あなたの3行目)で' double'を初期化しようとすると、構文エラーを出します。 –
修正しました、それはタイプミスでしたが、私はVertexA/Indexデータを取得する場所全体のコードを投稿したくありませんでした – Leruce