sábado, 18 de mayo de 2013


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: 
 
 
Box            (Caja)
Cone          (Cono)
Cylinder     (Cilindro)
Sphere      (Esfera)
 
     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:

   Material { }
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. 

No hay comentarios:

Publicar un comentario