2016-05-05 7 views
-1

私は問題があります。単純なキューブにテクスチャをバインドしたいのですが、テクスチャが表示されず、私が間違っていたことは分かりません。OpenGL no texture

これは私のプログラムのテクスチャ一部です:

void loadTextureSTD(char * path, int size, int size_x, int size_y) 
{ 
    glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE); 

    glGenTextures(1, &textureID); 

    glBindTexture(GL_TEXTURE_2D, textureID); 

    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); 

    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); 


    texture = loadImageSTD(path, size, size_x, size_y); 

    glTexImage2D(
      GL_TEXTURE_2D, 0, GL_RGB, 
      size_x , size_y, 0, GL_RGB, 
      GL_UNSIGNED_BYTE, texture 
     ); 

} 

これは、表示部である:

 glTexCoordPointer(2, GL_FLOAT, 0, vector_array_p0); 
     glVertexPointer(3, GL_FLOAT, 0, vector_array_p0); GL_VERTEX_ARRAY (p0) 
     glNormalPointer(GL_FLOAT, 0, normals_array_p0); 
     glDrawElements(GL_TRIANGLES, animation0, GL_UNSIGNED_INT, face_array_p0); 

これは(光が0である、10、0)私の結果である: result

+1

編集[MCVE]で。 – genpfault

+0

(1)GLが正しく初期化されていることは確かですか?例えば。拡散陰影のキューブを表示できますか?そうでない場合は、別の質問のパスを尋ねる必要があります。以下は、問題がテクスチャであり、基本GLではないと仮定しています。 (2)RGBは1ピクセルあたり3バイト必要ですが、あなたは1を読み込んでいるようです。私は間違っていますか? –

+0

はい私はppmファイルから1バイトを読みました...私は間違ったことを理解しましたか? – noName

答えて

0

テクスチャが有効になっていないようです。

glEnable(GL_TEXTURE2D) 

し、再試行してください:それらを有効に

glGenTextures(1, &textureID) 
関連する問題