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

Google kündigt neue Sicherheitsfunktionen für Chrome an

Der Sicherheitscheck entzieht unsicheren Websites automatisch alle Berechtigungen. Zudem können Nutzer in Chrome künftig Websites…

7 Stunden ago

Cyberkriminelle nehmen Fertigungsbetriebe ins Visier

Ontinue registriert einen Anstieg beim Anteil am Gesamtangriffsvolumen um 105 Prozent. Das Angriffsvolumen auf den…

8 Stunden ago

o1: OpenAI stellt neues KI-Modell für komplexe Abfragen vor

Das o1 genannte Modell liegt als Preview vor. Bei einer Mathematikprüfung beantwortet es 83 Prozent…

3 Tagen ago

Zoom erhält IT-Sicherheits- kennzeichen des BSI

Das Kennzeichen erhalten Zoom Workplace Pro und Zoom Workplace Basic. Es bescheinigt unter anderem aktuelle…

4 Tagen ago

Google verbessert Tab-Verwaltung in Chrome

iOS und iPadOS erhalten Tab-Gruppen. Zudem unterstützt Chrome nun die Synchronisierung von Tab-Gruppen.

4 Tagen ago

Identitätsdiebstahl: 58 Prozent der Deutschen sorgen sich um digitales Erbe

Sie befürchten einen Missbrauch der Identitäten von Verstorbenen. 60 Prozent befürworten deswegen eine Klärung des…

4 Tagen ago