Основные различия между версиями OpenGL 2.0 и 3.0:
- В OpenGL 2.0 введён язык GLSL, а также программируемые вершинный и фрагментный шейдеры. www.haroldserrano.com В этой версии есть объекты вершинного буфера, которые позволяют хранить массивы вершин в графической памяти, чтобы сократить объём связи между процессором и картой. www.haroldserrano.com Ещё в ней есть запросы на затенение, которые позволяют узнать, сколько пикселей займёт при отображении конкретный элемент сцены. www.haroldserrano.com
- В OpenGL 3.0 добавлены, например, такие возможности: объекты фреймбуфера, которые позволяют рендерить в невидимые буферы, объекты буфера текстур, которые позволяют использовать гораздо большие массивы текстур, объекты буфера однородных переменных, которые позволяют определять коллекцию однородных переменных для быстрого переключения между разными наборами однородных переменных в одном программном объекте или совместного использования одного и того же набора однородных переменных между разными программными объектами. www.haroldserrano.com
Кроме того, в OpenGL 3.0 добавлена концепция устаревания: определённые функции можно пометить как подлежащие удалению в более поздних версиях. www.khronos.org