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

Microsoft nennt weitere Details zu kostenpflichtigen Patches für Windows 10

Erstmals liegen Preise für Verbraucher vor. Sie zahlen weniger als Geschäftskunden. Dafür beschränkt Microsoft den…

7 Stunden ago

Microsoft verschiebt erneut Copilot Recall

Die Entwickler arbeiten noch an weiteren „Verfeinerungen“. Windows Insider erhalten nun wohl eine erste Vorschau…

1 Tag ago

GenKI im Job: Mitarbeitende schaffen Tatsachen

Laut Bitkom-Umfrage werden in jedem dritten Unternehmen in Deutschland private KI-Zugänge genutzt. Tendenz steigend.

1 Tag ago

97 Prozent der Großunternehmen melden Cyber-Vorfälle

2023 erlitten neun von zehn Unternehmen in der DACH-Region Umsatzverluste und Kurseinbrüche in Folge von…

1 Tag ago

„Pacific Rim“-Report: riesiges, gegnerisches Angriffs-Ökosystem

Der Report „Pacific Rim“ von Sophos beschreibt Katz-und-Maus-Spiel aus Angriffs- und Verteidigungsoperationen mit staatlich unterstützten…

1 Tag ago

DeepL setzt erstmals auf NVIDIA DGX SuperPOD mit DGX GB200-Systemen

NVIDIA DGX SuperPOD soll voraussichtlich Mitte 2025 in Betrieb genommen und für Forschungsberechnungen genutzt werden.

1 Tag ago