# Java3D API - DirectX od. OpenGL



## Billie (20. Januar 2004)

Hellas!

Naja, eigentlich sagt ja der Titel vom Thema schon alles. Also ich lerne mich gerade in Java ein und mein Ziel wäre es ein kleines 3D Spiel zu programmieren. Leider bin ich vom Verständniss her noch lange nicht soweit und bisher hab ich noch nicht mal eine grafische Benutzeroberfläche programmiert (?).

Wie dem auch sei, ich wollte trotzdem schon einmal ein bisschen rumprobieren und hab etwas gestöbert. Und zuerst dachte ich immer Spiele werden mit dem fixen 2D Java API programmiert, ich dachte halt am Bildschirm ist sowieso alles 2D, es sieht ja nur 2D aus. Naja, wie dem auch sei, ich bin vor kurzem auf das Java 3D API gestoßen (boah  ).

Ich versteh zwar noch kein Wort davon, aber ich hab schon einmal ein deutsches Tutorial dazu gefunden, Link. Wie gesagt, ich verstehe noch nicht wirklich etwas von dem Gebiet, aber ich wollte wenigstens das Beispiel kompilieren was am Ende der oben genannten Seite steht und gucken wie es aussieht. Dafür brauch ich natürlich erstmal das Java 3D API und bin direkt zu den Downloadseiten von Sun gekommen. Aber da gibt es jetzt 2 Möglichkeiten, die DirectX Version und die OpenGL Version.

Ok, ich weiß vielleicht gerade noch dass beides Grafikbeschleuniger sind und ich nehme an dass DirectX verbreiteter ist, aber ist das auch die bessere Wahl? Und wie sieht es mit der kompatibilität aus, läuft DirectX auch auf anderen Systemen, sprich MAC, LINUX ?

Und vielleicht könnt ihr mich auch noch einige (deutsche) Anlaufstellen für die Spiele Programmierung in Java nennen, die englischen Quellen überanstrengen im Moment noch meinen Denkapparat.

Vielen Dank für alle Kommentare,
BillieJoe


----------



## chibisuke (20. Januar 2004)

> Ok, ich weiß vielleicht gerade noch dass beides Grafikbeschleuniger sind


Das ist schonmal quatsch.
Die beiden sind GraphikAPIs das hatt mit Beschläunigung nicht wirklich was zu tun. Natürlich ist es schneller weil dadurch die Hardware ausgereizt wird aber naja...



> und ich nehme an dass DirectX verbreiteter ist, aber ist das auch die bessere Wahl? Und wie sieht es mit der kompatibilität aus, läuft DirectX auch auf anderen Systemen, sprich MAC, LINUX ?



DirectX ist verbreiteter weil Windows verbreiteter ist...
DirectX läuft nur auf Windows, und sonst nirgends, hingegen OpenGL ist auf eigendlich allen systemen die Treiber mit 3D unterstützung haben lauffähig, zumindest was die x86 betrifft.
was MAC angeht kann ich dir net genau sagen, ob es überhaupt OpenGL fähig is...
Was besser ist, bleibt dem überlassen, der draus was machen soll.
Man kann sowohl auf DirectX als auch auf OpenGL super Spiele produzieren, man kann aber auch auf Beiden genau so viel Schutt produzieren.

Bedenke auf jedenfall das Java aufgrund der Architektur für Spieleprogrammierung nur begrenzt geeignet ist (Performance ;-])


----------



## Billie (20. Januar 2004)

Danke für die schnelle Antwort!

Wie gesagt, ich hab keine Ahnung von DirectX und OpenGL, genau so wie ich nicht weiß was jetzt ein Grafik API ist.

Naja, ich lerne Java eigentlich um damit Webprojekte sinnvoll auszubauen, ich meine die Möglichkeiten mit Java sind im Gegensatz zu PHP und JavaScript ziemlich uneingeschränkt. Wichtiger ist mir auf alle Fälle dass die Programme auf allen Systemen laufen und nicht Microsoft abhängig sind. Dadurch würde meine Wahl jetzt auf OpenGL fallen.

Wie es genau mit Java in der Spieleprogrammierung aussieht weiß ich nicht, aber wenn ich mir die Zahlreichen Spiele auf Jippii.de ansehe, bin ich voll und ganz von Java überzeugt. Außerdem, für Spiele die Online verfügbar sein sollen wird es kaum eine andere Möglichkeit geben als Java.

Aber benötigt man überhaupt das 3D API um zB ein Spiel wie Pearl Harbor zu programmieren, od. lässt sich das auch anderst realisieren?


----------



## oska (21. Januar 2004)

Habs mir mal angeschaut. Echt gut, das Spielprinzip kenn ich noch vom Amiga.

Ich sag jetzt einfach mal, dass man dafür sicher keine 3D Api braucht. Das sollte sich mit dem normalen Sprachumpfang von Java realisieren lassen.


----------



## Billie (21. Januar 2004)

Mehr brauch ich ja eigentlich nicht, seien wir doch ehrlich... die alten Amiga / Comedore (kenn ich) machen doch immer noch am Meisten Spass 

Trotzdem, woher man vielleicht ein paar (deutsche) Infos zur Java Spieleprogrammierung herbekommt weiß niemand, oder? Wie lassen sich zB speziell Kollisionen am besten Realisieren 8) In meinem verwirrten Schädel würde ich die Positionen von Bildern einfach in einem Array speichern und überprüfen wann sich Positionen überschneiden, aber ich frag mich doch wie das gemacht wird.


----------



## oska (21. Januar 2004)

Doch ich  

Ist aber nur für wirkliche Anfänger geeignet:
http://www.java-applet.de/


----------



## Billie (1. Februar 2004)

Dann ist es wie für mich geschaffen 8) Danke!


----------

