我正在学习OpenGL,我使用SOIL lib将一个纹理(PNG文件)映射到一个四边形(遵循NeHe教程).NeHe使用了256x256大小的图像。我可以使用较小的图片吗?(任何尺寸或2号的大小)?我的load纹理函数:
int LoadGLTextures()
{
texture[0] = SOIL_load_OGL_texture
(
"NeHe.png",
SOIL_LOAD_AUTO,
SOIL_CREATE_NEW_ID,
SOIL_FLAG_MIPMAPS | SOIL_FLAG_INVERT_Y | SOIL_FLAG_NTSC_SAFE_RGB | SOIL_FLAG_COMPRESS_TO_DXT |SOIL_FLAG_POWER_OF_TWO
);
if(texture[0] == 0)
return false;
//glGenTextures(1, &texture[0]);
glBindTexture(GL_TEXTURE_2D, texture[0]);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
return true; // Return Success
}发布于 2013-10-29 20:26:54
我想你已经用photoshop或相同的软件重新调整过你的图片大小,并意识到你的图片大小应该是2的幂,介于64到256之间。没有必要为此编写代码,但你想用来加载图片的openGL屏幕的大小可以通过编码来确定;)
https://stackoverflow.com/questions/17585066
复制相似问题