Сколько пользователей может запускать программное обеспечение, использующее OpenGL 3.x? - PullRequest
3 голосов
/ 21 июля 2010

Можно ли ожидать, что пользователи смогут запускать программное обеспечение, использующее OpenGL 3.x?

Могут ли пользователи Linux, имеющие графические драйверы с открытым исходным кодом, использовать OpenGL 3.x?Я знаю, что Mesa3D 7.8 поддерживает только OpenGL 2.1.

Я также знаю, что OS X Snow Leopard поддерживает некоторые, но не все функции OpenGL 3.0.Я не знаю ситуацию на Leopard.

Я не знаю ситуацию на XP, Vista и Windows 7.

Я хотел бы начать изучать OpenGL, и мой интереслежит больше в научных и технических приложениях, чем в играх.Я знаю, что буду читать код, который использует OpenGL 1.x, но я хотел бы написать код, используя новейшую спецификацию, которую я могу ожидать от пользовательских систем.Мне интересно, должен ли я начать изучать 2.1 или 3.3.Я думал о том, чтобы получить либо 4-е издание OpenGL Superbible для обучения 2.1, либо 5-е издание, которое выходит 30 июля для изучения 3.3.(У меня есть степень бакалавра по физике, поэтому мой математический фон довольно хороший.)


Редактировать: Я нашел этот связанный вопрос с ответами, которые относятся к моему вопросу.

Ответы [ 5 ]

3 голосов
/ 17 августа 2012

Я могу с радостью сообщить вам, что драйверы с открытым исходным кодом теперь официально полностью поддерживают OpenGL 3.0, и Intel будет поддерживать OpenGL 3.1 со следующего выпуска Mesa, теперь переименованного в Mesa 9.0 . Они добавили официальную поддержку OpenGL3.0 начиная с Mesa 8.0.

Поддержка Intel OpenGL для Windows в настоящее время составляет 4,0 , так что это не должно быть проблемой для вас.

Что касается поддержки AMD и NVidia, то есть полная поддержка OpenGL4.3 для драйверов с закрытым исходным кодом, как для Windows, так и для GNU / Linux. Что касается драйверов с открытым исходным кодом, Radeon будет официально поддержан OpenGL3.0 начиная с Mesa 9.0 в сочетании с выпуском ядра 3.6.0.

Вероятно, стоит упомянуть, что драйверы поддерживают подмножества OpenGL3.2 / 3.3 / 4.0 / 4.1 / 4.2 / 4.3, но «поддерживаемая версия» не может быть увеличена, пока ВСЕ функции не будут реализованы. Более подробную информацию см. В официальном документе.

Это захватывающее время для OpenGL!

3 голосов
/ 21 июля 2010

Как уже указывал Мартин Беккет, ситуация действительно плохая в том, что касается поддержки OpenGL 3.x. Многие «современные» графические чипсеты, широко используемые в ноутбуках (да, Intel, я смотрю на вас), даже не полностью поддерживают OpenGL 2.x; в некоторых даже отсутствуют такие старые функции, как мультисэмплинг.

Единственный способ заставить ваше программное обеспечение работать на как можно большем количестве систем - это использовать такие вещи, как GLEW , чтобы решить, какие функции использовать во время выполнения (т.е. нет необходимости в условной компиляции).

Что касается изучения OpenGL, 2.1, безусловно, является хорошим выбором, поскольку он позволяет вам понимать как старый код с использованием конвейера с фиксированными функциями, так и более современный код, основанный на шейдерах. После этого довольно легко освоить наиболее важные функции 3.x (например, объекты кадрового буфера, объекты массива вершин).

2 голосов
/ 21 июля 2010

Драйверы Windows XP для Intel GMA 950 поддерживают только OpenGL 1.4, без GL_EXT_framebuffer_object.Как ни странно, на одном и том же оборудовании (Mac mini) Linux и OSX поддерживают GL_EXT_framebuffer_object.

0 голосов
/ 17 марта 2012

Пока вы работаете только в научных и инженерных приложениях, я бы посоветовал вам использовать Modern OpenGL.Обычно инженер может позволить себе купить современный компьютер с хорошей видеокартой, если он в этом нуждается.Для науки приложение часто должно работать только на одном компьютере, поэтому совместимость со старыми компьютерами не должна быть вашей главной задачей, но прямая совместимость с новым оборудованием никогда не является неправильным решением.Очень разные.Здесь очень важно максимально увеличить аудиторию, чтобы вы могли продать максимальное количество копий.Требование слишком большого количества ресурсов значительно уменьшит целевую аудиторию.

0 голосов
/ 21 июля 2010

Я не знаю ситуацию в XP, Vista и Windows 7.

Плохо - большинство карт утверждают, что поддерживают openGl 2.0 или 2.1, но, если они не являются Nvidia, неожидайте, что все функции, кроме 1.1, будут работать

IIRC Windows Vista / 7 поддерживает OpenGL 1.1 в программном обеспечении или 1.4 с оболочкой DirectX.Графический драйвер может поддерживать все, что захочет, но кроме Nvidia качество оставляет желать лучшего.

...