C++ 土壤加载一些图像,一些没有
我从来没有问题加载图像与土壤,但现在它是随机无法正确读取图像。大多数人仍在工作。我比较了工作图像和无法加载的图像,它们的属性完全相同。读取时实际上不会发生错误,它发生在以下位置:C++ 土壤加载一些图像,一些没有,c++,visual-studio,soil,C++,Visual Studio,Soil,我从来没有问题加载图像与土壤,但现在它是随机无法正确读取图像。大多数人仍在工作。我比较了工作图像和无法加载的图像,它们的属性完全相同。读取时实际上不会发生错误,它发生在以下位置: glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, width, height, 0, GL_RGB, GL_UNSIGNED_BYTE, image); 我从文件加载纹理的方法是: GLint TextureFromFile(const char* path, string directo
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, width, height, 0, GL_RGB, GL_UNSIGNED_BYTE, image);
我从文件加载纹理的方法是:
GLint TextureFromFile(const char* path, string directory)
{
//Generate texture ID and load texture data
string filename = string(path);
filename = directory + '/' + filename;
GLuint textureID;
glGenTextures(1, &textureID);
int width, height;
unsigned char* image = SOIL_load_image(filename.c_str(), &width, &height, 0, SOIL_LOAD_RGB);
// Assign texture to ID
glBindTexture(GL_TEXTURE_2D, textureID);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, width, height, 0, GL_RGB, GL_UNSIGNED_BYTE, image);
glGenerateMipmap(GL_TEXTURE_2D);
// Parameters
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glBindTexture(GL_TEXTURE_2D, 0);
SOIL_free_image_data(image);
return textureID;
}
调试时,我注意到,当纹理加载工作时,*图像包含一个字符串,如
如果不起作用,字符串如下所示:
我希望我把我的问题解释得足够好。有什么想法吗?图像是什么文件类型?请说他们不是魔兽世界的图像类型…哈哈不,正常的jpg和png