So lassen sich mit Java-3D Grafikanwendungen erstellen

Seit Version 1.2 wird Java-3D im Rahmen des Java Community Process entwickelt. Java-3D setzt auf OpenGL und Direct3D auf. Gleichzeitig ist es eine Schnittstelle, die Grafikprogrammierung mittels eines echten objektorientierten Konzepts ermöglicht. Darüber hinaus bietet Java-3D auch umfangreiche Unterstützung für 3D-Sound.

Zur Konstruktion einer Szene wird ein Szenengraph eingesetzt. Er repräsentiert die darzustellenden Objekte. Ein solcher Szenengraph ist wie ein Baum strukturiert, der eine Reihe von Elementen enthält, die zur Anzeige der Objekte notwendig sind.

So funktioniert die 3D-Welt

Der Aufbau von Java-3D unterscheidet sich deutlich von anderen gängigen 3D-Grafik-APIs wie OpenGL oder Direct3D. Dies sind prozedurale Low-Level-APIs, die eng mit der 3D-Hardware verbunden sind. Bei Java-3D richtet man hingegen sämtliche Grafikobjekte (auch Geometrieobjekte genannt) in einem sogenannten Szenengraphen ein. Dieses hierarchische Modell enthält alle Informationen über die darzustellenden Objekte und ihre Bearbeitung. Anschließend wird der Szenengraph zum Rendern an Java-3D übergeben. Für die Darstellung der Daten muss keinerlei Code geschrieben werden – das erledigt Java-3D. Mittels der zahlreichen leistungsfähigen integrierten Werkzeuge kann der Entwickler gleich auf einer höheren Ebene programmieren.

Java-3D nutzt dabei jede 3D-Beschleunigung, die die Grafikkarte bereitstellt. Letztlich erzeugt Java-3D OpenGL-Aufrufe in einer JNI-Schicht, die von der Grafikkarte beschleunigt werden können. Mit OpenGL beschleunigte Karten sind inzwischen in vielen Rechnern Standard. Deshalb sollten die Java-3D-Programme in der Regel hardwarebeschleunigt sein.

Bei dreidimensionalen Koordinaten (x,y,z) gibt die z-Komponente die Entfernung zum Betrachter an. Java-3D verwendet z-Werte, um nicht sichtbare Flächen verdeckter Objekte zu entfernen. Die z-Werte des roten Ringes im folgenden Bild sind klein, weil er sich dicht am Betrachter befindet. Er verdeckt Teile des blauen Ringes, wenn die z-Werte der beiden Ringe während des Renderns verglichen werden.


Page: 1 2 3 4 5

ZDNet.de Redaktion

Recent Posts

Black Friday: Vorsicht vor schädlichen QR-Codes

Bösartige QR-Codes, die per E-Mail versendet werden, eignen sich sehr gut, um Spam-Filter zu umgehen.

10 Stunden ago

Black Friday: Zahl der ominösen Shopping-Websites steigt

Unsichere Websites und Phishing-Mails in Verbindung mit Black Friday können kauffreudigen Konsumenten zum Verhängnis werden.

10 Stunden ago

SmokeBuster bekämpft SmokeLoader

Malware SmokeLoader wird weiterhin von Bedrohungsakteuren genutzt, um Payloads über neue C2-Infrastrukturen zu verbreiten.

17 Stunden ago

Taugen Kryptowährungen als Unterstützer der Energiewende?

Bankhaus Metzler und Telekom-Tochter MMS testen, inwieweit Bitcoin-Miner das deutsche Stromnetz stabilisieren könnten.

1 Tag ago

Supercomputer-Ranking: El Capitan überholt Frontier und Aurora

Mit 1,7 Exaflops ist El Capitan nun der dritte Exascale-Supercomputer weltweit. Deutschland stellt erneut den…

2 Tagen ago

Ionos führt neue AMD-Prozessoren ein

Der deutsche Hyperscaler erweitert sein Server-Portfolio um vier Angebote mit den neuen AMD EPYC 4004…

2 Tagen ago