DEF out =
STRUCT:<gio7,T:1:4,gio2,T:1:4,gio5,T:1:4,gio8>
WHERE
Gioconda = SimpleTexture:'img/gioconda.jpg',
%--- Mapping ---%
gio1 = ((CYLINDER:<1,2,18>) CREASE (PI/2)) TEXTURE Gioconda,
gio2 = ((Sphere:1:<12,24>) CREASE (PI/2)) TEXTURE Gioconda,
gio3 = ((@2 ~ CUBOID):<1,1,1>) TEXTURE Gioconda,
%--- Mapping ---%
gio4 = CUBOID:<4,4> TEXTURE Gioconda,
gio5 = CUBOID:<3,4> TEXTURE Gioconda,
gio6 = CUBOID:<4,3> TEXTURE Gioconda,
%--- AspectRatio ---%
aspectRatio = 404/600,
gio7 = S:2:(1/aspectRatio):((CUBOID:<4,4> TEXTURE Gioconda) * QUOTE:<0.5>),
%--- TriangleStrip ---%
target = triangleStripe:
<<0,0>,<1,4>,<1.5,2.5>,<3.5,4>,<3,2.5>,<4,0>,<3,1>,<1.5,1>,<1.5,2>>,
gio8 = (target TEXTURE Gioconda) * QUOTE:<0.5>,
%--- Texture Transformations ---%
gio9 = CUBOID:<4,4> TEXTURE
FullTexture:<'img/gioconda.jpg', false, false, <-0.5,-0.5>, PI/-4, <1,1>, <0, 0>>,
gio10 = CUBOID:<4,4> TEXTURE
FullTexture:<'img/gioconda.jpg', false, false, <-0.5,-0.5>, PI/-4, <1/2,1/2>, <0, 0>>,
gio11 = CUBOID:<4,4> TEXTURE
FullTexture:<'img/gioconda.jpg', true, true, <-0.5,-0.5>, PI/-4, <1/2,1/2>, <0, 0>>,
%--- Texture Mapping with Repetion ---%
repeatedTexture (scaleS, scaleT::IsReal) = CUBOID:<1,1> TEXTURE
FullTexture:<'img/gioconda.jpg', true, true, <0,0>, 0, <1/scaleS, 1/scaleT>, <0,0>>,
gio12 = STRUCT:<
repeatedTexture:<3,2>, T:1:1.2,
repeatedTexture:<2,3>, T:1:1.2,
S:2:(1/aspectRatio):(repeatedTexture:<2,3>), T:1:1.2,
S:<1,2>:<aspectRatio, 1/aspectRatio>:(repeatedTexture:<2,3>)
>
END