不,它必须是2的倍数。但是,您可以通过在图像的顶部和/或底部添加黑色条来绕过此问题,然后使用纹理坐标数组来限制纹理将从图像映射到哪里。例如,假设您有一个13 x 16像素的纹理。您可以在右侧添加3个黑色像素,然后执行以下操作:static const GLfloat texCoords[] = { 0.0, 0.0, 0.0, 13.0/16.0, 1.0, 0.0, 1.0, 13.0/16.0 }; 现在您可以选择任何尺寸