#VRML V2.0 utf8 # on supprime la lumière issue de l'avatar pour # ne pas perturber l'éclairage NavigationInfo { headlight FALSE avatarSize [ 0.25, 1.6, 0.75 ] } #on place l'utilisateur au dessus de la ligne d'horizon Viewpoint { position 0 1.6 20 } # le ciel, qui s'applique en fait à tout le fond d'écran Background { skyColor 0.1 0.3 0.7 } # les deux objets qui devront se réfléchir Group { children [ Transform { translation 5 2 -2 # une utilise un DEF, ainsi l'objet pourra être recréé pour le reflet children DEF cCone Shape { geometry Cone { } appearance Appearance { material Material { diffuseColor 1 1 0 } } } } Transform { translation -2 1.5 1 children DEF Sphere Shape { geometry Sphere { radius 2 } appearance Appearance { material Material { diffuseColor 1 0 1 } } } } # la DirectionalLight est la seule lumière que nous pourrons utiliser DirectionalLight { direction -1 -1 0 } ] } # le relfet Group { children [ Transform { # les translations sont les même, sauf les y qui sont l'invers des y originaux translation 5 -2 -2 children Transform { # pour créer une illusion de symétrie # rotation sur Z de 180 degres , pour mettre le cone vers le bas rotation 0 0 1 3.14 children USE cCone } } Transform { # pour la sphère, pas la peine de faire une rotation # idem y'=-y translation -2 -1.5 1 children USE Sphere } # la directionalLight, avec Y'=-y DirectionalLight { direction -1 1 0 } ] }