Задать вопрос
Ответы пользователя по тегу OpenGL
  • Почему текстура в OpenGL разворачивается вокруг неправильной оси?

    @youngMaster

    GlobeDraw().create_earth() # это метод рисования глобуса
    glEnable(GL_TEXTURE_2D)
    glBindTexture(GL_TEXTURE_2D, self.text_obj)

    Всё что нужно править скрыто в методе GlobeDraw().create_earth().

    Подключение текстур должно идти перед отрисовкой, т.е. в этих трёх строках первая должна быть последней:

    glEnable(GL_TEXTURE_2D)
    glBindTexture(GL_TEXTURE_2D, self.text_obj)
    GlobeDraw().create_earth() # это метод рисования глобуса
    Ответ написан
    Комментировать
  • Почему текстуры в floating point адресуются?

    @youngMaster
    Так сложилось по историческим причинам и для удобства использования.
    1) Раньше текстуры имели размеры только кратные степени двойки, потому перевод из флоат в целые был простейшей операцией ничуть не медленнее чем целочисленные вычисления.
    2) Раньше и очень долго не было прямого доступа к реальному размеру текстуры, потому нормализованное значение давало удобство доступа через относительные координаты, т.е. ты мог менять размеры текстур на лету не меняя остальной код что давало прирост производительности, т.к. для отрисовки объекта в далеке ты мог использовать маленькие текстуры и меняя их размер в автоматическом режиме увеличивая их размер при приближении.

    Собственно говоря, если ты будешь реализовывать софтверный рендер то тебе станет понятно что такое задание координат тем более для текстур с размерами кратными степени двойки будет удобно со всех сторон и со стороны разработки и со стороны использования.
    Ответ написан
    Комментировать
  • Как исправить ошибку "Fatal Error: Can not activate the GL rendering context."?

    @youngMaster
    На некоторых встройках интела OpenGL на Windows 10/11 не работает от слова совсем. Т.к. у вас нет кода этой программы, то в чём конкретно проблема сказать затруднительно.
    Ответ написан
    Комментировать