| Virtual Reality Modeling Language | |
| Fájlkiterjesztés | .wrl, .wrz |
| MIME-típus | model/vrml x-world/x-vrml application/x-cc3d |
| Fejlesztő | W3D Konzorcium |
| Kiadás dátuma | 1994 november (1.0), 1997 április (2.0, VRML97) |
| Kiterjesztése ez | X3D |
| Standard | ISO/IEC 14772-1:1997, ISO/IEC 14772-2:2004 |
| Weboldal | http://www.web3d.org/x3d/vrml/ |
A VRML (Virtual Reality Modeling Language - virtuális valóságot modellező nyelv, 1995 előtt: Virtual Reality Markup Language) egy szabványos fájl formátum, melynek segítségével elsősorban a World Wide Webet szem előtt tartva 3D-s interaktív grafikákat lehet készíteni. Használatát az Extensible 3D (X3D) váltotta fel.
A VRML egy szöveges fájl formátum, ahol az egyszerű szöveget tartalmazó fájlt jól lehet tömöríteni – a gzippel tömörített fájlok a *.wrz kiterjesztést használják –, amely hasznos lehet, amikor az interneten továbbítjuk azokat. Túl azon, hogy virtuális világaink (szobák, épületek, városok stb.) statikus objektumokkal (bútorok, autók, emberek stb.) tehetők valósághűbbé, dinamikus elemeket is vihetünk bele:
A Web3D Konzorcium azért jött létre, hogy kifejlessze a VRML formátumot (és utódját az X3D-t), melyet a Nemzetközi Szabványügyi Szervezet (ISO) elfogadott.
A VRML 1.0 verzióját 1994 novemberében specifikálták. A VRML (akkor még mint Virtual Reality Markup Language) a Silicon Graphics (SGI) által kidolgozott Open Invertor fejlesztői környezetére és formátumára támaszkodott. Az aktuális és funkcionalitásában teljes verzió a VRML97 (ISO/IEC 14772-1:1997, ISO/IEC 14772-2:2004).
A 2000-es években számos vállalat, mint a Bitmanagement javított a VRML minőségi színvonalán, mely így elérte a DirectX 9.0c-t. Később minden fontosabb lehetőség, mint a játékmodellezés már befejeződött.


A VRML fájlokat gyakorta nevezik „világoknak”, melyek kiterjesztése *.wrl. Egy VRML világ a háromdimenziós térben épül fel, csomópontokat tartalmaz, melyek a felépítendő alakzat különféle tulajdonságait írják le, mint például szín, pozíció, átlátszóság, a mezők és mezőértékek segítségével. A VRML-ben megvan a lehetőség arra, hogy az objektumok örököljék a szülőobjektumok tulajdonságait, így hatékonyabban építkezhet a világ korábban már létrehozott objektumokból. Emellett külső forrásból – egy másik fájlból – is lehetőség van objektumok importálására. Az alábbi kód egy egyszerű statikus objektumot, egy vörös gömböt definiál.
#VRML V2.0 utf8
WorldInfo {
title "Vörös gömb"
}
DEF Sphere1 Shape {
appearance Appearance {
material DEF Red Material {
ambientIntensity 0.200
shininess 0.200
diffuseColor 1 0 0
}
}
geometry DEF Sphere1 Sphere {
radius 1.000
}
}
#VRML V2.0 utf8 #VRML fejléc
Appearance {...} #megjelenés, mellyel az alakzat elkészíthető
Box {...} #hasáb, egy alapvető forma
Collison {...} #ütközés érzékelése
DirectionalLight {...} #irányfényt kibocsátó fényforrás
Extrusion {...} #síkidomos geometriát ír le (átméretezés, elforgatás stb.)
Group {...} #több csomópont egy csoportba foglalása
Material {...} #anyagjellemzőket ír le (szín, átlátszóság stb.)
PositionInterpolator {} #kulcspozíciók sorozata, mellyel animáció készíthető
Text {...} #szöveg
TimeSensor {...} #időzítő
TouchSensor {...} #a használó pointerének észlelése
Viewpoint {...} #a kamera/kamerák nézőpontját határozza meg a koordináta-rendszeren belül
WorldInfo {...} #információk a világról (szerző, leírás, dátum stb.)
Több 3D-s modellező programmal is menthetünk tárgyakat és jeleneteket VRML formátumban.
A VRML használatát az X3D (Extensible 3D) váltotta fel, mely a VRML kiterjesztése XML formátumban. Az X3D, hasonlóan a VRML-hez egy ISO szabvány (ISO/IEC 19775-1) és visszamenőleg nagyrészt kompatibilis a VRML-lel.