我正在学习OpenGL,我使用SOIL lib将纹理(PNG文件)映射到四边形 (按照NeHe教程).NeHe使用的图像大小为256x256。我可以使用更小的图片吗?(任何尺寸或2尺寸的功率)? 我的加载纹理函数:
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
}
答案 0 :(得分:0)
我认为您使用photoshop或相同的软件重新调整图片尺寸,并注意您的图片尺寸应该是2的功率,在64到256之间。并且不需要为此编码,但是openGL屏幕的大小您想用于加载图片的编码可以通过编码确定;)