Nodos
appearance
Las formas (Shapes)
son los elementos que nos permiten visualizar los objetos en los mundos VRML.
La sintaxis del nodo Shape es la siguiente:
Shape{
appearance ...
geometry ...
}
El
campo appearance especifica las propiedades en cuanto a textura,
material, etc del objeto que se describe en el campo geometry.
Hablamos de formas primitivas cuando Shape
utiliza nodos geométricos primitivos para construir una figura. Los
nodos geométricos primitivos son los siguientes:
Mediante la combinación de estas formas geométricas
básicas se pueden obtener otras formas de mayor complejidad.
Color y transparencia con el nodo Material
Como el nodo
Material está vacío, se obtiene la apariencia por defecto:
pero puede
tener diversos campos, con los que se determinan el color y grado de
transparencia. Los má importantes son:
Material {
diffuseColor ...
emissiveColor ...
transparency ...
}
|
- Con el
campo diffuseColor se determina el color externo (o difuso)
del objeto.
- Con el
campo emissiveColor se determina el color interno (o emisivo),
para los objetos iluminados desde dentro.
- Con el
campo transparency se determina el grado de transparencia.
Veámoslos
separadamente:
Nodo Texture
La textura es
la posibilidad que tenemos de envolver un objeto con:
- una imagen existente, usando el campo ImageTexture
- una película, usando el campo MovieTexture
- una imagen creada por nosotros pixel a
pixel, usando el campo PixelTexture
Se van a ver los dos
primeros (ImageTexture y MovieTexture) en este capítulo, y el
tercero (PixelTexture) en el capítulo siguiente.
Textura con
ImageTexture
Tomemos como ejemplo la imagen de la derecha: monalisa.jpg
Vamos a envolver
con ella los objetos primitivos (caja, cono, cilindro y esfera).
Para ello, se hace
uso del nodo ImageTexture, como valor del campo texture, de la
siguiente manera:
Shape {
appearance Appearance {
texture ImageTexture
{
url ["monalisa.jpg"]
}
}
geometry ...
}
|
Nodo TextureTransform:
Este nodo define una transformación 2D aplicada a las coordenadas de textura.
Esto afecta a la forma en que se aplica la textura a las superficies de los
objetos. La transformación consiste (por orden) en un ajuste de la escala no
uniforme sobre un punto central arbitrario, una rotación sobre ese mismo punto
y una translación. Esto permite al usuario modificar el tamaño, orientación y
posición de las texturas de los objetos.
Sintaxis:
TextureTransform{
center
Eje_S Eje_T
rotation
ángulo
scale
Eje_S Eje_T
translation Eje_S Eje_T
Materiales
Para la mayoría de los objetos del color viene de un nodo de material. El color dominante es en el campo diffuseColor. El color se especifica en formato RGB con cada componente entre 0 1nd 1. (0,0,0) es de color negro y (1,1,1) es de color blanco.
Por cero y uno objetos tridimensionales tales como puntos, líneas y curvas, el color está determinado por el campo emissiveColor.
El campo ambientIntensity establece la cantidad de luz ambiental, y tiene el efecto de iluminar u oscurecer todos los objetos, independientemente de su posición.
El campo emissiveColor especifica el color de la luz que es emitida por el objeto. En este ejemplo, la diffuseColor es de color amarillo y la emissiveColor es de color rojo.
El campo de la transparencia contiene un número entre 0 y 1. Si la transparencia es 0, el objeto es completamente opaca, mientras que si la transparencia es 1, el objeto es invisible.
specularColor:La constante utilizada para acceder al campo specularColor de un nodo de material.
En X3D/VRML, este campo especifica el color especular material. Los colores se especifican mediante valores hexadecimales (0xRRGGBB). Los campos specularColor brillo y determinar los reflejos especulares (por ejemplo, los puntos brillantes en una manzana). Cuando el ángulo de la luz a la superficie está cerca del ángulo de la superficie para el espectador, se añade el specularColor a los cálculos de color difuso y ambiente. Los valores más bajos producen shininess suavemente brilla intensamente, mientras que los valores más altos producen más nítidas, destaca más pequeños.
Este campo es de X3D/VRML-type SFColor.
shininess :La constante utilizada para acceder al campo de brillo de un nodo de material.
La constante utilizada para acceder al campo de brillo de un nodo de material.
En X3D/VRML, este campo especifica el brillo de material, en el rango de 0 a 1. Brillo especifica un material especular exponente dispersión.