Подскажите пожалуйста почему когда загружаю одну текстуру она работает и отображается, когда загружаю любую другую текстуру (такого же формата) вызывается какое то исключение по адресу 0x00007FFD52C23138 (nvoglv64.dll) в MOTOR.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0x000001AD861C6000.
Вот код загрузки текстуры:
void GL::Texture::loadTextures(GLuint& texture, std::string WayToTexture)
{
data = stbi_load(WayToTexture.data(),&width,&height,&channels,0);
if (data != nullptr) {
glGenTextures(1, &texture);
glBindTexture(GL_TEXTURE_2D,texture);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, data);
stbi_image_free(data);
}
else {
std::cout << "texture"<< WayToTexture <<"couldn`t loaded"<<std::endl;
}
}
Кроме того если заменить путь на неправильный то в консоль просто выведется сообщение что текстура не загружена , если же путь правильный (к другим картинкам) то вылетает исключение
В чем кроется проблема?