SFML, странная ошибка при попытке добавить загруженную текстуру в std::map

Рассмотрим следующий код:

std::map<std::string, sf::Texture> textures;
sf::Texture texture;

if (texture.loadFromFile("texture.bmp") == true)
{
    textures.insert({"texture.bmp", texture});
}

Я обнаружил странную проблему.

Если приведенный код вызывается до:

sf::RenderWindow render_window(...);

Тогда в момент вставки в коллекцию я получаю такую ошибку:

An internal OpenGL call failed in Texture.cpp(98).

Expression:
    glFlush()
Error description:
    GL_INVALID_OPERATION
    The specified operation is not allowed in the current state.

An internal OpenGL call failed in Texture.cpp(98).
Expression:
   glFlush()
Error description:
   GL_INVALID_OPERATION
   The specified operation is not allowed in the current state.

Мои вопросы:

  1. Почему это происходит? SFML запрещает грузить текстуру до тех пор, пока не создан хотя бы один объект RenderWindow?
  2. Если да, то где об этом написано?
  3. Может ли это быть связано с работой драйверов при наличии двух видеокарт в системе?

Ответы (0 шт):