Я загружаю картинку на stbi_load
, но произошла ошибка no SOI
. Я использовал изображение в другом проекте, и оно было успешно загружено. Так что я думаю, что путь картины и будущего действителен. Но я не знаю, почему произошла ошибка? Вот несколько основных кодов:
// Texture2D is a class of textures
Texture2D ResourceManager::loadTextureFromFile(const GLchar *file, GLboolean alpha){
// create texture object
Texture2D texture;
if (alpha){
texture.Internal_Format = GL_RGBA;
texture.Image_Format = GL_RGBA;
}
// load picture
int width, height, nrChannels;
unsigned char *image = stbi_load(file, &width, &height, &nrChannels, 0);
if (stbi_failure_reason())
std::cout << stbi_failure_reason() << std::endl;
// generate texture
texture.Generate(width, height, image);
// free image
stbi_image_free(image);
return texture;
}
Я использую loadTextureFromFile("./Data/awesomeface.png", GL_TRUE);
для получения текстуры. И stbi_failure_reason()
возвращает no SOI
. Когда я отлаживаю проект в VS2013, память image
действительна, но отображает characters in a string are invalid
. Кто-нибудь поможет?