#VRML V2.0 utf8 #pizza.wrl Sebastien Marnier 01/98 Group { children [ Viewpoint { position 0 0.5 4 } Transform { #pizza entiere (carre c'est plus simple) translation -2 0 0 children [ Shape { appearance DEF pizza Appearance { #on utilise l'image pizza.gif texture ImageTexture { url ["pizza.gif"] } } geometry IndexedFaceSet { coord Coordinate { point [ 0 1 0, 1 1 0, 1 0 0, 0 0 0 ] } solid FALSE coordIndex [ 0,1,2,3,-1 ] } } ] }, Transform { #part de pizza translation 0 0 0 children [ Shape { appearance USE pizza #on reutilise pizza.gif geometry IndexedFaceSet { #on defini une forme triangulaire coord Coordinate { point [ 0 0 0,0.5 0.5 0,1 0 0 ] } solid FALSE coordIndex [ 0,1,2,-1 ] texCoord TextureCoordinate { #on decoupe un triangle point [ 0 0 ,0.5 0.5 ,1 0 ] #valeurs en % de l'image } texCoordIndex [ 0,1,2,-1 ] } } ] }, Transform { #reste de la pizza translation 0 0.5 0 children [ Shape { appearance USE pizza #toujours pizza.gif geometry IndexedFaceSet { #on defini le reste de la pizza coord Coordinate { point [ 0 1 0, 1 1 0, 1 0 0, 0.5 0.5 0,0 0 0 ] } solid FALSE coordIndex [ #pour eviter les angles obtus sur les 0,4,3,-1 #faces on la coupe en deux morceaux 0,2,1,-1 ] texCoord TextureCoordinate { #on coupe des textures de la forme des faces point [ 0 1 , 1 1 , 1 0 , 0.5 0.5 , 0 0 ] } texCoordIndex [ #on plaque les textures 0,4,3,-1 0,2,1,-1 ] } } ] }, ] }