Lighthouse3d.com

Send me bugs and suggestions, please
VRML Script Tutorial
Full list

VRML Interactive Tutorial

Introduction
VRML File Structure
Drawing: Shape node
Geometry Nodes:
Box
Sphere
Cone
Cylinder
PointSet
IndexedLineSet
IndexedFaceSet
Extrusion
ElevationGrid
Example: Chessboard
Text
FontStyle
Appearance
Material
Textures
Image Texture
Movie Texture
Pixel Texture
Texture Coordinate
Texture Transform
Let there be Light
Directional Light
Point Light
Spot Light
Materials with Colored Lights
Hierarchical Node Structures
Group
Transform
Collision
Anchor
Billboard
Switch
Inlining Files
Defining and Instancing Nodes
Defining Levels of Detail
Events in VRML
Creating Paths between events: ROUTE
Generating Events based on Timers or User Actions
Timers
Touch Sensor
Visibility Sensor
Dragging Sensors
Plane Sensor
Sphere Sensor
Cylinder Sensor
Proximity Sensors
Example: Proximity sensor
Interpolators
Color
Coordinate
Normal
Orientation
Position
Scalar
Example
Let the Music Play
Sound
AudioClip
Bindable Nodes
Who Am I: NavigationInfo
Where Am I: ViewPoint
Adding Realism to the world
Background
Fog
Information about your world
WorldInfo
Definition for Auxiliary Nodes
Coordinate
Color
Normal

[}8{)0 ~Cv٫{Uf*%``'{{>`ml.51RwZVK"[?៿fty񺥪|O{x#fڢ{pj8T?މ<7q2by(9\ c{yFKg~˒7rbžР =vv*=ڵ$65~oFª37/{= S[lt/0#ps,Jv96HbGg1rOF~GS,( ]WZh_ط,"I;Qx)p{L=1R >nPA֔8ďh (Ngx=I=/M(3&=&@1EPF yr]ʞm9oI4hr+h=L?x1 b>y0alc]O(q/b<;L)D8A Hq{^"2yX':gͮfh{o={]TDP8C4L0ri]&(%G+R:ݳN 1 U0jm xi=1خ%|I 4R8]fΖuWBy)ǛvdJ8Nh2 !?S4GR X֞P$ {i "owGK(Dey qf n`0հPء <EqdhQ`>% <致mHZJXM&莚\ bKWro<&$ v^|*ĶmOa-N7N>3?P;Q8>um>=}zS(\~"$?QkWXʄ䛛VU|N:|:~U-}H:[qkrZ)ȳC6m?1'bM$׹uo3,(-Bm=?4޲Y*<_h;'MOCЩ%{σq;6 נĻe@3Oeل9[VAp+*P0B)QXJdKHct?`McF <Şam+~~$> @zy͋W'`S ), ;Q֟%=5JS`P e(J} U ,y B{R,Y?f2L7+2ߓhiU7v a:`RjӶدfy]x3:1{&o}ZZ691 ĕmA 1FUG}'E0G ;,,9zwZLlQH;3&#!jd`jx$x^s]0H0C3{`' [@E0 @ھ SŽjaue3`t0cu0$/jO"˪|X4)TߑAc]6Cʞ3i.\Mi 8,\)vpwE 7?CUFDg9Pw}|}BEMHg:k@mP4ڃ1~nAf#QR=]!uFQ#HhD#Y :g!ӇGɆ@8٫q۫0Q0-#8Ka'3uJM&`NLʦl-M̌?pQɇd Kdzbt^N3zCê Sd,0 [ Vu&ck >R6LvM9&Lmm|`N28%qHcdiU yiW9DxI=+,a*;`_U e3ƗLC1P,cm$zK0 13X] t*FaUL#o 8nc',A L(ԃ$9nXcLfOitV[x|{`?s(dhCix,,*1 Y#K`{U'?yN!6't7(W+ 5 u+ fu.j=_,N>\8{F4 ?ӈ73 <g.kbd/>Ez/U$jCVXІ'ksoM"g=(y=^MoΗ "!6E2$e[ AJGLILaX.=xzq2>;s^vgI 3~ۙ*13 =$8Q ;'WOGR82sN7.XtX͓9C}(B:©;b)RkZ6)2y&s.v~ y5cOjiQw=|J +?OBJ\ڋm/:7w_;F KT"I@T#LB_g /xd-@+Q7!6?rqq$]Y4WǓn!1:1xTm& ,a~>.p:TuBaYLEYL"y? ,_DX I1OL9C䤱3=g߇ʠtk"Jyz:;;=ܠseX|7dй+?\$ɤl%x:I6:H7<EG}C{hϪX^7VȈ$!rQXI)ÉPN ՁEƓy$cPJw]@2Pzq'" ; D3<)٩&'X0;3~-ag? h dLE[v`e!DJNX[2$I)oTA+(T8ԾwWLe'üOs 㫡 3v )3~bNS--0" :>p ;cvnjnb|j\Jmv0*-1݂Jbj3aO7 vK>sOCbkUI3šueYGgAVKIiűH/I=';^W0`Ao `74I;?qOK1s|6 zVEކ9cLG.I5ip?44V-UUQQ{әA4gtgրuG̮Lp V_܀,f[5n(5$\JgH휆\Je|f}{-=@CN`_ VѺEymb0L ? 7q:H?"C7Q<=)^1d%lut`7<g<Dz%bc?=V CV^d`nxJ1T8֛xPm2>]xhPLDA}&#'co0%" t8K8T FXmI sss|fuX-j˹'L@yNǁh8kk" &t^%&S:WU1|LA3#m۳Ŀں=j|"8Z ]|ύGvÎ( C1AA"'w(l~a!R᛿ ˢ&P7ߴ0Q65^n"(ȞIփQqFGNyլȱZ[58 h?7`DY0Bz4w-ht60d )؟Mћ tښxV1Nd)mE$=ڸph?JgZ)yh_bE`+360 T享T``R@bdㅹw[;VZmg! 3낊$ '؊g3#|ْh0:Su"Y[ujLUUO_.Tdx]+O M\*W3LpHQ悡C e檅rK\\C!K0w 5']_s۸g8/SI$G$q'ĭCK1E(I b@4/7}$? . ήjV th,tIa,A:[e*kQ`mЇ%֫yVoK9ťGY"Z\p#0e3޽^raU=IoGl+܁ySW@4j"$I$Gۚ/O EzS3_cA+㧣] SXwz9$+=%3 |2(g~sxKVnےY]3}#<͆t؂QzB덇Q%c/$>L}ڶ`'`V؇I¸/:ƀqOwnif0Y(uL"ZaٶzM)9rƆ|hA 8!, +%sr0F[9 Jb~Zrnj~STSYM/AFw?z3@ksFàft=tD,[ticee:͆970Fg(8O9X;Xf5t ^| ,~ǏrݐݼʪWQrqUpͳ#HDgy؏(!utR~K!^`$stS\W./1|+.ĽQm7;ypp2-WێYbr׮Neq%0tYa$ GW]np\q~#g~7r}^ 򷐟Y<\HV[=zt4rđ|/B# NrLҍΙ(v]eR0}o8^d$&C-Yuڊ.0 &B hp*I)ђ!6oF20͈JVf.^F`7sajrXA]uqL`p:`WƣXr;L 辤m ~=3;^y+ :Q?ݕi\f&+H Oһm#6Rs~RIĻzastZo6onU^|PQq9#I "_<+yVOx|gﭛsy"ң{Q*ejU#s#=hR2לj3^STtӆ*8{ܻ[N=_ VbDY΀L-]ZuCOGy8[8 j$e|xbFO{sg 3xjY,^-Љ+k,*لdW煰N\x4kZM^Rj(\z# 5YkJՐ9+Xu8,^)@c`e7Zٍ9ՅH P8^y&pZ-:aA95`@T q1a+YD)j݌fz($ @Wq7W*F1X< gpx@C9^]rgчwE Yd,7G )"X+vwAZd4 Bbn5uvMRrs BEB<klCZ9lFJHcOܪa1l8<|])q36m|n zCUwT-xE*d%?p!ՔC #c]… eОV6`f7};WLqc4;9<< 7;yb4MBY!ON x[is};FS]]&i'i /W>Y7)2?iIvvOBJ;tP"yҭli7:O=@&+]

VRML File Structure


A VRML file always starts with the header:

#VRML V2.0 utf8

The identifier "utf8" which appears on the header lets you use international characters in your VRML models.

Comments start with #, all characters until the end of the line being ignored.

After the header the following can appear:
nodes
prototypes
routes
In the next sections one shall see what each of the above is used for.

Note: For precise syntax and semantic definition please consult the VRML 2.0 Specification.

The color model in VRML is RGB. In order to define a color three values are needed: Red Green and Blue, these values are between 0.0 and 1.0. For instance 0.0 0.0 0.0 is Black, 0.0 0.0 1.0 is Blue, and 1.0 1.0 1.0 is White.

The units in VRML are assumed to be meters. Although you do not have to follow this convention it is advisable that you do. If everyone follows this convention then all worlds will be scale compatible.

The angles in VRML are measured in radians, not in degrees.