В такие времена я всегда иду в Steam Hardware Survey: http://store.steampowered.com/hwsurvey/ - вы увидите, что проникновение на рынок систем класса DX10 / 11 составляет почти 80%; это в целом эквивалентно GL3.3 или выше. Эти 80% ограничены пользователями Vista / 7 - добавьте графический процессор DX10 / 11 с XP, и вы получите чуть более 90%.
Имея в виду, что мы говорим о немного более хардкорных геймерах, вам нужно начать думать о вашей целевой аудитории. Это те люди, на которых вы хотите нацелиться? Вы нацеливаетесь на тех, у кого более низкое оборудование? А как насчет графики Intel? А как насчет пользователей Mac и Linux? Это все вопросы, на которые вы должны ответить сами, поэтому общие рекомендации - это лучшее, что вы получите.
Кроме того, вы должны принять во внимание тот факт, что если вы начинаете сегодня учиться с намерением что-то отгрузить, вы ожидаете минимум один год, прежде чем попасть туда (если мы не говорим о действительно тривиальных / простых случаях). Продолжая тенденцию к росту возможностей gfx, мы ожидаем, что к тому времени мы станем ближе к 100% освоению оборудования GL3.3 +.
Затем учтите, что с GL2.1 или ниже вы будете изучать и использовать очень много глупой старой чепухи, даже если вы ограничиваете себя шейдерами и подмножеством VBO GL2.1 (версии GLSL нижнего уровня неудобны в использовании и потоковые VBO практически бесполезны без GL_ARB_map_buffer_range) - GL3.3 + представил гораздо более приятные (и более производительные) способы обработки многих вещей, вы будете лучше использовать аппаратное обеспечение проигрывателя (и они будут благодарны Вы за это), и вы будете тратить больше времени на написание продуктивного кода, чем на борьбу с API, который действительно не хочет с вами сотрудничать.
И затем, конечно, есть страшная ситуация с водителем. Жесткий, но реальный факт заключается в том, что драйверы GL в Windows находятся в плачевном состоянии - NV поддерживает то, что им не следует, AMD не поддерживает то, что им нужно, а с Intel вам действительно нужно ограничиться функциональностью GL, для которой есть эквивалент в D3D. Чем новее GL_VERSION, тем больше вероятность, что вы столкнетесь с ошибками драйверов, но для GL3.3 все достаточно стабильно.
Итак, сводка заключается в том, что в отсутствие какой-либо другой информации (целевой аудитории и т. Д.) Я бы нацелил GL3.3 в качестве базового уровня (возможно, используя функциональность более высоких GL_VERSION, где она доступна и где она не нарушает кодовую базу). слишком много), если не было очень конкретной и окончательно определенной причины идти на понижение (и я хотел бы быть абсолютно на 100% уверен в этом, вместо того, чтобы использовать какое-то смутное понятие « но как насчет тех, у кого старое оборудование »). В последнем случае я бы не стал опускаться ниже GL2.1, и я бы хотел использовать как можно больше возможностей 3.x даже тогда.