2012-03-17 20 views
14

Celestia è una splendida applicazione per la visualizzazione 3D dello spazio in tempo reale, con un modello dettagliato del sistema solare, oltre 100.000 stelle, oltre 10.000 galassie e un meccanismo di estensione per aggiungere più oggetti.Come costruire Celestia su Android?

Può funzionare su Windows, Mac OS, Linux, FreeBSD, quindi ci sono porte Android di esso? o come costruirlo o portarlo su Android?

+0

bella domanda Ho creato un tag per Celestia e modificato la questio, forse otterrà un po 'più di attenzione, se non il tuo può offrire una taglia – aaronman

+1

Penso che questa sia più una domanda su come può gestirlo il tuo dispositivo Android? Per la simulazione di base del sistema solare è OK, ma quando inizi ad aggiungere asteroidi, comete, stelle, all'improvviso hai bisogno di una porzione relativamente grande di memoria, che non tutti i dispositivi Android possono gestire. L'altro punto è la velocità, meno oggetti più velocemente funziona ... sì è possibile aggiornare le posizioni con velocità ridotta ma quando si desidera ricalcolare improvvisamente un'intera scena che richiede tempo Aggiunta di grafica 3D moltiplica tutto questo. Quindi la domanda è quale dispositivo dovrebbe eseguire su quale sia la qualità di simulazione/rendering prima ancora di iniziare a port ... – Spektre

+1

Se si dispone di un desktop come alimentazione, assicurarsi che venga eseguito e si possa provare a portarlo. Prendi [codice sorgente] (http://sourceforge.net/projects/celestia/files/Celestia-source/) e riscrivi tutte le cose dipendenti dal sistema operativo/dalla piattaforma nel tuo ambiente. Questa è una quantità enorme di lavoro da fare con codice sorgente sconosciuto. Soprattutto se non sai cosa e come fa ... Guarda qui [simulazione realistica del sistema solare n-corpo] (http://stackoverflow.com/a/28020934/2521214) come funzionano di solito questi programmi – Spektre

risposta

1

Sulla commenti di Spektre e con un rapido sguardo alla, avresti bisogno di:

  1. Crea il codice (sia da SVN o un Git fork)
  2. Convertire il sistema di automake accumulo to NDK
  3. sostituisci tutto il codice dipendente da Linux con Android NDK (ad esempio opengl) o, meglio ancora, aggiungi una nuova piattaforma
  4. Crea una nuova interfaccia utente. Probabilmente si può ottenere qualche utilizzo di Qt, dal momento che works on android

Alcune cose da prendere in considerazione:

  • codice di base è di circa 200k linee, C/C++
  • Ci sono alcune dipendenze opzionali (es. lua) e alcune dipendenze obbligatorie (?) (es. librerie OpenGL)
  • Dovresti esaminare attentamente vari moduli. "celengine" per esempio contiene la maggior parte del codice OpenGL.

IMHO, questa è una cosa difficile da fare (ho fatto alcune porte io stesso tra i sistemi operativi negli anni passati, anche se con basi di codice più piccole). Il mio approccio sarebbe piuttosto quello di costruire una nuova cosa (lib, app) utilizzando i dati disponibili e aggiungere funzionalità e componenti NDK nel tempo.

Problemi correlati