Подтвердить что ты не робот

Какую версию OpenGL использовать?

В настоящее время я запускаю машину, которая позволяет мне программировать в OpenGL 2.1. Если бы я должен был создать программу, я должен использовать мощность текущих версий OpenGL, таких как 3.x/4.x или использовать 2.1?

С вопросом: как я могу узнать, какую версию OpenGL можно запустить с помощью самой высокой версии моего компьютера?

С другой стороны вопрос: только обновление моей видеокарты позволяет мне программировать в обновленных версиях OpenGL?

4b9b3361

Ответ 1

версии OpenGL (для графических процессоров AMD и NVIDIA) примерно соответствуют уровням аппаратного обеспечения. Версии 2.x OpenGL для аппаратного обеспечения уровня DX9. 3.x представляет собой уровень DX10, а 4.x представляет собой аппаратное обеспечение класса DX11. Таким образом, версия, которую вы выбираете, ограничивает, вы можете запустить свой код.

В общем, любой графический процессор AMD или NVIDIA, который вы действительно можете купить в магазине, будет 3.x или лучше (более чем вероятно, 4.x). Даже интегрированные графические процессоры, материнские платы или процессоры от AMD - 3.x или выше. Я занимаюсь разработкой домашней разработки на графическом процессоре HD 3300, и он работает достаточно хорошо.

Intel - проблема. Качество драйвера Intel OpenGL довольно плохое. Многие старые компьютеры Intel могут поддерживать только GL 1.4, которая является функциональностью класса до DX9. Они поддерживают некоторые расширения более высокого уровня (шейдеры, но только вершинные шейдеры, поскольку они запускают их в программном обеспечении).

Более свежие графические процессоры Intel немного лучше, но их драйверы GL по-прежнему довольно ошибочны.

Вышеописанная ситуация для Windows. Linux немного пушисто, потому что есть драйверы от NVIDIA/AMD и публичные драйверы сообщества с открытым исходным кодом. Последние, как правило, не так хороши, но улучшаются. Они, как правило, относятся к аппаратным средствам класса 3.x.

Мир MacOSX немного отличается. Mac OSX Lion (10.7), недавно выпущенный, добавляет поддержку OpenGL 3.2 (к сожалению, не 3.3, по какой-то причине). Apple жестко контролирует работу OpenGL на своей платформе, но, надеюсь, они будут обновлять версии GL чаще, чем они были недавно.

Итак, на Mac, у вас действительно есть два варианта: 2.1 или 3.2. Обратите внимание, что поддержка Lion 3.2 предоставляет только основные функции OpenGL. Смотрите эту страницу, чтобы узнать, что это значит.

Вы не можете сказать, на что способна самая высокая версия, на которую способен ваш конкретный компьютер. Существует просто версия, которую вы получаете при создании контекста. В общем случае, если вы специально не запрашиваете версию (и даже тогда, как правило, нет), вы получите самую высокую версию, которую могут обрабатывать ваше оборудование и драйверы.

О, и да: версия OpenGL контролируется возможностями вашей видеокарты (и установленными драйверами).

Следующий совет предполагает, что вы разрабатываете серьезное приложение, которое вы намерены использовать для других. Это не для небольших демонстрационных приложений и т.д.

В общем, я бы посоветовал явно ограничить ваш код на 4.x. В то время как внедрение 4.x увеличивается с каждым днем ​​(есть 2 поколения аппаратных средств от NVIDIA и AMD с поддержкой 4.x, а третий, вероятно, будет отсутствовать на протяжении многих лет от AMD. Также AMD начинает внедрять графические процессоры с поддержкой 4x в их процессорах сейчас), все еще много оборудования 3.x. 4.x не покупает вас много, и вы можете легко добавлять пути кода, чтобы условно поддерживать функции 4.x, если они доступны.

Ответ 2

Для использования OpenGL 3.x вам нужна карта, поддерживающая DirectX10 и соответствующие драйверы, которые поддерживают ее. Преимуществом в отличие от DirectX является то, что вы также можете использовать OpenGL3 и 4 в WindowsXP. Нет необходимости в 7 или Vista. Какую версию вы должны использовать, зависит от вашей аудитории. Если ваша аудитория - геймеры, идите вперед, используйте 3. Еще не сделайте 4 эксклюзивных. DX11 все еще редки. Для первого взгляда на то, как Геймеры используют свои компьютеры и какое оборудование у них есть, пар - хороший источник:

http://store.steampowered.com/hwsurvey

Вы можете определить версию, выполнив:

glGetString(GL_VERSION);

Хороший учебник OpenGL3:

http://arcsynthesis.org/gltut/

Справочник по SDK OpenGL 3.3:

http://www.opengl.org/sdk/docs/man3/

Надеюсь, это немного поможет:).

Ответ 3

Множество встроенных графиков Intel ограничено 1,4 или 1,5.

Mac OSX застрял на 2.1, я слышу.

Все карты Radeon и GeForce могут делать 3+ (может потребоваться обновление драйвера).

И вы можете запрограммировать любую версию, но если ваше оборудование не поддерживает ее, вы закончите тестирование под программным рендерером (медленно!).

Ответ 4

С вопросом: как я могу узнать, какую версию OpenGL можно запустить с помощью самой высокой версии моего компьютера?

Ответ на этот вопрос я отвечу. Я подхожу к инструменту ниже, он действительно завершен сам по себе и позволяет мне увидеть всю версию OpenGL, поддерживаемую моей системой (от 1.0 до той, которую она фактически поддерживает). Также для расширений, доступных для моей системы. Однако не только для ARB, это диапазон от NV, ATI, OES и т.д.

http://www.realtech-vr.com/glview/download.html