Imは私のプログラムでは、いくつかのテクスチャを表示しようとしている、と私は、OpenGLのテクスチャにビットマップをロードするには、このコードを使用thatsのいる:テクスチャが正しくロードされていませんか?
void LoadGLTextures()
{
// Bitmap handle and structure
HBITMAP hBMP;
BITMAP BMP;
// Generate list of textures from resources
byte Texture[] = {IDB_FONT, IDB_SKIN, IDB_PIANO};
glGenTextures(sizeof(Texture), &texture[0]);
// Iterate through texture list and load bitmaps
for (int loop=0; loop<sizeof(Texture); loop++)
{
hBMP = (HBITMAP)LoadImage(GetModuleHandle(NULL), MAKEINTRESOURCE(Texture[loop]),
IMAGE_BITMAP, 0, 0, LR_CREATEDIBSECTION);
if (hBMP)
{
GetObject(hBMP,sizeof(BMP), &BMP);
glPixelStorei(GL_UNPACK_ALIGNMENT,4);
glBindTexture(GL_TEXTURE_2D, texture[loop]);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR_MIPMAP_LINEAR);
// Generate Mipmapped Texture (3 Bytes, Width, Height And Data From The BMP)
gluBuild2DMipmaps(GL_TEXTURE_2D, 3, BMP.bmWidth, BMP.bmHeight, GL_BGR_EXT, GL_UNSIGNED_BYTE, BMP.bmBits);
DeleteObject(hBMP);
}
}
そして、私の背景のスキンのロード中に、そして正確に描かれます、他の(ピアノ)テクスチャは描画されません。私はどのテクスチャが使用されているか(ピアノからこの場合は背景テクスチャに)スワップすると、他のテクスチャが描画されるので、描画コードが正しいことを確認してください。だから私はビットマップが正しく読み込まれていないと思う。しかし、私はなぜそれがわからないのですか?私は見落としてしまったことが明白な何かがありますか?
ビットマップは128×256で24ビットカラーです。
他のコードが必要な場合は教えてください。
編集 - 誰もが私が必要と何だろう任意のlibrarysを知っているならば、それは非推奨だので、それが正しく動作していない可能性があります
他にこの質問が掲載されていますか? – Zoot
Codeguru.com forums - そこに全く同じ質問をしました。 – Medicide
ほとんどの人はあまり気にしません。 http://gamedev.stackexchange.com/やhttp://programmers.stackexchange.com/のようなStackExchangeファミリーのサイト内に何度も投稿していないことを確認してください。 – Zoot