I Jornadas de Software Libre de Castilla--La Mancha
La Mancha
I Jornadas de Software Libre de Castilla
Escuela Politéécnica Superior de Albacete
cnica Superior de Albacete
Escuela Polit
99--12 diciembre 2004
12 diciembre 2004
Looking GlassGlass
Java 3D y y Looking
Java 3D
open source
Desarrollos open
source de SUN
de SUN
Desarrollos
VVííctor L
ctor Lóópez Jaquero
pez Jaquero
JosJoséé Pascual Molina
Pascual Molina
Departamento de Informáática, UCLM
tica, UCLM
Departamento de Inform
{ victor | jpmolina
jpmolina} } @
[email protected]
ab.uclm.es
{ victor |
Contenidos
Contenidos
A cargo de Vííctor L
Primera parte: Java 3D
Java 3D
Primera parte:
ctor Lóópezpez
A cargo de V
Segunda parte: Looking
Segunda parte:
A cargo de Jos
Looking GlassGlass
A cargo de Joséé Pascual Molina
Pascual Molina
Primera parte
Primera parte
Java 3D
Java 3D
¿¿QuQuéé es Java 3D?
es Java 3D?
Java 3D es un API orientado a objetos
Java 3D es un API orientado a objetos
para el lenguaje Java de SUN para la
para el lenguaje Java de SUN para la
n de aplicaciones grááficas
programacióón de aplicaciones gr
ficas
programaci
tridimensionales que permite
tridimensionales que permite
Construir objetos 3D
Construir objetos 3D
Visualizarlos
Visualizarlos
Controlar su comportamiento
Controlar su comportamiento
http://java.sun.com/products/java--media/3D/
media/3D/
http://java.sun.com/products/java
Ventajas de Java 3D
Ventajas de Java 3D
Es una API de cóódigo abierto
digo abierto
Es una API de c
Interfaz de alto nivel
Interfaz de alto nivel
La visualizacióón se basa en las APIs:
n se basa en las APIs:
La visualizaci
OpenGL
OpenGL
DirectX (sóólo Windows)
lo Windows)
DirectX (s
Programacióón 3D independiente de la plataforma (Linux,
n 3D independiente de la plataforma (Linux,
Programaci
Solaris, Windows, Mac Os X, Irix 6.5)
Solaris, Windows, Mac Os X, Irix 6.5)
Existen cargadores para importar objetos en el API
Existen cargadores para importar objetos en el API
VRML97, 3D Studio, Lightwave, Quake 2, ...
VRML97, 3D Studio, Lightwave, Quake 2, ...
La escena se construye creando un grafo
La escena se construye creando un grafo
La aplicacióón 3D puede ser un Applet.
n 3D puede ser un Applet.
La aplicaci
Ventajas de Java 3D
Ventajas de Java 3D
Ejemplo de aplicaci
Ejemplo de aplicacióónn
Desventajas de Java 3D
Desventajas de Java 3D
Hasta ahora Sun s
El API oculta detalles de c
Hasta ahora Sun sóólo proporcionaba apoyo para
lo proporcionaba apoyo para
la versióón de Solaris y la de Windows.
n de Solaris y la de Windows.
la versi
El API oculta detalles de cóómo se visualiza la
mo se visualiza la
escena.
escena.
Los componentes de Java 3D son pesados
Los componentes de Java 3D son pesados
((heavyweight
heavyweight).).
Java 3D es una extensióón que no forma parte
n que no forma parte
n estáándar de Java.
de la distribucióón est
ndar de Java.
de la distribuci
No es tan ráápido como una aplicaci
nativo en OpenGL o DirectX.
nativo en OpenGL o DirectX.
pido como una aplicacióón en c
Java 3D es una extensi
No es tan r
n en cóódigo
digo
Aplicaciones de Java 3D
Aplicaciones de Java 3D
n cientíífica
fica
n de informacióón n
Visualizacióón cient
Visualizaci
Visualizacióón de informaci
Visualizaci
Visualizacióón mn méédicadica
Visualizaci
Sistemas de Informacióón Geogr
Sistemas de Informaci
DiseDiseñño Asistido por Ordenador (CAD)
o Asistido por Ordenador (CAD)
Animaci
Educaci
n Geográáfica (GIS)
fica (GIS)
Animacióónn
Educacióónn
Aplicaciones de Java 3D
Aplicaciones de Java 3D
Visualización científica
Educación en medicina
CAD
Animación
Caracteríísticas de Java 3D
sticas de Java 3D
Caracter
De los objetos se puede controlar su color y textura.
De los objetos se puede controlar su color y textura.
Permite a
Permite aññadir luces y efectos de niebla.
adir luces y efectos de niebla.
Caracteríísticas de Java 3D
sticas de Java 3D
Caracter
De los objetos se puede controlar su tama
De los objetos se puede controlar su tamañño, posici
orientacióón y cn y cóómo dichos atributos evolucionan en el
mo dichos atributos evolucionan en el
orientaci
tiempo:
tiempo:
o, posicióón y n y
Modos de Programacióón de
n de
Modos de Programaci
Modo conservador (
Java 3D
Java 3D
Modo conservador (retained)
retained)
El programador no puede acceder al API que estáá
El programador no puede acceder al API que est
usando Java 3D para la visualizacióón (OpenGL,
n (OpenGL,
usando Java 3D para la visualizaci
DirectX).
DirectX).
Modo inmediato (immediate)
Modo inmediato (immediate)
Permite al programador interactuar con el API
Permite al programador interactuar con el API
subyacente.
subyacente.
Modo mixto (mixed)
Modo mixto (mixed)
Permite mezclar el modo conservador y el modo
Permite mezclar el modo conservador y el modo
inmediato.
inmediato.
El Grafo de Escena
El Grafo de Escena
Las escenas 3D visualizadas en Java 3D se describen
Las escenas 3D visualizadas en Java 3D se describen
mediante el grafo de la escena.
mediante el grafo de la escena.
El grafo de la escena se compone de:
El grafo de la escena se compone de:
Subgrafo de contenidos (los objetos que se visualizan en síí))
Subgrafo de contenidos (los objetos que se visualizan en s
Subgrafo de vista (configuracióón de c
Subgrafo de vista (configuraci
subgrado de contenidos)
subgrado de contenidos)
n de cóómo se visualiza el
mo se visualiza el
El Grafo de la Escena
El Grafo de la Escena
Cuando se a
Locale, , éésta pasa a estar
Cuando se aññade una rama al grafo en un nodo que sea
ade una rama al grafo en un nodo que sea
sta pasa a estar vivaviva
descendiente de un nodo Locale
descendiente de un nodo
), mientras que si se quita del áárbol, la rama deja de
rbol, la rama deja de
((LiveLive), mientras que si se quita del
estar viva
estar viva
SSóólo se visualizan las ramas vivas.
lo se visualizan las ramas vivas.
Todos los nodos del grafo de escena contienen unos
Todos los nodos del grafo de escena contienen unos
) que determinan quéé propiedades del
propiedades del
bits (capabilities
bits (
nodo pueden ser modificadas.
nodo pueden ser modificadas.
El grafo de escena puede ser ““compilado
El grafo de escena puede ser
optimizado, teniendo en cuenta los bits de capacidades.
optimizado, teniendo en cuenta los bits de capacidades.
Las capacidades son por defecto de sóólo lectura cuando
lo lectura cuando
un nodo estáá vivo o compilado.
vivo o compilado.
un nodo est
Las capacidades son por defecto de s
capabilities) que determinan qu
compilado”” para se
para se
El Grafo de Escena
El Grafo de Escena
Elementos del grafo de escena
Elementos del grafo de escena
Grupos
Grupos
BranchGroup
•• BranchGroup
•• TransformationGroup
TransformationGroup
•• Switch
Switch
•• SharedGroup
SharedGroup
Individuales
Individuales
Enlaces a SharedGroups (links)
•• Enlaces a SharedGroups (links)
•• Shape3D (cubo, cubo de colores, cono, esfera, ...)
Shape3D (cubo, cubo de colores, cono, esfera, ...)
Luces (AmbientLight, SpotLight, ...)
•• Luces (AmbientLight, SpotLight, ...)
•• Comportamientos
Comportamientos
Sonidos
•• Sonidos
•• Efectos de niebla (
Efectos de niebla (fogfog))
•• ImImáágenes de fondo (
genes de fondo (background
background))
El Grafo de Escena
El Grafo de Escena
Universo
Agrupa nodos
Rotar o
posicionar los
objetos (de
forma relativa
al anterior BG)
Locale
(sistema de
coordenadas
del universo)
El Grafo de Escena
El Grafo de Escena
El Grafo de Escena
El Grafo de Escena
Ejemplo de c
Ejemplo de cóódigo de una escena simple
digo de una escena simple
HHáágase la Luz
gase la Luz
Tipos de nodos de iluminaci
Tipos de nodos de iluminacióónn
AmbientLight
Lo nodos de iluminaci
Lo nodos de iluminacióón act
influencia que se les asigne (
influencia
an dentro del áárea de
rea de
que se les asigne (InfluencingBounds
InfluencingBounds).).
n actúúan dentro del
DirectionalLight
: posicionadas en el ““infinito
AmbientLight: ilumina a todos los objetos de la escena
: ilumina a todos los objetos de la escena
desde todas las direcciones.
desde todas las direcciones.
DirectionalLight: posicionadas en el
una direccióón concreta.
n concreta.
una direcci
PointLight: irradia luz desde un punto concreto del espacio
: irradia luz desde un punto concreto del espacio
PointLight
en todas direcciones.
en todas direcciones.
SpotLight: irradia luz desde un punto concreto del espacio
: irradia luz desde un punto concreto del espacio
en una direccióón concreta y con un haz de luz de un
n concreta y con un haz de luz de un
en una direcci
tamañño determinado (como un foco en teatro).
o determinado (como un foco en teatro).
tama
infinito””, e iluminan en
, e iluminan en
SpotLight
HHáágase la Luz
gase la Luz
Ejemplo ExHenge
Ejemplo ExHenge
... Y Llegóó el Movimiento
el Movimiento
... Y Lleg
Comportami
Comentarios de: Java 3D y Looking Glass (0)
No hay comentarios