Java 3D

Java 3D
Java 3D
Entwickler Sun Microsystems
Aktuelle Version 1.5.2
(2008)
Betriebssystem plattformunabhängig
Lizenz BSD-Lizenz (j3d-core-utils, j3d-examples), GNU General Public License (j3d-core, vecmath)
java3d.dev.java.net

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

Wikibooks Wikibooks: Java Standard: Java3D – Lern- und Lehrmaterialien

Wikimedia Foundation.

Игры ⚽ Поможем решить контрольную работу

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

  • java — java …   Dictionnaire des rimes

  • Java 5 — Java (langage) Pour les articles homonymes, voir Java.  Ne doit pas être confondu avec JavaScript …   Wikipédia en Français

  • Java EE — Java Platform, Enterprise Edition, abgekürzt Java EE oder früher J2EE, ist die Spezifikation einer Softwarearchitektur für die transaktionsbasierte Ausführung von in Java programmierten Anwendungen und insbesondere Web Anwendungen. Sie ist eine… …   Deutsch Wikipedia

  • Java EE — Java Platform, Enterprise Edition o Java EE (anteriormente conocido como Java 2 Platform, Enterprise Edition o J2EE hasta la versión 1.4), es una plataforma de programación parte de la Plataforma Java para desarrollar y ejecutar software de… …   Wikipedia Español

  • JAVA — Île volcanique de l’Indonésie, Java est séparé de Sumatra par le détroit de la Sonde, à l’ouest, et de Bali par le détroit du même nom à l’est. Sa superficie est de 132 000 kilomètres carrés. Alors que le relief suggère une division en bandes… …   Encyclopédie Universelle

  • Java EE — Java Enterprise Edition, ou Java EE (anciennement J2EE), est une spécification pour la technique Java de Sun plus particulièrement destinée aux applications d’entreprise. Ces applications sont considérées dans une approche multi niveaux[1]. Dans… …   Wikipédia en Français

  • Java SE — Java Platform, Standard Edition o Java SE (conocido anteriormente hasta la versión 5.0 como Plataforma Java 2, Standard Edition o J2SE), es una colección de APIs del lenguaje de programación Java útiles para muchos programas de la Plataforma Java …   Wikipedia Español

  • Java VM — Java Logo Die Java Virtual Machine (abgekürzt Java VM oder JVM) ist der Teil der Java Laufzeitumgebung (JRE) für Java Programme, der für die Ausführung des Java Bytecodes verantwortlich ist. Hierbei wird im Normalfall jedes gestartete Java… …   Deutsch Wikipedia

  • JAVA — Cette page d’homonymie répertorie les différents sujets et articles partageant un même nom …   Wikipédia en Français

  • Java ME — Java Platform, Micro Edition, abgekürzt Java ME [ˈdʒɑːvə ˌɛmˈiː], früher auch als Java Platform 2, Micro Edition oder kurz J2ME bezeichnet, ist eine Umsetzung der Programmiersprache Java für so genannte »embedded consumer products« wie etwa… …   Deutsch Wikipedia

  • Java 2 — Java 2, или Java 2.0 дальнейшее развитие и усовершенствование спецификации исходного стандарта языка и платформы Java, на который теперь принято ссылаться как на Java 1.0. В настоящее время спецификация платформы Java 2 продолжает интенсивно… …   Википедия

Share the article and excerpts

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