Создайте контекст OpenGL ES 2.0 в «стандартной» системе Linux - PullRequest
2 голосов
/ 12 мая 2011

Я пишу игровой движок с использованием opengl 3.3 / SDL / glew / Linux (Ubuntu 11.04). Я хочу сохранить возможность развертывания на мобильных устройствах (OpenGL ES 2). Это означает, что я должен оставаться несколько совместимым с OpenGL ES 2.0. Поэтому мой вопрос: Можно ли создать контекст OpenGL ES 2.0, используя SDL / (существующий патч на SDL).

Ответы [ 3 ]

2 голосов
/ 12 мая 2011

Вам не нужен контекст GL ES 2.0 на ПК, вы можете использовать OpenGL 4.1 с GL_ARB_es2_compatibility, который добавляет функции OpenGL ES, которых не было в OpenGL, что делает их совместимыми с API.

1 голос
/ 12 мая 2011

Вместо использования неофициальной / исправленной версии SDL 1.2 вы можете просто использовать SDL 1.3.

Цитирую себя на другой вопрос :

Я предлагаю вам скачать и настроить SDK 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. Это позволяет мне использовать тот же код для и.

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

Вместо PowerVR SDK, который требует регистрации, вы можете использовать эквивалент ARM Mali, который является открытой загрузкой.Вот оно: http://www.malideveloper.com/opengl-es-20-emulator.php. Они могут работать по программному пути Mesa, если у вас нет оборудования OpenGL 2.0.

...