
Java 3D es una interfaz de programación de aplicaciones (API) 3D basada en grafos de escena para la plataforma Java . Se ejecuta sobre OpenGL o Direct3D hasta la versión 1.6.0, que se ejecuta sobre Java OpenGL (JOGL). Desde la versión 1.2, Java 3D se ha desarrollado bajo el Proceso de la Comunidad Java . Un grafo de escena de Java 3D es un grafo acíclico dirigido (DAG).
En comparación con otras soluciones, Java 3D no solo encapsula estas API gráficas, sino que también proporciona una interfaz que integra la programación gráfica mediante un enfoque orientado a objetos . Aquí, una escena se construye utilizando un grafo de escena , que representa los objetos que deben mostrarse. Este grafo de escena se estructura como un árbol que contiene varios elementos necesarios para visualizar los objetos. Además, Java 3D ofrece un amplio soporte para sonido espacializado .
Java 3D y su documentación están disponibles para su descarga por separado. No forman parte del Kit de Desarrollo de Java (JDK).
Historia
Intel , Silicon Graphics , Apple y Sun tenían API de gráficos de escena en desarrollo en 1996. Dado que todos querían crear una versión en Java, decidieron colaborar en su desarrollo. Ese proyecto se convirtió en Java 3D. El desarrollo comenzó ya en 1997. Se lanzó una versión beta pública en marzo de 1998. La primera versión se lanzó en diciembre de 1998. Desde mediados de 2003 hasta el verano de 2004, el desarrollo de Java 3D se interrumpió. En el verano de 2004, Java 3D se lanzó como un proyecto de código abierto de la comunidad, y desde entonces Sun y voluntarios han continuado su desarrollo.
El 29 de enero de 2008, se anunció que las mejoras a Java 3D se suspenderían para producir un gráfico de escena 3D para JavaFX [ 1 ] JavaFX con soporte 3D finalmente se lanzó con Java 8. [ 2 ] La funcionalidad de gráficos 3D de JavaFX ha llegado más o menos a reemplazar a Java 3D.
Desde el 28 de febrero de 2008, todo el código fuente de Java 3D se publica bajo la licencia GPL versión 2 con excepción de enlace GPL . [ 3 ]
Desde el 10 de febrero de 2012, Java 3D utiliza JOGL 2.0 para su renderizado OpenGL acelerado por hardware. La adaptación fue iniciada por Julien Gouesse. [ 4 ]
Características

- Estructura de grafo de escena multihilo
- Multiplataforma
- API genérica en tiempo real , utilizable tanto para visualización como para juegos.
- Compatibilidad con la representación en modo retenido , compilado-retenido e inmediato.
- Incluye renderizadores JOGL , OpenGL y Direct3D acelerados por hardware (según la plataforma).
- Modelo de visualización sofisticado basado en realidad virtual con soporte para renderizado estereoscópico y configuraciones complejas de múltiples pantallas.
- Compatibilidad nativa con pantallas montadas en la cabeza
- CAVE (proyectores de pantalla múltiple)
- Sonido espacial 3D
- Shaders programables, compatibles con GLSL y CG.
- Tampón de plantilla
- Importadores para la mayoría de los formatos principales, como 3DS , OBJ , VRML , X3D , NWN y FLT.
Tecnologías competidoras
Java 3D no es la única opción de API de alto nivel para renderizar 3D en Java. En parte debido a la pausa en el desarrollo durante 2003 y 2004, surgieron varias tecnologías de grafos de escena de Java que competían entre sí:
Propósito general:
Juego de azar:
- jMonkeyEngine
- Espresso3D
Visualización:
- Jreality
Además de estas, muchas otras API de grafos de escena en C o C++ ofrecen compatibilidad con Java a través de JNI .
A un nivel inferior, las bibliotecas JOGL (JSR 231) de OpenGL para Java son una alternativa popular a las API de grafos de escena como Java 3D. LWJGL es otra de estas bibliotecas.
Véase también
- Proyecto Looking Glass (Escritorio 3D experimental con Java 3D)
- Open Wonderland (entorno de trabajo virtual que utiliza Java 3D y Project Darkstar)
Referencias
- ↑ "ANUNCIO: Planes para Java 3D" . Sun Microsystems . 29 de enero de 2008. Archivado del original el 10 de marzo de 2012. Consultado el 11 de mayo de 2011 .
- ↑ "Novedades de JDK 8" . Oracle Corporation . 18 de marzo de 2014.
- ↑ "ANUNCIO: Lanzamiento de código abierto GPL" . Sun Microsystems . 28 de febrero de 2008. Archivado del original el 24 de marzo de 2008. Consultado el 29 de febrero de 2008 .
- ↑ "Java3D ahora funciona con JOGL 2.0" . Julien Gouesse. 2 de octubre de 2012. Consultado el 2 de octubre de 2012 .
Enlaces externos
- Harvey presenta el estado actual de Java3D "¡No estoy muerto!" en SIGGRAPH 2013.
- Java 3D est de retour (Java 3D ha vuelto): introducción a la configuración de vista previa de Java3D
- Versiones actuales (Java 3D 1.7)
- Sitio web oficial y comunicados anteriores
- JSR 926 (Java 3D 1.5), JSR 912 (Java 3D 1.3)
- Foro actual (Java 3D 1.6)
- Foro y wiki anteriores para Java 3D: espacios para la colaboración; incluye listas de libros y usuarios, preguntas frecuentes y base de conocimientos.
- java3d.org . Tutorial, ejemplos e información.
- Tutoriales de OpenGL.J3D Java 3D
- Conferencia archivada el 10 de mayo de 2008 en Wayback Machine - de Siggraph para principiantes
- Programación de juegosArchivado el 9 de marzo de 2013 en Wayback Machine .Archivado el 9 de junio de 2013 en Wayback Machine en Java 3D (capítulos en formato PDF y código fuente).
- Plugin para Eclipse alojado en SourceForge
- Ejemplos de applets de visualización usando Java 3D
- EMAP, The e-Mouse Atlas Project : un explorador de estructuras anatómicas en 3D con sección 2D integrada, creado por Guangjie Feng.
- Software de gráficos 3D
- API de grafos de escena 3D
- Software multiplataforma
- API de Java
- Solicitudes de especificación de Java
- Software de 1998