Как создать Celestia для Android?

Celestia - великолепное приложение для 3D-визуализации пространства в реальном времени с подробной моделью солнечной системы, более 100 000 звезд, более 10 000 галактик и механизм расширения для добавления большего количества объектов.

Он может работать на windows, mac os, linux, freeBSD, тогда есть ли какие-либо порты Android? или как создать или перенести его на Android?

Ответ 1

Основываясь на комментариях Spektre и быстро просмотрев, вам нужно:

  • Получить код (от SVN или Git fork)
  • Преобразуйте систему сборки автоматов в NDK
  • заменить весь зависимый от Linux код с помощью андроида NDK (например, opengl) или, еще лучше, добавить новую платформу
  • Создайте новый интерфейс. Вероятно, вы можете получить некоторое использование из Qt, так как работает на android

Некоторые вещи, которые необходимо учитывать:

  • База кода - около 200 тыс. строк, c/С++
  • Существуют некоторые необязательные зависимости (например, lua) и некоторые принудительные (?) зависимости (например, OpenGL libs)
  • Вам нужно внимательно изучить различные модули. Например, "celengine" содержит большую часть кода OpenGL.

IMHO, это сложно сделать (за последние годы я сделал несколько портов между ОС, хотя и с меньшими кодовыми базами). Моим подходом было бы скорее создать новую вещь (lib, app), используя имеющиеся данные, и добавить функциональность и компоненты NDK вовремя.