Нарушение прав доступа при вызове stbi_load()? ⇐ C++
Нарушение прав доступа при вызове stbi_load()?
Следующая функция выдает исключение нарушения прав доступа в строке с stbi_load, но я не вижу для этого никаких причин
unsigned intTextureFromFile(const char*path, const string&directory, bool gamma) { std::string filename = std::string(path); имя файла = каталог + '/' + имя файла; беззнаковый int идентификатор текстуры; glGenTextures(1, &textureID); ширина интервала; высота интервала; интервал nrComponents; беззнаковые данные char* = stbi_load(filename.c_str(), &width, &height, &nrComponents, 0); если (данные) { формат GLenum; если (nrComponents == 1) формат = GL_RED; иначе, если (nrComponents == 3) формат = GL_RGB; иначе, если (nrComponents == 4) формат = GL_RGBA; glBindTexture (GL_TEXTURE_2D, идентификатор текстуры); glTexImage2D (GL_TEXTURE_2D, 0, формат, ширина, высота, 0, формат, GL_UNSIGNED_BYTE, данные); glGenerateMipmap(GL_TEXTURE_2D); 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); stbi_image_free (данные); } еще { std::cout
Следующая функция выдает исключение нарушения прав доступа в строке с stbi_load, но я не вижу для этого никаких причин
unsigned intTextureFromFile(const char*path, const string&directory, bool gamma) { std::string filename = std::string(path); имя файла = каталог + '/' + имя файла; беззнаковый int идентификатор текстуры; glGenTextures(1, &textureID); ширина интервала; высота интервала; интервал nrComponents; беззнаковые данные char* = stbi_load(filename.c_str(), &width, &height, &nrComponents, 0); если (данные) { формат GLenum; если (nrComponents == 1) формат = GL_RED; иначе, если (nrComponents == 3) формат = GL_RGB; иначе, если (nrComponents == 4) формат = GL_RGBA; glBindTexture (GL_TEXTURE_2D, идентификатор текстуры); glTexImage2D (GL_TEXTURE_2D, 0, формат, ширина, высота, 0, формат, GL_UNSIGNED_BYTE, данные); glGenerateMipmap(GL_TEXTURE_2D); 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); stbi_image_free (данные); } еще { std::cout
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение