私はコードを持っています:
glBindTexture( GL_TEXTURE_2D, texture );
glBindBuffer(GL_ARRAY_BUFFER, triangleVBO);
glBufferData(GL_ARRAY_BUFFER, sizeof( vertices ), vertices , GL_STATIC_DRAW);
glVertexPointer(3, GL_FLOAT, 0, NULL);
glEnableClientState(GL_VERTEX_ARRAY);
glBindBuffer(GL_ARRAY_BUFFER, coordsVBO);
glBufferData(GL_ARRAY_BUFFER, sizeof( texcoords ), texcoords , GL_STATIC_DRAW);
glTexCoordPointer(2, GL_FLOAT, 0, NULL);
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
glDrawArrays(GL_QUADS, 0, sizeof(vertices) / sizeof(float) / 3);
そして、クワッドが完全にうまく描画されているのに、テクスチャがまったくマッピングされていない理由について、私は困惑しています。
セクションを と の呼び出しに展開することは完全glTexCoord2f
にglVertex3f
うまく機能するので、テクスチャ バインディングで何か間違ったことをしているとしか思えません。
texcoords は以下で初期化されています:
GLfloat texcoords[] = { 1.0, 0.0
, 1.0, 1.0
, 0.0, 1.0
, 0.0, 0.0
, 0.0, 0.0
, 0.0, 1.0
, 0.0, 1.0
, 0.0, 0.0
, 1.0, 0.0
, 1.0, 1.0
, 0.0, 1.0
, 0.0, 0.0
,1.0, 0.0
,1.0, 1.0
,1.0, 1.0
,1.0, 0.0
, 1.0, 1.0
, 1.0, 1.0
, 0.0, 1.0
, 0.0, 1.0
, 1.0, 0.0
, 1.0, 0.0
, 0.0, 0.0
, 0.0, 0.0 }
今のところ変更しないでください。これは、頂点配列が頂点トリプレットを持っているのと同じ数のペアです。
私はGL_NO_ERRORを取得しており、面はすべて、への最初の呼び出しで設定されたデフォルト値として色付けされていますglColor3f(0.9f, 0.1f, 1.0f);
私が見逃している可能性のあるものはありますか?