2012-06-15 12 views
6

Ho letto il famoso "Learning Modern 3d Graphics Programming" fino al capitolo della gerarchia ma sembra troppo difficile per me, o almeno troppo lungo per imparare (devo fare un progetto per rendere un paesaggio 3d in cui la fotocamera può muoversi + effetti di luce + oggetti). Ho usato the java translation of the gltut e ho ancora bisogno di fare il mio progetto in java.OpenGL troppo difficile per me, c'è qualche alternativa?

Quindi, ecco la domanda: C'è qualche motore, un po 'più facile da usare per i principianti, in cui possiamo facilmente renderizzare scene ma non un motore dove un semplice makeScene() farà tutto il lavoro?

Ho sentito parlare di jmonkeyengine, è una buona alternativa?

+1

Sono attualmente uno studente di informatica in Svizzera, al mio 2 ° anno (per un certificato CFC). Sono su un progetto che non ha collegamenti con il mio corso. – user1458686

risposta

4

Mi piace la tua ambizione lì, OpenGL è un punto di partenza molto basso in questi giorni.

jMonkeyEngine, di cui si sta parlando è probabilmente un buon modo per iniziare. Ti aiuterà con il grosso carico di codice.

Una cosa importante nel caso del gioco/programmazione 3d è che anche se si dispone di un motore di alto livello, si potrebbe voler fare alcune animazioni, alcuni shader ecc. Che richiedono conoscenze dettagliate nella pipeline di rendering, conoscenze dettagliate su vector matematica e quelle cose. Non puoi aggirare questo, ma ti suggerisco di "prendere in prestito" codice aperto.

+0

Ok grazie mille per i vostri consigli;) – user1458686

2

Potresti essere interessato a Java3D. Con esso puoi costruire grafici di scene di oggetti, sorgenti luminose, ecc. Il suo approccio orientato agli oggetti può essere più semplice dell'approccio procedurale di livello inferiore di scrivere direttamente OpenGL, sebbene quest'ultimo possa essere più potente.

0

Quindi è possibile provare Ogre4j, che è un progetto che è possibile utilizzare per accedere alle librerie Ogre (Object-Oriented Graphics Rendering Engine) in applicazioni Java.