Рекомендуемая среда для практики OpenGL ES 2.0? - PullRequest
5 голосов
/ 09 апреля 2011

Я решил изучить OpenGL ES 2.0 и пытаюсь выбрать для него платформу для тренировок.Что касается возможной целевой платформы, то это может быть Android, iPhone или WebGL.Но я не хочу тратить слишком много времени и усилий на правильную настройку среды.

Вы бы порекомендовали WebGL для быстрого начала изучения OpenGL ES 2.0 или чего-то еще?

Редактировать: я использую Mac, и в настоящий момент меня не интересует ES 1.x.

Ответы [ 5 ]

6 голосов
/ 10 апреля 2011

Если вы зарегистрируетесь в качестве разработчика в Центре разработчиков iOS (бесплатно), вы можете скачать Xcode и iOS SDK (опять же, бесплатно, когда вы получите Xcode 3), который включает в себя симулятор, способныйOpenGL ES 2.0.Это, конечно, предполагает, что у вас есть Mac, на котором все это запускается.

Получив SDK, вы можете просто запустить Xcode и создать новое приложение на основе шаблона приложения OpenGL ES.Это приложение будет полнофункциональным iOS-приложением OpenGL ES 1.1 и 2.0, которое вы можете создавать и запускать в симуляторе.Вы можете игнорировать весь специфический для iOS установочный код и сосредоточиться на методе -drawFrame в классе xxxViewController.m, в котором лежит код рисования OpenGL ES 2.0.

Это может быть довольно быстрая среданастроить для игры с шейдерами OpenGL ES 2.0.Я также опробовал пакет PowerVR SDK, который предлагает Тренки, и это немного сложнее, чтобы что-то настроить с этим.Если вы работаете в Windows, это будет гораздо более жизнеспособное решение, чем iOS SDK для Mac, который я описываю здесь.

Еще один инструмент разработки шейдеров, который может пригодиться для создания прототипов на Mac, - этоКварцевый Композитор.Он поставляется вместе с Xcode и предоставляет среду визуального прототипирования для всех видов эффектов, включая шейдеры OpenGL.Я демонстрирую пример такого прототипирования в статье, которую я написал здесь .GLSL для настольных компьютеров и реализация в OpenGL ES немного отличаются, но между ними много общего.

Ориентируясь на iOS, я недавно преподавал урок по OpenGL ES 2.0 как часть курса, который можно загрузить из iTunes U бесплатно.Это может помочь в освоении шейдеров.

3 голосов
/ 09 апреля 2011

Я предлагаю вам загрузить и настроить пакет Khronos OpenGL ES 2.0 для POWERVR SGX PC Emulation (К сожалению, для загрузки необходимо зарегистрироваться).Это позволяет вам наладить и запустить все на настольном компьютере, что сделает вашу жизнь намного проще, когда дело доходит до отладки.Затем вы можете использовать C / C ++ для разработки приложений OpenGL ES 2.0.

Если я не ошибаюсь, мой телефон Android (Samsung Galaxy S) также использует эту реализацию OpenGL.

Вместо использованияВ Khronos SDK вы также можете использовать библиотеки OpenGL ES 2.0 из проекта Mesa3D (в Ubuntu они есть в хранилище).Они работают нормально, но я не могу рекомендовать их, потому что я уже столкнулся с ситуацией, когда результаты отличались от реализации Khronos SDK и моего устройства Android.

РЕДАКТИРОВАТЬ: Вы также должны создатьОкно и контекст рендеринга OpenGL для фактического использования OpenGL.Для этого я могу порекомендовать SDL (1.3) , который также имеет официальный порт для Android.Я тестировал его на Android и Ubuntu с упомянутым SDK.Это позволяет мне использовать один и тот же код для обоих.

1 голос
/ 10 апреля 2011

Если вы хотите изучать OpenGL ES и иметь Mac, я предлагаю эту книгу:

http://iphone -3d-programming.labs.oreilly.com / (Вы можете прочитать ееиз Интернета, или купите его, я думаю, оно того стоит)

Помимо самого OpenGL, он объясняет некоторые математические приемы и показывает OpenGL ES 1.1 и 2.0 для всех примеров.

(В зависимости от того, что вы хотите сделать, иногда 1.1 намного проще и подходит лучше ... в 2.0 вам всегда нужны шейдеры, даже если вы хотите нарисовать только один треугольник.)

1 голос
/ 09 апреля 2011

Если для разработки игр попробуйте использовать фреймворк, то вам не нужно делать шаги ребенка самостоятельно :-).

Вот некоторые, с чего можно начать ( Я предпочитаю Android :-)):

Android
- Min3d
- Libgdx
- AndEngine

iPhone
- Cocos2d
- Воробей

WebGL
- Учебник
- глянец

0 голосов
/ 02 июля 2012

Поскольку Raspberry Pi поддерживает аппаратное ускорение OpenGL ES 2.0 и является довольно недорогим, он станет хорошей платформой для тестирования, если не будет реальной разработки. Это в основном смартфон последнего поколения, без битов телефона. Если вы устанавливаете на него дистрибутив Linux (например, Debian), вы готовы программировать на нем «из коробки». Поскольку это учебная платформа, она хорошо подходит для этой цели. Вы не будете одиноки, многие погружают свои пальцы в Open GL ES на нем.

...