小编Pop*_*viu的帖子

C ++ SOIL无法加载小图像

尝试使用SOIL为像素艺术游戏加载较小的纹理时遇到一些问题。这是加载40 x 40图像时的结果: 在此处输入图片说明

在此处输入图片说明

但是当我切换到30 x 40时: 在此处输入图片说明

在此处输入图片说明

我检查了我的代码,当宽度小于高度时是否存在任何问题,对于40 x 50,一切都还可以。我用Windows的图像查看器检查了30 x 40,看起来也不错。在使用坐标轴设置位置时,可能以任何方式影响装载机的一件事情,但是它工作正常。这是加载纹理的代码:

glGenTextures(1, &actor.texture);
glBindTexture(GL_TEXTURE_2D, actor.texture);
unsigned char* image = SOIL_load_image(("App/Textures/" + name + ".png").c_str(), &width, &height, 0, SOIL_LOAD_RGB);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, width, height, 0, GL_RGB, GL_UNSIGNED_BYTE, image);
SOIL_free_image_data(image);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
Run Code Online (Sandbox Code Playgroud)

c++ opengl graphics textures soil

3
推荐指数
2
解决办法
82
查看次数

标签 统计

c++ ×1

graphics ×1

opengl ×1

soil ×1

textures ×1