Примеры приложений OpenGL на Oxygene для кроссплатформенной работыDelphi , Графика и Игры , OpenGL
Если у вас есть рабочий проект OpenGL для ПК, который также работает на MacOS и Linux под Wine, и вы хотите попробовать его скросс-компилировать для планшетов, перед вами может встать вопрос о выборе подходящего инструмента. Delphi XE2/XE4 предлагает поддержку iOS, но Android еще не реализован, и, учитывая историю реализации iOS, это может занять 1-2 года. В этом случае можно рассмотреть другие возможности, которые позволят сохранить majority кодовой базы на Pascal (80k строк). Одним из таких инструментов является Oxygene. Вопрос: Есть ли примеры приложений OpenGL, созданных с помощью Oxygene, которые можно скросс-компилировать для работы на PC/MacOS/iOS/Android? Ответ: К сожалению, на данный момент таких примеров нет. Oxygene не пытается быть совместимым по источнику с Delphi, и runtime-библиотеки, используемые различными вариантами Oxygene, полностью отличаются от тех, которые используются в Delphi. Таким образом, вы не найдете серьезных библиотек, которые имели бы одинаковый источник, который можно было бы скомпилировать tanto на Oxygene, как и на Delphi. Подход, использованный RemObjects для разработки Oxygene на разных платформах, радикально отличается от подхода, использованного Embarcadero с Delphi. В случае с Delphi целью является возможность одноисточниковой разработки для всех платформ с помощью FireMonkey. В случае с Oxygene каждая платформа нацелена отдельно. Для Windows используется runtime .net, для Java - JVM, а для платформ Apple - Cocoa. Все это означает, что вы не можете ожидать, что напишете GUI-приложение в Oxygene и оно будет работать на нескольких платформах. Хотя Oxygene предоставляет отличный кросскомпилятор, на данный момент вы привязаны к использованию RTL, доступного на каждой платформе. В отличие от этого, FreePascal имеет встроенные OpenGL-единицы и уже несколько библиотек над ними, одну из самых мощных/известных является GLScene. SmartMobileStudio имеет встроенную поддержку WebGL и может делать amazing вещи на современных браузерах, что делает его отличным выбором для веб-разработки. Альтернативный ответ: Вы можете написать собственный слой OpenGL в Oxygene с использованием mapped types, как это используется в открытом исходном проекте sugar. В вашем коде вы просто используете один класс, который во время компиляции напрямую Mapping к методу класса подлежащей платформы, без перегрузки этого слоя. Пример кода на Object Pascal (Delphi):
В этом примере мы создаем интерфейс В заключение, хотя на данный момент нет примеров приложений OpenGL, созданных с помощью Oxygene, которые можно было бы скросс-компилировать для работы на PC/MacOS/iOS/Android, вы можете написать собственный слой OpenGL в Oxygene с помощью Приведены примеры приложений OpenGL на Oxygene для кроссплатформенной работы. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |