PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : OGL bzw. DX in Java!?


Hydrogen_Snake
2006-03-02, 10:04:15
hey leute,

meine frage lässt sich ja aus dem thread-title rauslesen, ist das in java möglich, opengl bzw. directx engines oder a'likes zu schreiben?

mit VJ dürfte das gehen oder?

PatkIllA
2006-03-02, 10:07:41
Es gibt auch Java3D, was dann auf OpenGL oder DirectX aufsetzt.

mithrandir
2006-03-02, 10:31:26
Bestes Beispiel für ansprechende Java-Technik im Spielbereich ist im Moment wahrscheinlich "Tribal Trouble"
-> http://tribaltrouble.com/tribaltrouble.php

Das setzt auf LWJGL (Lightweight Java Game Library) auf:
-> http://de.wikipedia.org/wiki/LWJGL

Shink
2006-03-02, 14:16:47
JOGL ist sind OGL-Bindings für Java, die angeblich irgendwann einmal ihren Weg in das JDK/JRE finden sollten. LWJGL ist ziemlich das gleiche, ist aber anscheinend etwas schneller und anders zu bedienen.

Für DirectX gab es von M$ mal Bindings und es gibt auch alternative COM-Schnittstellen für Java, aber dann wäre man auf Windows beschränkt.

Schließlich gibts dann noch komplette Game-Engines mit Java-Bindings wie z.B. Irrlicht 3D (jirr) oder Game-Engines nur für Java (z.B. JME: JMonkeyEngine).

Java3D ist ganz nett zum Programmieren, aber nicht wirklich up-to-date und performant. Wem das egal ist, würd ich es durchaus empfehlen.

darph
2006-03-02, 15:36:06
Das setzt auf LWJGL (Lightweight Java Game Library) auf:
-> http://de.wikipedia.org/wiki/LWJGL
Hmm... also wenn ich mir die Demos so anschaue... inwieweit unterscheidet sich das von jogl? Irgendwie scheint beides eine 1:1 Portierung von GL zu Java zu sein.

EgonOlsen
2006-03-02, 17:09:15
Java3D ist ganz nett zum Programmieren, aber nicht wirklich up-to-date und performant. Das stimmt nicht so ganz..siehe hier (http://www.javagaming.org/forums/index.php?topic=11748.0)

Xmas
2006-03-02, 19:06:19
Was soll der Link nun genau sagen?

EgonOlsen
2006-03-02, 23:48:38
Was soll der Link nun genau sagen? :confused: Wenn du den verlinkten Thread nicht lesen magst, wirst du es wohl nicht erfahren.

Edit: Oder vielleicht doch...es ging um die Aussage, java3D sei nicht performant...das stimmt so nicht, wie man z.B. hier sehen kann: http://www.javagaming.org/forums/index.php?topic=11748.msg94161#msg94161

Xmas
2006-03-03, 00:11:21
210 fps (Auflösung? Szene?) mit einer X800XTPE bei einem sechs Jahre alten Spiel (bzw. einem Viewer/Port) reißen mich wirklich nicht vom Hocker. Ich habe Q3A schon auf einem Dell Axim PDA mit spielbarer Framerate gesehen.

EgonOlsen
2006-03-03, 00:32:30
210 fps (Auflösung? Szene?) mit einer X800XTPE bei einem sechs Jahre alten Spiel (bzw. einem Viewer/Port) reißen mich wirklich nicht vom Hocker. Ich habe Q3A schon auf einem Dell Axim PDA mit spielbarer Framerate gesehen.Jaaa...kann ja sein...aber darum ging es mir nicht (mal abgesehen davon, dass dein Vergleich hinkt...wenn du ein/zwei Seiten weiterblätterst kommen noch Ergebnisse von einem speziellen Quake3-renderer und die sehen dann schon noch anders aus, als das, was die generischeren Engines liefern). Die übliche Aussage (auch hier im Thread) ist immer: Java3D ist nett, aber zu langsam (bzw. langsamer als andere Java-Engines). Der verlinkte Thread zeigt das Gegenteil. Es ist (in diesem Test) nämlich schneller als die Alternativen. Das wollte ich nur aufzeigen, damit dieser Mythos nicht ewig lebt. Benutzen tue ich es trotzdem selber auch nicht... :wink:

Shink
2006-03-04, 14:58:39
Hmm... tja, ist eine Zeit her, dass ich in Java3D programmiert hab, damals war es wirklich noch langsam und rückständig. Aber die Community scheint ja einiges daraus gemacht zu haben. Außerdem verwendet das Zeug anscheinend ja selbst schon massiv Multithreading - vielleicht hat man da von Multicore-CPUs auch noch ein bisschen was.
Gut, in meinem nächsten Projekt werd ich wohl wieder mal Java3D eine Chance geben.

@Xmas: Schön und gut, aber eine SceneGraph-basierte Engine spart nun mal eine Menge Aufwand bei der Programmierung. Gratis kann das eigentlich nicht sein; wenn es annehmbar schnell ist, warum sollte man dann (für den "Hausgebrauch") noch etwas anderes verwenden?

MadMan2k
2006-03-05, 09:46:32
bzgl. Java Performance:
http://www.bytonic.de/html/benchmarks.html

Hucke
2006-03-05, 10:19:15
Hübsches Beispiel zu Java und 3D dürfte wohl Chrome sein. Der Shooter ist doch in Java geschrieben, rennt flott und sieht nett aus (mal von den menschlichen Models abgesehen).

EgonOlsen
2006-03-05, 11:28:26
Hübsches Beispiel zu Java und 3D dürfte wohl Chrome sein. Der Shooter ist doch in Java geschrieben, rennt flott und sieht nett aus (mal von den menschlichen Models abgesehen).Nein, "nur" das Scripting ist in Java. Die 3D-Engine ist immer noch C++.

Darkstar
2006-03-05, 11:29:18
Bei Alice (http://www.alice.org/) wird für die 3D-Darstellung DirectX oder Java3D genutzt. Die Java-Anwendung ist, was die 3D-Engine angeht, sicher nicht sehr anspruchsvoll, allerdings ist der Quelltext verfügbar.

Coda
2006-03-05, 11:31:55
bzgl. Java Performance:
http://www.bytonic.de/html/benchmarks.htmlQuake ist ein schlechter Benchmark. Da ist absolut kaum Arithmetik dahinter, im Prinzip ließt das Ding in jedem Frame nur das PVS aus und schmeißt die Geometry auf die GPU.

Vor allem will ich da auch mal Benchmarks mit dem Software-Rasterizer sehen ;)