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