Я пишу игровой движок с использованием opengl 3.3 / SDL / glew / Linux (Ubuntu 11.04). Я хочу сохранить возможность развертывания на мобильных устройствах (OpenGL ES 2). Это означает, что я должен оставаться несколько совместимым с OpenGL ES 2.0. Поэтому мой вопрос: Можно ли создать контекст OpenGL ES 2.0, используя SDL / (существующий патч на SDL).
Вам не нужен контекст GL ES 2.0 на ПК, вы можете использовать OpenGL 4.1 с GL_ARB_es2_compatibility, который добавляет функции OpenGL ES, которых не было в OpenGL, что делает их совместимыми с API.
GL_ARB_es2_compatibility
Вместо использования неофициальной / исправленной версии 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. Это позволяет мне использовать тот же код для и.
Я предлагаю вам скачать и настроить 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. Это позволяет мне использовать тот же код для и.
Вместо PowerVR SDK, который требует регистрации, вы можете использовать эквивалент ARM Mali, который является открытой загрузкой.Вот оно: http://www.malideveloper.com/opengl-es-20-emulator.php. Они могут работать по программному пути Mesa, если у вас нет оборудования OpenGL 2.0.