私はこの小さなゲームをSDL + OpenGLで作っています。ゲームは私のPC上で正常に動作しますが、友人のPC上では、単に白いボックスと空白の画面が表示されます。他のPCのOpenGL白いテクスチャ
私のテクスチャが2の非累乗であるため、問題である可能性があると私は考えました。私はテクスチャの寸法を変更することができないので、いくつかの検索の後、GL_ARB_texture_non_power_of_twoを使用すると、何らかの形で(?)npotテクスチャが強制されることがわかりました。しかし、私の驚いたことに、白い箱やものは私のPCに表示され、彼らは私の友人にも行きませんでした。私は問題が何であるか理解できません。どんな助けでも大歓迎です。
コード:
numColors = images[i]->format->BytesPerPixel;
if (numColors == 4)
{
if (images[i]->format->Rmask == 0x000000FF)
textureFormat = GL_RGBA;
else
textureFormat = GL_BGRA;
}
else if (numColors == 3)
{
if (images[i]->format->Rmask == 0x000000FF)
textureFormat = GL_RGBA;
else
textureFormat = GL_BGRA;
}
glPixelStorei(GL_UNPACK_ALIGNMENT,4);
glGenTextures(1, &textures[i]);
glBindTexture(GL_ARB_texture_non_power_of_two, textures[i]);
glTexParameteri(GL_ARB_texture_non_power_of_two,GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_ARB_texture_non_power_of_two,GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexImage2D(GL_ARB_texture_non_power_of_two, 0, numColors, images[i]->w, images[i]->h, 0, textureFormat, GL_UNSIGNED_BYTE, images[i]->pixels);
ホワイトボックスPCはNPOTテクスチャをサポートしていますか?その延長だけ – Macke
申し訳ありませんが、私はあなたを取得していません.. – tf61
申し訳ありませんが、キーボードにつまずいた。 NPOTはあなたが有効にできるものではありません、それはGPUがサポートしている(またはしていない)ものです。ですから、NPOTは機能していないGPUの拡張文字列にリストされていますか? – Macke