Frage zur 3D Entwicklung zwecks vorhandener Engines

Kilinat

Aktives Mitglied
Hi :)

Ich will endlich anfangen mich in Java mit 3D zu beschäftigen. Ich habe von vielen Seiten gehört das Java 3D extrem umständlich ist, und es mit einigen Engines leichter ist. ( z.B. Polygone ).

Könnt ihr mir vielleicht Engines empfehlen für den Anfang der 3D Entwicklung, oder soll ich mir zuerst wirklich Java 3D anschauen?

Hoffe auf gute Tips von euch :)

MfG Kilinat
 

Illuvatar

Top Contributor
Kommt darauf an, was du machen willst. Java3D ist einfach zu benutzen, stößt aber mmn schnell an seine Grenzen.
Für Spiele und ähnliches ist momentan die JMonkeyEngine hoch im Kurs, es gibt aber auch noch eine Vielzahl von Alternativen. Ich trau mir nicht zu, die auswendig alle runterzuschreiben ;) such mal im Forum, die werden hier öfters mal aufgezählt.
 

Kilinat

Aktives Mitglied
Okay, danke dir :)
Ich hab mal auf der Homepage von jME3 herumgeguckt, finde aber keine Tutorials.
Kennt ihr vielleicht gute (deutsche) Tutorials für jME3 ?

MfG
 

Fu3L

Top Contributor
Ich habe keine Deutschen Tutoriale gefunden (aber auch nicht wirklich danach gesucht). Das ist die offizielle Tutorialseite:

jMonkeyEngine.org | Documentation and Tutorials

Damit kommt man wohl schnell rein. Die Dokumentation ist hin und wieder etwas mau, aber ne Google Suche mit einem Schlagwort und JMonkeyEngine findet oft was im Forum, wenns etwas ist, was mehrere schon nicht verstanden haben.

Edit: Und die Engine befindet sich wirklich in fleißiger Entwicklung. Wenn etwas im Forum angesprochen wird, das fehlt oder verbuggt ist, antwortet fast sofort ein Entwickler.
 
Zuletzt bearbeitet:
S

Spacerat

Gast
Mal kurz aus einem anderen Thread kopiert...

1. LWJGL: für OpenAL, OpenGL und OpenCL. Kommt allem am nächsten unterstützt aber meines Wissens keine Lightweight-Components wie z.B. Swing ist dafür aber für 32-Bit und 64-Bit verfügbar. LWJGL wird auch von besagter JMonkeyEngine verwendet.

2. JOAL: für OpenAL. Ist ein wenig mehr objektorientierter, ist aber für Windows z.B. nur in 32-Bit verfügbar.

3. JOGL: für OpenGL. Ist ebenso wie JOAL auch ein wenig mehr objektorientierter und unterstützt auch Lightweight-Components. Seit Version 2.0 wurde es aber gravierend verändert. 2.0 ist afaik noch im Beta-Stadium und das schon recht lange.

4. JOCL: für OpenCL. Damit habe ich noch keine Erfahrungen gemacht.

Ich selbst verwende inzwischen LWJGL und verzichte dabei auf Lightweights. Der Vorteil hier: Man kann auch Tutorials durcharbeiten, welche für andere Sprachen, z.B. "C" oder "C#" konzipiert wurden, ohne gross den Code ändern zu müssen. Für die grafischen APIs stehen hier auch Tutorials in deutsch zur Verfügung. Die Quellen dazu findet man in vielen Programmiersprachen unter anderem auch Java hier.
 

schalentier

Gesperrter Benutzer
"Keine" heißt in diesem Fall: So wenig, dass nichtmal der Punkt deutlich wurde, dass OpenCL nichts mit Spielen (Grafik oder Audio) zu tun hat ;)

Naja, OpenCL hat in etwa soviel mit Spielen zu tun, wie OpenGL oder OpenAL. Mit OpenGL kannste auch nen drehenden Wuerfel programmieren, was ja offensichtlich genauso wenig ein Spiel ist, wie eine sich dynamisch durch ein OpenCL Programm aendernde Texture auf diesem Wuerfel. Aber Wurst, das is Klugscheisserei ;-)

Soweit ich weiss gibts mit Java nicht viele Alternativen zum OpenXL. Aber das sind weniger "Engines", sondern einfach platformunabhaengige Libraries, um mit der Grafikkarte zu reden.

Wenn du dich also erstmal grundlegend mit OpenGL beschaeftigen willst, empfehle ich LWJGL und google mal nach den NeHe Tutorials (die sind urspruenglich in C/C++ geschrieben, aber es gibt bestimmt auch Java Beispiele).

Wenn du gleich ein Spiel programmieren willst, kannste neben der JMonkey Engine auch Ogre3D anschauen (bzw. die Java API dazu). Damit wurden auch schon einige kommerzielle Spiele entwickelt, des kann also nicht wirklich schlecht sein... ;-) Beide Engines bieten dir noch viel mehr als OpenGL & Co, was aber zum Grundverstaendnis evtl. nicht besonders hilfreich ist. Ein Mittelding ist evtl. Xith, damit hab ich mal ganz positive Erfahrungen gemacht.

Java3D mag ich persoenlich ueberhaupt nicht. Zu kompliziert und am Ende viel zu langsam. Ist aber meine sehr subjektive Meinung...
 

Marco13

Top Contributor
Natürlich kann man auch in Spielen OpenCL verwenden, und das wird teilweise auch schon gemacht (Bullet Physics, Stoffsimulation oder so). Aber es wäre sicher nicht der klassische Einstiegspunkt in die Spieleprogrammierung ;)
 

Fu3L

Top Contributor
Wenn du gleich ein Spiel programmieren willst, kannste neben der JMonkey Engine auch Ogre3D anschauen (bzw. die Java API dazu). Damit wurden auch schon einige kommerzielle Spiele entwickelt, des kann also nicht wirklich schlecht sein... ;-) Beide Engines bieten dir noch viel mehr als OpenGL & Co, was aber zum Grundverstaendnis evtl. nicht besonders hilfreich ist. Ein Mittelding ist evtl. Xith, damit hab ich mal ganz positive Erfahrungen gemacht.

Ich habe mich gegen Ogre3D bzw Ogre4j entschieden, weil es hauptsächlich nicht zur Spieleprogrammierung entwickelt wird und man daher zB eine Bibliothek für Physikberechnungen noch einbinden muss. Außerdem könnte ich mir aus meinem Blickwinkel (also ohne Ahnung von beiden Engines zu haben) vorstellen, dass die JME wegen dieses Schwerpunktes auch etwas mehr auf Spiele optimiert sein könnte^^ Seis in Performance-Bereichen oder darin, was einem schon alles abgenommen wird an Arbeit.
 
S

Spacerat

Gast
Wenn du dich also erstmal grundlegend mit OpenGL beschaeftigen willst, empfehle ich LWJGL und google mal nach den NeHe Tutorials (die sind urspruenglich in C/C++ geschrieben, aber es gibt bestimmt auch Java Beispiele).
Nach den Nehe-Tuts brauchst nicht mal mehr googlen, die sind bereits in meinem vorletzten Beitrag hier verlinkt und zwar in deutsch und englisch ;) Ich habe die bereits bis Lesson 28 durch und bis auf Lesson 14 und 15 (3D Font Geschichten aus WGL) war bisher auch alles für LWJGL zumindest verfügbar. Hab' mich mit den 3D-Fonts dann ein wenig befasst, die beiden WGL-Funktionen nachgebildet und eine "printf()"-Methode hinzugefügt. Ferner lässt sich damit scheinbar alles, was man in ein "java.awt.Image" bekommt, relativ einfach in eine JGLTextur wandeln. Ich mach' mir mal die Mühe und lade das Ergebnis hier mal hoch. Vllt. hat der ein oder andere ja Vorschläge, wie es besser geht - das was man im Netz bezüglich "3D-Fonts in Java" findet, stellt für mich keine Alternativen dar. Bei Fragen, einfach fragen ;)
 

Anhänge

  • lwjgl_ext_src.jar
    29,3 KB · Aufrufe: 9

Fu3L

Top Contributor
Ich habe die Seite nur mal überflogen. Was mir gefallen würde, wäre das Terrain System mit Streaming, was allerdings auch für die JME in Planung ist.

Aber es scheint mir nicht so, als wenn die die gleichen Entwicklungskapazitäten wie die JME hätten bzw. momentan große Fortschritte machen würden oder bekomme ich nur einen falschen ersten Eindruck durch die Seite und das Forum?
 

Hachmed

Aktives Mitglied
Ich habe auch schon versucht, mich in die jmonkeyengine einzuarbeiten, aber dazu bräuchte ich ein Buch, nicht ein englisches Internet-Tutorial :(
 

Kr0e

Gesperrter Benutzer
Nein, die gleichen Kapazitäten wie jME sind nicht vorhanden. Aber jME hat auch ein paar unnötige Sachen. IMHO ist z.B. die Netzwerkimplementierung "SpiderMonkey" eher ein weiteres NIO Framework (Und da gibt es bessere Ansätze Netty3, MINA etc...), was ich nicht für ein Spiel verwenden würde aber dennoch fester Bestandteil von jME3 ist. Die jME3-Netbeansumgebung ist auch sehr buggy, oder vlt liegts auch an mir, dass ich nach 5-10 min iwie das Ding immer neustarten muss weil iwo was hägnt... Ich würde noch warten, denn die jME3 ist aus meiner Sicht zwar sehr umfangreich aber auch etwas unübersichtlich und fehleranfällig. Ardor3d ist quasi eine bessere jME2 mit einem saubererem API und ein paar neuen Features. Auch ein GUI ist direct Bestandteil von Ardor3D. jME3 setzt auf Nifty, was zwar nett aussieht, aber für Anfänger ein Horror ist. Ich finde es ehrlich gesagt Stuss, die Erstellung des GUI von Java zu trennen und in XML zu implementieren...

Lange Rede kurzer Sinn:

Ardor3D ist ein blick wert...

@Hachmed:

Ein Buch wirst du höchstens für Java3D finden :D Du musst scon etwas Eigeninitiative mitbringen und vorallem die Fähigkeiten, APIs aufgrund von Demos und ein paar kommentaren zu verstehen... Das sind alles Open Source Projekte, die nur von wenigen Menschen geleitet werden und keine fertigen kommerziellen Produkte...
 
Zuletzt bearbeitet:

Fu3L

Top Contributor
Oh ja, Nifty Gui war eine Freude mich reinzuarbeiten :autsch:

Mein größtes Problem liegt gerade in Terrainplatten, die ich einzeln lade und damit den Boden kachel^^ Eigentlich passen die gut zusammen, aber da wo die einige Einheiten höher sind, passen die aufmal nicht mehr aneinander, da ist dann eine Lücke von rund 2 Einheiten^^ (und zwar nicht in der Höhe, sondern in den "Bodendimensionen".. die Platten sind eigentlich ganz passgenau)

Mit Netzwerken habe ich noch keine Bekanntschaft gemacht^^

Das Problem für mich wäre dabei jetzt: Würde ich jetzt Ardor3D verwenden und es würde aufgegeben oder JME 3 stellts irgendwann einfach in den Schatten, wäre ich dran gebunden, aber ich werde trotzdem nochmal einen längeren Blick drauf werfen.
 

Kr0e

Gesperrter Benutzer
Da hast du natürlcih Recht, die Wahl einer engine ist shcon etwas "entgültiges" und man will natürlich das best-mögliche haben. Ich denke, wenn du dich bereits in Nifty und jme3 eingearbeitet hast und damit gut klar kommst, ist ein Umstieg vermutlcih nicht empfehlenswert...
 

Empire Phoenix

Top Contributor
Der farinsess sollte man sagen das in jme3 weder der netzwerkode benutzt werden muss noch die physicengine oder andere sachen, da das ganze sauber getrennt ist und man icht gezwungen wird es auch zu benutzen. (Für mein eigenes project benutze ich beispielsweise weder nifty noch die standart jbullet implementierung noch den netzcode).

Von den derzeitig existierenden mir bekannten java engine ist JME3 aber durch sein Shaderbasiertes materialsystem im bereich von aktuellen Technologien deutlich gegenüber anderen überlegen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
N Minecraft Frage für einen Minecraft Server Spiele- und Multimedia-Programmierung 2
G [Java/KryoNet/LibGDX] Mutliplayer Packet Frage Spiele- und Multimedia-Programmierung 2
G [Java Server] Allgemeine Frage zum Thema Networking in Videospielen Spiele- und Multimedia-Programmierung 15
J Frage zum Einlesen einer .wav in ein byte Array Spiele- und Multimedia-Programmierung 3
S ImageSlider frage Spiele- und Multimedia-Programmierung 3
Anfänger2011 Minimap: Theoretische Frage zur Umsetzung Spiele- und Multimedia-Programmierung 2
Androbin Kollisions-Frage Spiele- und Multimedia-Programmierung 8
windl Frage zu Airplay und zur Mitarbeit bei einer Mediaanlage Spiele- und Multimedia-Programmierung 0
S LWJGL Kamera Frage Spiele- und Multimedia-Programmierung 2
P Frage zu einem Projekt "Einarmiger Bandit" 3 Walzen / 9 Zeichnungen BLUEJ Spiele- und Multimedia-Programmierung 10
Guybrush Threepwood Ketzerische Frage: Opus-Codec für Java Spiele- und Multimedia-Programmierung 14
CookieSoft OpenGl Translatef Frage Spiele- und Multimedia-Programmierung 2
Kenan89 Theoretische Frage zu Tile Spielkarten Spiele- und Multimedia-Programmierung 9
R Tileloader Frage Spiele- und Multimedia-Programmierung 2
S Frage: NullPointer, aber warum? Spiele- und Multimedia-Programmierung 8
J Anfänger Frage wie adden? Spiele- und Multimedia-Programmierung 9
R Frage zur Kollision Spiele- und Multimedia-Programmierung 5
M.F.G. Spielvorstellung (plus KI frage): Connect Four – Extreme Spiele- und Multimedia-Programmierung 11
Helgon OpenGL Blend Frage Spiele- und Multimedia-Programmierung 18
P Frage bzgl. TextAdventure Spiele- und Multimedia-Programmierung 11
V Frage zu AffineTransforms Spiele- und Multimedia-Programmierung 2
N frage zu der mp3spi Spiele- und Multimedia-Programmierung 2
J Frage zu Threads Spiele- und Multimedia-Programmierung 5
C Frage zu Ray-Picking mit JOGL Spiele- und Multimedia-Programmierung 13
M VRML Loader(noob Frage) ^^ Spiele- und Multimedia-Programmierung 3
M Prinzipielle Frage: Kann Java Grafiken ausschneiden? Spiele- und Multimedia-Programmierung 3
R Frage zu Hütchenspielprogrammierung! Spiele- und Multimedia-Programmierung 47
V Frage zu Grafiken und Software! Spiele- und Multimedia-Programmierung 5
radiac Mal eine ganz Doofe Frage... verzeiht :) Spiele- und Multimedia-Programmierung 9
Developer_X Eine Frage zur ViewBesetzung Spiele- und Multimedia-Programmierung 28
H BlueJ Frage Spiele- und Multimedia-Programmierung 13
K Malefiz programmieren - Frage zu den einzelnen Spielfeldern Spiele- und Multimedia-Programmierung 5
G Ping Pong Frage Spiele- und Multimedia-Programmierung 17
0x7F800000 allgemeine frage zu Java 3D Spiele- und Multimedia-Programmierung 12
B Frage zur Spielsteuerung bei einem rundenbasiertes Spiel Spiele- und Multimedia-Programmierung 5
G frage zu tutorial Spiele- und Multimedia-Programmierung 3
M Frage eines Anfängers Spiele- und Multimedia-Programmierung 3
N Schiffe Versenken Frage zum Spielbrett Spiele- und Multimedia-Programmierung 24
N Generelle Frage: "GUI"-Werkzeuge Spiele- und Multimedia-Programmierung 5
X Frage zu Import von CAD Zeichnungen Spiele- und Multimedia-Programmierung 4
A kurze Frage zu Java3D! (automatische Skalierung) Spiele- und Multimedia-Programmierung 3
S Poker - grundlegende frage zu paint() Spiele- und Multimedia-Programmierung 10
B Frage zum GUI-Design bei Brettspielen Spiele- und Multimedia-Programmierung 4
P Frage zum Scrolling Spiele- und Multimedia-Programmierung 23
B Frage zum Abspielen von Sounddateien Spiele- und Multimedia-Programmierung 2
J Frage zu Geometry und Shape3D Spiele- und Multimedia-Programmierung 4
J Frage zu Transform3D.mul() Spiele- und Multimedia-Programmierung 2
J Java3D: Texture-Frage Spiele- und Multimedia-Programmierung 4
C frage zu glrotated Spiele- und Multimedia-Programmierung 12
T Einsatzbereich-Frage von Java 3D Spiele- und Multimedia-Programmierung 24
S [Java2D] Performance Frage Spiele- und Multimedia-Programmierung 4
G Frage zur Sichtbarkeit von Flächen Spiele- und Multimedia-Programmierung 2
R Ideen für die Backend-Entwicklung eines Games gesucht Spiele- und Multimedia-Programmierung 8
Finalspace Entwicklung eines Jump & Run Spiels Video-Tutorial Spiele- und Multimedia-Programmierung 12
P Java2DGameEditor Entwicklung Spiele- und Multimedia-Programmierung 24
A Layout Entwicklung Spiele- und Multimedia-Programmierung 9
A Tutorial für die Entwicklung einer Fussball-KI gesucht Spiele- und Multimedia-Programmierung 7
H 2d- Spiele Entwicklung Spiele- und Multimedia-Programmierung 11

Ähnliche Java Themen

Neue Themen


Oben