ALUMNO: GERARDO DE LEÓN ANDRIO
INTRODUCCIÓN A LA API DE JAVA 3D
El API Java 3D toma sus ideas de APIs gráficas existentes y de las nuevas tecnologías. Construcciones gráficas de bajo nivel de Java 3D sintetizan las mejores ideas que se encuentran en las API de bajo nivel, como Direct3D, OpenGL, QuickDraw3D, y XGL. Del mismo modo, sus construcciones de nivel superior sintetizan las mejores ideas que se encuentran en los sistemas basados en el gráfico varias escenas.Java 3D introduce algunos conceptos que normalmente no se considera parte del entorno gráfico, como por ejemplo el sonido espacial 3D. Capacidades de sonido de Java 3D ayudan a proporcionar una experiencia más envolvente para el usuario.
PARADIGMA DE PROGRAMACIÓN
Java 3D es una API
orientada a objetos. Aplicaciones
construyen elementos gráficos individuales como objetos separados y se conectan
entre sí en una estructura en forma de árbol llamado un escenario gráfico. La
aplicación manipula estos objetos usando su descriptor de acceso predefinido,
mutador, y los métodos de nodo-linking.
EXTENSIBILIDAD
La mayoría de las clases de Java 3D exponen sólo
métodos de acceso y mutantes. Estos métodos funcionan sólo en el estado
interno de ese objeto, por lo que es de sentido para una aplicación para anular
ellos. Por lo tanto, Java 3D no proporciona la capacidad de modificar el
comportamiento de los atributos de Java 3D. Para hacer Java 3D funciona
correctamente, las aplicaciones deben llamar "super.setXxxxx" por
cualquier método set estado atributo que se anula.
Las aplicaciones pueden extender las clases de Java
3D y añadir sus propios métodos. Sin embargo, ellos no pueden anular la
semántica de recorrido del escenario gráfico Java 3D debido a que los nodos no
contienen recorrido explícito y dibujan métodos. El renderizador de Java
3D conserva esa semántica internamente.
Java 3D hace proporcionar
ganchos para mezclar Java 3D-controlado prestación del escenario gráfico y la
representación controlada por el usuario utilizando construcciones modo
inmediato de Java 3D .Como alternativa, la aplicación puede dejar de
renderizador de Java 3D y hacer todo su trazado en el modo inmediato.
ALTO
RENDIMIENTO
El modelo de programación de Java 3D permite que el
API Java 3D para realizar las tareas cotidianas, como el recorrido del
escenario gráfico, la gestión de los cambios de estado de atributos, y así
sucesivamente, lo que simplifica el trabajo de la aplicación. Java 3D hace
esto sin sacrificar el rendimiento. A primera vista, podría parecer que
este enfoque crearía más trabajo para la API; sin embargo, en realidad
tiene el efecto contrario. un mayor nivel de Java 3D de los cambios de
abstracción no sólo la cantidad sino, más importante, también el tipo de
trabajo de la API debe realizar. Java 3D no necesita imponer el mismo tipo
de limitaciones al igual que las API con un menor nivel de abstracción, permitiendo
así Java 3D para introducir optimizaciones que no son posibles con estas API de
nivel inferior.
PLATAFORMAS
DE HARDWARE
Java 3D está dirigido a una amplia gama de
plataformas de hardware y software con capacidad 3D, desde tarjetas de juegos
de PC de bajo costo y prestadores de software en el extremo inferior, a través
de las estaciones de trabajo de gama media, todo el camino hasta muy alto
rendimiento generadores de imágenes en 3D especializada.
Se espera que las implementaciones de Java 3D para
proporcionar velocidades de renderizado útiles en la mayoría de los PCs
modernos, especialmente aquellos con gráficos en 3D tarjetas aceleradoras. En
estaciones de trabajo de gama media, se espera que Java 3D para proporcionar
aplicaciones con un rendimiento de hardware casi a toda velocidad.
Finalmente, Java 3D está diseñado para escalar como
las plataformas de hardware subyacentes aumento de la velocidad en el tiempo. Los
aceleradores de juegos de PC 3D del mañana apoyarán mundos virtuales más
complejas que las estaciones de trabajo de alto precio de hace unos años. Java
3D está preparada para satisfacer este aumento en el rendimiento del hardware.
MODOS DE REPRESENTACIÓN
Java 3D incluye
tres diferentes modos de representación: el modo inmediato, de modo retenido, y
el modo retenido-compilado. Cada
modo de representación sucesiva Java 3D permite una mayor libertad en la optimización
de la ejecución de una aplicación. La
mayoría de las aplicaciones Java 3D querrán aprovecharse de los beneficios de
conveniencia y rendimiento que los modos retenidos-compilado retenida y
proporcionan.
MODO
INMEDIATO
El modo inmediato
deja poco espacio para la optimización global a nivel del escenario gráfico. A pesar de ello, Java 3D ha elevado el
nivel de abstracción y acelera la prestación modo inmediato en un objeto por
objeto. Una aplicación debe
proporcionar un método de sorteo de Java 3D con un conjunto completo de puntos,
líneas o triángulos, que luego son prestados por la alta velocidad de
procesador de Java 3D.Por supuesto, la aplicación puede construir estas listas
de puntos, líneas, triángulos o en cualquier manera que desee.
CONSERVAR
MODO
Modo retenido
requiere una aplicación para construir un escenario gráfico y especificar qué
elementos de ese escenario gráfico se pueden cambiar durante la representación. En el gráfico de la escena se describen
los objetos en el universo virtual, la disposición de dichos objetos, y cómo la
aplicación anima esos objetos.
MODO
COMPILADO-RETENIDO
Modo
compilado retenidas, al igual que el modo retenido, requiere la aplicación de construir
un escenario gráfico y especificar qué elementos del escenario gráfico se
pueden cambiar durante la representación. Además,
la aplicación puede compilar algunos o todos los subgraphs que componen un
gráfico de la escena completa. Java
3D compila estos gráficos en un formato interno. La representación compilada del
escenario gráfico puede alejarse mucho de la estructura de árbol original
proporcionado por la aplicación, sin embargo, es funcionalmente equivalente. Modo retenido-compilado ofrece el más
alto rendimiento.
INSTALACIÓN DE JAVA 3D
Ahora
que entendemos las principales características y limitaciones de Java 3D, vamos
a estar listos para probar un código de ejemplo.
Java
3D está disponible en beta para Win32 y Solaris. Cuanto más madura de las
implementaciones de Java de Sun 3D se construye en la parte superior de OpenGL. Una
aplicación Direct3D calidad alpha también está disponible para Win32. Todos
requieren Java 1.2, con la última versión beta de Java 3D correspondiente a
Java 1.2 Beta 4. Sun ha prometido liberar la implementación final de Java 3D
poco después de que se libere Java 1.2, que actualmente está prevista para
diciembre de 1998.
Los
componentes de software que se necesitan para utilizar Java 3D son:
- Tiempo de ejecución de Java 3D , disponible de Sun
(Java Developer Connection entrada libre requerido). Asegúrese de
elegir la versión de OpenGL de Java 3D para su plataforma (estoy usando
Win32). A partir de ahora, la última Win32 Java 3D para OpenGL 1.1
Beta 2 es, en java3d11-beta2-win32-opengl.exe, y pesa aproximadamente 1,7
MB.
- OpenGL 1.1, que se incluye con Windows NT 4.0 y
Windows 95 OSR 2. Si usted tiene la versión OSR 1 de Windows 95, sin
embargo, usted puede descargar la compatibilidad con OpenGL . El más
reciente de Windows 95 OpenGL 1.1 aplicación está disponible en Microsoft
como Opengl95.exe, y es aproximadamente de 0,5 MB.
- Java 1.2 , disponible de Sun. (Tenga en cuenta
que al momento de escribir esto, Sun ha lanzado una nueva Java 1.2 -.
Release Candidate 1. Los ejemplos serán actualizados para la versión más
reciente tan pronto como sea posible) de Java 3D se acopla a la plataforma
1.2, y Sun ha indicado en el java3d interés lista de correo que no tiene
ningún interés en la disociación de la API y tratando de hacer que esté
disponible con las versiones anteriores de la plataforma.
Opcionalmente,
también es posible que desee descargar la documentación y el ejemplo de código
Java 3D. Ambos están disponibles desde el mismo enlace que el tiempo de
ejecución de Java 3D.




































