0

我正在学习 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
}
4

1 回答 1

0

我认为您已使用 Photoshop 或相同软件重新调整图片大小,并注意您的图片大小应该是 2 的幂,并且介于 64 和 256 之间。不需要为此编码,但是您想要的 openGL 屏幕的大小用于加载图片可以通过编码确定;)

于 2013-10-29T12:26:53.870 回答