Я понимаю, что OpenGL 4 и 3 довольно похожи, особенно 3.1 и 4.1. Поскольку оба они по существу выпущены вместе, может быть трудно понять обоснование OpenGL 4.0/4.1.
В предыдущих выпусках OpenGL малая версия увеличивается вверх до тех пор, пока существенные изменения не будут скопированы в новую основную версию. OpenGL 3.x и 4.x внесли обратно-несовместимые изменения API, а затем OpenGL 3.2 и 3.3 называются специально ветвями трех серий, которые не являются передовыми, тогда как 3.1 совместимо с 4.1 +
Какие ключевые отличия предлагают OpenGL 4.1 по сравнению с OpenGL 3.1, которые гарантируют, что он будет классифицирован под новой основной версией?
Бонус: может ли какая-либо из различий повысить производительность в любых ситуациях по сравнению с GL3 или просто доступностью?
Изменить: некоторые дополнительные выводы, основанные на ответах
OpenGL 3.3 был дополнен OpenGL 4.0, чтобы использовать как можно больше функциональных возможностей для более старого оборудования. Выбор между OpenGL 3 и 4, 3.3 может быть лучшим выбором иногда. 4.1 добавила совместимость с GL ES 2.0 и некоторые приятные функции.
Одной из больших различий в рабочих потоках будет добавление шагов программирования графического процессора в конвейере с помощью новых тесселяционных шейдеров. Другим будет несколько видовых экранов для рендеринга. Я полагаю, что новый уровень детализации изменит рабочий процесс, который я использую, и, возможно, еще немного, хотя я не изучил эту особенность в глубину.
Пожалуйста, дайте мне знать, если вы видите какие-либо заблуждения или области для улучшения.
Ключевые слова (видимо, удалены из ответа при запросе на мета. Для временного указания того, каков был фактический ответ.)
Приложение G - K Для функций OpenGL 3.1 через OpenGL 4.1 > особенности
Выпуск Xronos Group OpenGL 4.0 может быть "более простым для чтения":)
- Объекты Sampler
- Экранные массивы и шейдеры
texture_cube_map_array и texture_gather
GLSL 4.0 и динамический LOD
- shader_subroutine и sample_shading
- separate_shader_objects
- Увеличить требуемые размеры для текстуры/рендеринга буферов
- 64-битные атрибуты вершин
- get_program_binary
- +2 Тесселяционные шейдеры