Разработка игр OpenGL для проблем рабочего стола / платформы - PullRequest
0 голосов
/ 01 марта 2010

Есть ли у кого-нибудь опыт написания профессиональных игр OpenGL для Windows? Для Mac, благодаря контролю Apple, операционная система выглядит довольно «равномерно». Для окон из-за разного оборудования, разных драйверов и т. Д. Аппаратная база имеет много разных конфигураций.

Теоретически, OpenGL предоставляет API, который абстрагирует все это. На практике многие драйверы часто глючат и имеют странные случаи - это было проблемой для разработки игр для Windows?

Спасибо!

Ответы [ 3 ]

1 голос
/ 01 марта 2010

Самая большая проблема, с которой вы столкнетесь, заключается в следующем: Windows 7 не поставляется с аппаратным OpenGL. Если пользователь не предпримет действия для замены видеодрайверов по умолчанию на обновленные версии с сайта поставщика, единственной поддержкой OpenGL будет средство визуализации программного обеспечения ~ v1.0.

1 голос
/ 13 марта 2010

Два крупнейших производителя графических процессоров (Nvidia и ATI) предоставляют драйверы OpenGL 3.x, которые используют преимущества новейших функций современного оборудования. Как указывает Крис, основная проблема заключается в том, что пользователю потребуется установить последние версии драйверов от самих поставщиков, поскольку Windows поставляется с самой элементарной поддержкой OpenGL (благодаря Microsoft, которая, кажется, делает все возможное, чтобы ножом OpenGL и подтолкнуть DirectX). Так что, если у них есть последние драйверы, у вас все будет хорошо.

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

Средство gDebugger, похоже, неплохо отслеживает проблемы с производительностью. (Инструменты OpenGL, которые поставляются бесплатно с Xcode, довольно круты.)

Вам нужно получить glext.h из реестра расширений OpenGL и выяснить основные требования для вашего приложения. Вы, вероятно, не хотите иметь альтернативные пути кода, в зависимости от того, какие расширения доступны, если вы можете помочь этому! И, как упоминает автор, есть несколько библиотек (таких как GLEW и GLEE), которые помогают в процессе управления расширениями. В итоге я написал свою собственную, поскольку мне не нравились эти реализации.

Существует множество движков и графов сцен для OpenGL, если вы еще не выбрали свой набор инструментов.

Я обнаружил несколько небольших ошибок по пути, но почти все было легко обойти. В наши дни все довольно хорошо.

0 голосов
/ 01 марта 2010

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

Библиотека OpenGL Extension Wrangler (GLEW) - это межплатформенная библиотека загрузки расширений C / C ++ с открытым исходным кодом. GLEW предоставляет эффективные механизмы времени выполнения для определения того, какие расширения OpenGL поддерживаются на целевой платформе. Функциональность ядра и расширения OpenGL представлена ​​в одном заголовочном файле. GLEW был протестирован на различных операционных системах, включая Windows, Linux, Mac OS X, FreeBSD, Irix и Solaris.

...