ElevationGrid {  
      eventIn MFFloat set_height  
      exposedField SFNode color NULL  
      exposedField SFNode normal NULL  
      exposedField SFNode texCoord NULL  
      field MFFloat height []  
      field SFBool ccw TRUE  
      field SFBool colorPerVertex TRUE  
      field SFFloat creaseAngle 0  
      field SFBool normalPerVertex TRUE  
      field SFBool solid TRUE  
      field SFInt32 xDimension 0  
      field SFFloat xSpacing 1.0  
      field SFInt32 zDimension 0  
      field SFFloat zSpacing 1.0  
    }
 
 
Le bloc ElevationGrid permet de réaliser des surfaces accidentées comme des terrains (montagnes par exemple).

 
Champs d' ElevationGrid
set_height Evénement. Permet de modifier le champ height
color Permet de déclarer un sous bloc Color dans lequel seront déclarées les couleurs respectives de chaque hauteur définies par height
normal Permet de déclarer un sous bloc Normal dans lequel on définira des vecteurs représentant la normale à la surface. Seul un utilitaire peut réaliser ce genre de calculs.
texCoord Permet de déclarer un sous bloc TextureCoordinate dans lequel on définira des points de contrôle pour l'application d'une texture.
height Hauteur (sur l'axe Y) de chaque point de la surface
ccw Permet de spécifier si les points définissant le la surface le sont dans le sens contraire des aiguilles  d'une montre (TRUE) ou dans le sens des aiguilles d'une montre ou dans le désordre (FALSE
colorPerVertex Permet d'effectuer un dégradé des couleurs
creaseAngle Permet d'adoucir l'angle formé par les faces en dessous d'une valeur d'angle spécifiée
normalPerVertex Si TRUE, force l'utilisation d'un vecteur normal pour chaque point
solid Permet de dessiner les 2 cotés d'une face
xDimension Nombre de points sur l'axe Z (largeur)
xSpacing Distance entre 2 points sur l'axe X
zDimension Nombre de points sur l'axe Z (profondeur)
zSpacing Distance entre 2 points sur l'axe Z
 
 



 Exemple:
 

Analyse:  
Note: Le bloc ElevationGrid permet aussi de représenter des fonctions mathématiques en 3D. Nous pouvons aisément concevoir un programme en JavaScript qui construirait la représentation de fonctions du genre y = cos(x) * cos(z) ou bien de fonctions paramétriques du genre y = mx