@DrunkCat

"Cовременный" OpenGL?

Свое изучение компьютерной графики я начал с OpenGL первых версий (1.*). До последнего момента использовал ранее полученные знания и всегда был удовлетворен полученным результатом. К месту будет сказано: использовал я OpenGL в научных целях - модели объектов, различного рода поверхности, в общем, для наглядности полученных результатов.
Потихоньку, сам того не замечая, перекочевал на OpenGL второй версии (2.*). Сильной разницы не почувствовал, казалось, что вторая версия - это исправленная и доработанная. Но недавно задумался о текущей версии OpenGL и ее новых возможностях. К удивлению для себя обнаружил, что текущая версия стандарта - четвертая, а была еще и третья. С мыслями, что вторая версия была лучше чем первая, и, по логике вещей, четвертая должна быть еще лучше, начал разбираться в изменениях.
Главными отличиями, которые я для себя сделал, были:
  • отсутствие функций glBegin/glEnd;
  • поддержка шейдеров;
  • отсутствие функций по работе с матрицами.

О шейдерах я знал со второй версии, но их использование никто не навязывал, и оно было не обязательно. Можно было обойтись другими средствами, по-старинке, которые давали тот же результат.
Использование функций glBegin/glEnd - не самый лучший способ, но зачем их было убирать? Как по мне, так это отличный способ набросать что-то по-быстренькому, да и в плане обучения они куда лучше воспринимаются.
Главной неожиданностью стало то, что были убраны операции по работе с матрицами. И теперь во-первых возникает необходимость в обязательном использовании шейдеров, а во-вторых вся работа по обработке матриц, которая проводилась раньше "за кулисами" теперь ложится на плечи программиста. На мой взгляд - это огромный шаг назад, т.к. написание программ должно усложниться. Они должны становиться больше и не понятнее. Полазив по форумам, почитав комментарии нашел много людей, которым эти изменения пришлись по душе.
Мою ситуацию в непонимании нового стандарта усугубляет еще то, что не могу найти достойной литературы по этому поводу на русском языке. Различного рода мануалы и статьи, которые мне попадались, не дают четкого представления как всем этим пользоваться.
В связи с этим прошу помочь со ссылками на литературу?
Еще волнует один вопрос. Второй стандарт еще вроде как никто не отменял. Насколько актуально его применение на современном оборудовании? Сколько еще времени он будет действовать?
  • Вопрос задан
  • 2670 просмотров
Пригласить эксперта
Ответы на вопрос 3
@mamkaololosha
> На мой взгляд - это огромный шаг назад
Вашего мнения никто не спрашивал.

100й раз уже спрашивают.
code.google.com/p/gl33lessons/
openglinsights.com
openglsuperbible.com
Ответ написан
Комментировать
maaGames
@maaGames
Погроммирую программы
Про "главную неожиданность"
Именно, что делают всё, чтобы пользовались шейдерами, нагружая GPU, вместо CPU. Ради производительности. Чтобы подталкивать прогресс и переход на новые технологии.
Мне функции тоже нравились.
Ответ написан
Комментировать
@semenyakinVS
Писатель кода и не только
Если ещё актуально - вот ещё неплохие уроки. Если дружите с английским, можете попробовать найти вот эту книгу.

P.D.: А ещё я создал мега-вопрос по теме openGL, в котором тоже можете надёргать полезной инфы. Особенно когда умные люди ответы писать начнут - надеюсь, узнаем толковые вещи.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы