Я знаю, что в последние несколько лет были похожие вопросы, но после некоторых исследований я все еще не могу решить, откуда и от чего я должен учиться. Я также хотел бы видеть ваш текущий, фактический взгляд на современное программирование OpenGL с использованием более С++ OOP и шейдерного подхода. И убедитесь, что мое фактическое понимание некоторых вещей действительно.
Итак... в настоящее время у нас есть OpenGL 4.2 out, который, как я где-то читал, требует оборудования dx11 (что это значит?) и набор "боковых" библиотек, например, для создания окна.
Существует самый распространенный GLUT, который я очень ненавижу. Одна из главных причин - вызовы функций, которые не позволяют свободу в способе создания основного цикла. Как говорили некоторые люди, это не предназначалось для игр.
Существует также GLFW, что на самом деле довольно приятно и прямолинейно для меня. По какой-то причине люди используют его с GLUT. (который обеспечивает не только инициализацию окна, но и другие утилиты?)
И есть также SFML и SDL (SDL < SFML imo), тогда как для обоих из них иногда нужен странный подход к работе с OGL, а в некоторых случаях не очень быстрый.
И у нас есть также GLEW, который является утилитой для загрузки добавок... wait... не является GLUT/GLFW уже расширением? Есть ли причина использовать его, например, есть ли действительно важные расширения, чтобы заинтересовать?
До сих пор у нас есть создание окна (и некоторые утилиты), но... OGL не заботится о загрузке текстур, а не о трехмерных моделях. Сколько еще libs мне нужно?
Теперь расскажем о части обучения. Существует (в) знаменитый учебник NeHe. Написанный на C с использованием WinApi с крайне нечетким кодом и устаревшими решениями, но все же самый популярный. Некоторые вещи, такие как Красная книга, могут быть найдены, которые связаны с версиями, такими как 2.x или 3.x, однако есть только несколько (и незавершенных) руководств, в которых упоминается 4.x.
Чем заняться?