Nodo Shape
El nodo shape es el nodo básico para generar las escenas dentro de VRML. A través de este nodo conseguimos que el resto de los nodos tengan visibilidad. Su estructura sería la siguiente:
Shape {
apparence
geometry
}
Los parámetros de este nodo son:
- geometry: el cual podrá tomar como valor los diferentes nodos básicos de vrml (box, cone, cylinder y sphere)
- apparence: este parámetro tomará como valor un nodo Apparence, el cual identificara la apariencia que pueda mostrar el nodo.
Nodo Apparence
Mediante este nodo podemos configurar las características de visualización o de apariencia de los nodos. Su estructura es la siguiente:
Apparence {
material
texture
textureTransform
}
Este nodo cuenta con los siguientes campos (los campos no son obligatorios):
- material: a través de este campo indicaremos los valores de color del nodo que representamos con el campo geometry. Para ello el valor de este campo será un nodo Material.
- texture: es el campo que nos da la posibilidad de envolver a un nodo con una imagen ya creada, una imagen creada por nosotros píxel a píxel o una película. Dependiendo del tipo de envoltura que queramos utilizar en el nodo utilizaremos un nodo u otro. Las posibilidades son: nodo ImageTexture, nodo PixelTexture o nodo MovieTexture respectivamente.
- textureTransform:
Nodo Material
Este nodo indica los valores de color y transparencia del nodo. Su estructura es la siguiente:
Material {
ambientIntensity
diffuseColor
emissiveColor
shininess
specularColor
transparency
} |
![]() |
Los campos que tiene el nodo Material son:
- diffuseColor: representa a través de tres
valores reales el color externo o difuso del nodo. Los tres valores representan
el color en RGB con valores de 0 a 1. Donde, por ejemplo, el valor "1
0 0" representa el color rojo.
- emissiveColor: representa a través de tres valores reales (RGB) el color interno o emisivo del nodo.
- specularColor: define el color de los puntos brillantes del nodo. Para ello utiliza tres valores a través del formato RGB.
- shininess: controla la intensidad de emisión de luz de los puntos brillantes de un nodo. Sus valores varían entre 0 y 1.0.
- transparency: indica a través de un valor real entre 0 y 1 el grado de transparencia u opacidad del nodo. Donde el valor 1.0 indica un nodo totalmente transparente y el valor 0 indica un nodo totalmente opaco.
- ambientIntensity: define la cantidad de luz emitida por el nodo. Este campo puede tomar los valores de 0 a 1.
Así nuestro primer documento VRML podría ser el siguiente:
#VRML V2.0 utf8
#Primer documento VRML.Shape {
geometry Sphere {
radius 2
} appearance Appearance {
material Material {
diffuseColor 1 1 0
emissiveColor 0 0 1
}
}
}
