!
в следующем стандарте
deprecated
функциональность будет убрана полностью (в 3.1 вернулась под расширением GL_ARB_compatability)
+
возможность создания контекста (через расширение
ARB_create_context
), который генерирует ошибки при использовании
deprecated
функций
-
убран режим индексного цвета (палитра), включая форматы текстур
-
убрана отрисовка с помощью
glBegin/glEnd
и из массивов, расположенных в системной памяти
-
убраны все встроенные вершинные атрибуты и функции по их установке (теперь только пользовательские атрибуты)
-
убран весь
GL state
кроме
gl_DepthRange
и стек матриц трансформаций, а также функции для настройки FFP
-
убрана смена толщины линий
-
убраны примитивы
QUAD
,
QUAD_STRIP
и
POLYGON
-
теперь режим отображения задних и передних граней обязательно должен совпадать
-
убрана запись пикселей и растровые операции
-
убраны форматы
ALPHA LUMINANCE
,
LUMINANCE ALPHA
, и
INTENSITY
(заменены R и RG текстурами)
-
убран альфатест
-
убран буфер аккумулятора
-
убраны Evaluators
-
убран режим выбора
-
убраны
-
убран стек атрибутов
+
добавлено расширение
+
добавлено расширение
EXT_framebuffer_object
+
точное управление регионов для мапинга буферов в клиентскую память
EXT_gpu_shader4
Обеспечивает Shader Model 4.0. Нативная поддержка int и uint. Получение размера текстуры, обращение к конкретным текселям текстуры или по обычным координатам, но с целочисленным сдвигом. gl_VertexID на вход вершинного шейдера. Выбор режима интерполяции varying’ов. Не поддерживаются геометрические шейдеры.
NV_conditional_render
Обеспечивает выполнение отрисовки в зависимости от результата query, который не нужно получать от видеокарты.
Новые форматы вещественных текстур
ARB_color_buffer_float
NV_depth_buffer_float — 32-битный буфер глубины
ARB_texture_float
EXT_packed_float
EXT_texture_shared_exponent
Отрисовка в кадровые буферы с поддержкой мультисемплинга
EXT_framebuffer_multisample — поддержка формата кадрового буфера с мультисемплингом
EXT_framebuffer_blit — быстрое копирование кадрового буфера с фильтрацией
Новые 16-битные форматы с плавающей точкой для вершинных атрибутов и фреймбуфера
NV_half_float
ARB_half_float_pixel
Другие новые расширения
EXT_texture_integer — целочисленные текстуры
EXT_texture_array — массивы текстур
EXT_packed_depth_stencil — формат render buffer с interleaved глубиной и значением стенсиля (читать D24S8)
EXT_draw_buffers2 — раздельный режим блендинга для разных таргетов при MRT
EXT_texture_compression_rgtc — поддержка сжатых форматов для одноканальных и двухканальных текстур
EXT_transform_feedback — потоковый вывод из вершинного шейдера
EXT_framebuffer_sRGB — sRGB текстуры, в которые можно рисовать
GLSL 1.3
+
поддержка функциональности
, текстурной выборки с пользовательскими градиентами, функций для работы с целочисленными текстурами
+
переименованы функции текстурных выборок: теперь не нужно писать тип текстуры (1D, 2D, 3D, Cube, *Shadow), просто texture(…) — компилятор сам определит, что требуется
-
убраны встроенные атрибуты, GL state
-
убран ftransform()- требуется ставить флажок invariant
Недоступная функциональность против DirectX 10
Некоторые возможности существующие в DirectX 10 (при условии поддержки видеокарт) оказались за бортом:
-
нельзя читать отдельные семплы multi-sampled текстуры в GLSL
Функциональность из приведенного списка предложена отдельными расширениями от ARB (за исключением чтения из MS текстуры). Вот только ждать этих расширений от некоторых вендоров возможно придётся довольно долго. Однако, для использования этой функциональности не нужно переписывать код рендерера как в случае с DX9 на DX10.
Примечания
(англ.)
. opengl.org (11 августа 2008). Дата обращения: 5 июня 2009. Архивировано из
25 августа 2011 года.
(неопр.)
. Дата обращения: 14 августа 2008.
15 августа 2008 года.