Java3D

Java3D

Java 3D ist eine Klassenbibliothek von Java-Klassen zur Erzeugung, Manipulation und Darstellung dreidimensionaler Grafiken innerhalb von Java-Anwendungsprogrammen und -Applets. Mit Java 3D können also durch ein Java-Programm dreidimensionale Objekte modelliert, gerendert sowie das Verhalten und die Ansicht gesteuert werden.

Java 3D wurde seit 1997 von Sun Microsystems entwickelt. Die Version 1.0 erschien im Dezember 1998. Die Version 1.4 ist seit März 2006 verfügbar, als wichtiges Leistungsmerkmal ist hier die Möglichkeit der Shader-Programmierung für aktuelle Grafikhardware hervorzuheben. Aktuell ist die Version 1.5, die unter anderem die Rendering-Pipeline Jogl auf allen Plattformen einführt.

Nachdem Sun die Weiterentwicklung zwischenzeitlich eingestellt hatte, ist die Bibliothek seit Sommer 2004 als Open Source freigegeben. Derzeit sind Fassungen für OpenGL für Windows-Systeme und diverse UNIX-Plattformen erhältlich, sowie eine Version für Direct3D auf Windows 9x, Windows 2000 und Windows XP. Für Mac OS X gibt es eine Version für JDK 1.4 (bis 10.3), das JDK 1.5 für Mac OS X (10.4) enthält bereits Java 3D (in Version 1.3). Java 3D Version 1.5 ist für Windows, Linux, Solaris und Mac OS X erhältlich.

Szenengraph

Java 3D kapselt die Funktionalität der zugrundeliegenden OpenGL- oder DirectX-Schnittstelle in ein leichter verständliches objektorientiertes Programmkonzept auf Basis eines Szenengraphen. Im Szenengraph wird der logische Aufbau der darzustellenden Objekte auf eine gleichartig aufgebaute, baumähnliche Struktur abgebildet, die im Wesentlichen aus Definitionen von Transformationen und Geometriedaten besteht. Die so strukturierte Sicht der Szene erlaubt eine komfortable Handhabung der Objekte. Auch die Integration einer Soundkulisse in den Szenengraphen ist möglich.

Die Bibliothek implementiert Objekte und Methoden zur Repräsentation einer Szene und nutzt für deren Darstellung ausschließlich vorimplementierte und an das jeweilige Betriebssystem angepasste Funktionsbibliotheken. Damit wird zur Darstellung aller erzeugten Objekte die im System verwendete Videohardware verwendet. Potentiell ist damit die erreichbare Renderinggeschwindigkeit ähnlich hoch wie bei direkter Programmierung mit C und OpenGL oder Direct3D. Daher besteht die Möglichkeit, leistungsfähige 3D-Szenarien zu entwickeln, welche auf der GUI visualisiert werden können.

Ein direkter Zugriff auf OpenGL- oder Direct3D-Funktionen ist von Java 3D nicht vorgesehen. Leistungsmerkmale dieser Schnittstellen, die von Java 3D nicht gekapselt werden, können damit von Anwendungsprogrammen auf Basis von Java 3D nicht verwendet werden. Aufgrund der stetigen Weiterentwicklung der Videohardware hat dies wiederholt dazu geführt, dass neu unterstützte Leistungsmerkmale in Java 3D nur verzögert oder gar nicht verfügbar waren.

Koordinatensystem

Die Orientierung der Raumachsen in Java 3D bildet ein rechtshändiges Koordinatensystem. In der Nomenklatur von Java 3D wird der so aufgespannte Raum als Virtuelles Universum bezeichnet. Lediglich dieses Koordinatensystem ist vorgesehen, es gibt keine Möglichkeit, den Achsen eine andere Orientierung zuzuordnen.

Die sogenannten Locales-Objekte ermöglichen es, ein sehr präzises Koordinatensystem zu verwenden: durch diese Koordinaten, die als 256-Bit-Festkommazahlen implementiert sind, ist es möglich, von atomarer Ebene bis zum Makrokosmos alle Objekte in einem Koordinatensystem berechnen zu lassen. Damit wird die Nutzung der API für viele wissenschaftliche Anwendungen vereinfacht.

Weblinks


Wikimedia Foundation.

Игры ⚽ Нужно сделать НИР?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Java3D — Java 3D Java 3D est une interface de programmation (Application Programming Interface ou API) pour la plateforme Java visant la synthèse d image 3D basée sur les graphes de scène. Cet API fait appel soit aux fonctions de OpenGL ou Direct3D. Image …   Wikipédia en Français

  • Java 3D — Infobox Software name = Java 3D caption = developer = Sun Microsystems latest release version = 1.5.2 latest release date = xx xxxx, 2008 latest preview version = latest preview date = operating system = Cross platform genre = 3D computer… …   Wikipedia

  • OpenGL++ — was intended to be a powerful layer above the OpenGL 3D graphics system written in C++ that supported object oriented data structures. The project started as the result of a partnership between SGI, IBM and Intel (and later Digital Equipment… …   Wikipedia

  • Java 3D — Entwickler Sun Microsystems Aktuelle Version 1.5.2 (2008) Betriebssystem plattformunabhängig Lizenz BSD Lizenz (j3d core utils, j3d examples), GNU …   Deutsch Wikipedia

  • J3D — Java 3D ist eine Klassenbibliothek von Java Klassen zur Erzeugung, Manipulation und Darstellung dreidimensionaler Grafiken innerhalb von Java Anwendungsprogrammen und Applets. Mit Java 3D können also durch ein Java Programm dreidimensionale… …   Deutsch Wikipedia

  • JAVA-3D — ist eine Klassenbibliothek von Java Klassen zur Erzeugung, Manipulation und Darstellung dreidimensionaler Grafiken innerhalb von Java Anwendungsprogrammen und Applets. Mit Java 3D können also durch ein Java Programm dreidimensionale Objekte… …   Deutsch Wikipedia

  • Scene graph — A scene graph is a general data structure commonly used by vector based graphics editing applications and modern computer games. Examples of such programs include AutoCAD, Adobe Illustrator, Acrobat 3D, OpenSceneGraph and CorelDRAW.The scene… …   Wikipedia

  • Java OpenGL — (JSR 231) Скриншот, демонстрирующий …   Википедия

  • Polychoron — In geometry, a four dimensional polytope is sometimes called a polychoron (plural: polychora), from the Greek root poly , meaning many , and choros meaning room or space .It is also called a 4 polytope or polyhedroid. The two dimensional analogue …   Wikipedia

  • Virtual reality — This article is about the sensory technology. For the Alan Ayckbourn play, see Virtual Reality (play). For the gamebook series, see Virtual Reality (gamebooks). U.S. Navy personnel using a VR parachute trainer …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”