저는 SDL + OpenGL을 사용하여이 작은 게임을 만들었습니다. 게임은 내 PC에서 잘 돌아가지만 친구의 PC에서는 흰색 상자와 빈 화면이 나타납니다. 다른 PC의 OpenGL 흰색 텍스처
나는 때문에 내 텍스처 차원이 아닌 전원 것에는 문제가 될 줄 알았는데. 나는 텍스쳐 크기를 바꿀 수 없다. 그래서 어떤 검색을 한 후에, 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