Den första raden i filen (Exempel 1) är filhuvudet. Denna rad måste alltid finnas med och se ut precis som i exemplet. Den talar om för bläddraren att detta är en VRML-fil, att den följer version 2.0 av VRML-specifikationen och att det är en fil som utnyttjar den internationella UTF-8 typsättningen (där ASCII-koden utgör en delmängd).Exempel 1. En enkel VRML-fil som ritar upp en röd låda i mitten av rummet.
#VRML V2.0 utf8
# En rödmålad låda med bredden 2, höjden 1 och djupet 1
Shape {appearance Appearance {}material Material {}diffuseColor 1 0 0}
geometry Box {size 2 1 1}
Den andra raden som börjar med "#" är en kommentar och det som följer "#"-tecknet läses ej av bläddraren. Kommentarer slutar vid en radbrytning.
Shape { }, Appearance { }, Material { } och Box { } är alla exempel på noder. Det finns 54 olika noder definierade i VRML-specifikationen. Noderna har olika egenskaper och funktioner.
appearance, geometry, material, size och diffuseColor är exempel på fält. Fälten anger egenskaper hos en nod. Ett fält tillskrivs ett värde som t ex kan vara en vektor eller en nod.
Låt oss titta närmare på noderna som används i exemplet ovan:
Shape{Shape { } -noden används för att bygga VRML-objekt. Shape { } -noden har två olika fält: appearance och geometry. I geometry-fältet specificerar man objektets 3D-form medan man i appearance-fältet anger t ex färg eller textur på objektet. Fälten behöver ej specificeras (d v s kan utelämnas) i en nod eftersom det finns förvalda värden (eng. default values) bläddraren tar till då inget annat värde anges. Exempelvis är det förvalda värdet för geometry-fältet i en Shape { } -nod "NULL" vilket helt enkelt betyder ingen geometri alls. Mer om förvalda värden/normalvärden längre fram.appearance ...}
geometry ...
Appearance {Appearance { } -noden används i exemplet som värde hos appearance-fältet (Namnen råkar här sammanfalla men observera att det finns dels ett fält, dels ett värde hos fältet). I Appearance { } -noden i exemplet anger man att objektet ska vara av standardmaterial genom att i material -fältet använda sig av Material { } -noden.material ...}
Box{Box { } -noden är på motsvarade sätt värdet hos geometry-fältet. Box { } -noden är en primitiv som beskriver en lådform. Kon-, cylinder- och sfärformer är de andra primitiverna som kan användas för att enkelt producera en 3D-form. Mer komplicerade objekt beskrivs på andra sätt än med primitiver. Box { } -noden har ett fält kallat size. Detta fält anger lådans storlek och tillskrivs ett värde, i detta fall en vektor, 2 1 1, som anger bredd, höjd och djup.size ...}
Material {diffuseColor ...}
Material { } -noden består i sig av en mängd fält (i exemplet dock endast ett). För att få objektet rödmålat anger man värdet 1 0 0 i diffuseColor -fältet. Detta värde är enligt RGB-skalan (Red Green Blue) färgen röd.