2012-05-02 9 views
0

OpenGLの使用とGxBaseの使用テクスチャをロードしています。効率的なOpenGLテクスチャのロードgxbase

if (Image.Load("ball.jpg")) 
{ 
    Image.FlipY(); 
    glBindTexture(GL_TEXTURE_2D, MyTexture[0]); 
    Image.gluBuild2DMipmaps(); 
} 

同じテクスチャを2回ロードしないようにするにはどうすればよいですか?

答えて

0

は私がGxBaseを使用したことがありませんが、私はちょうどテクスチャIDS(GLuintsへの文字列)

あなたが最初のマップで見て、新しいものをロードするために行くと場合にファイル名をマップするマップを維持したいですそこには、再度読み込むのではなく、テクスチャIDが返されます。それ以外の場合はそれをロードした後、生成されたテクスチャIDを保存

試しのようなもの:

std::map<std::string,GLuint> textures; 
... 

// Inside your method to load textures: 

if (textures.count(textureName) == 0) 
{ 
    // load texture 
    textures[textureName] = // the GLuint texture id 
} 
else 
{ 
    return textures[textureName]; 
} 
+0

万が一、あなたがそのためのコードスニペットを持っているか、そのためのチュートリアルに私を導きますか?ありがとう – HungryCoder

関連する問題