Easter Egg commit (big!)

This commit is contained in:
Tonton Th
2026-04-05 00:27:54 +02:00
parent c9dba8d6aa
commit 43f58d9ce9
30 changed files with 241 additions and 186 deletions

View File

@@ -7,13 +7,28 @@
/* ======================================================= */
// #debug "+++++++++++++++++++++ debut contexte\n"
/* ======================================================= */
#declare Les_Jalons = object
{
union {
#local EC = SzSol + 111;
/* les coins */
object { Jalon_0 (0.5, 3, LeGris) translate <-EC, 0, -EC> }
object { Jalon_0 (0.5, 3, LeGris) translate < EC, 0, -EC> }
object { Jalon_0 (0.5, 3, LeGris) translate <-EC, 0, EC> }
object { Jalon_0 (0.5, 3, LeGris) translate < EC, 0, EC> }
/* les milieux des cotés */
object { Jalon_0 (0.5, 6, LeGris) translate < 0, 0, -EC> }
object { Jalon_0 (0.6, 6, LeGris) translate < 0, 0, EC> }
}
}
/* ======================================================= */
#macro Trois_Portiques (Dist)
union {
object { Portique_A () }
object { Portique_A () rotate -y*9 }
object { Portique_A () scale <1, 1.2, 1> translate z*11 }
object { Portique_A () rotate y*11 translate z*22 }
// XXX scale 1.85
object { Portique_A () rotate y*9 translate z*22 }
box { <-4, 0, -2>, <4, 0.03, 24> texture { LeGris } }
}
#end // macro trois portiques
@@ -43,7 +58,7 @@ difference {
cylinder { 0, y*0.36, R*0.99 }
cone { y*0.37, R*0.80, y*0.425, R*0.83 }
#for (Foo, 0, 359, 10)
#if (rand(Rng1) > 0.17)
#if (rand(Rng1) > 0.19)
#local Dx = R * sin(radians(Foo));
#local Dz = R * cos(radians(Foo));
cone { 0, 0.01, y*0.41, 0.10 translate <Dx, 0, Dz> }
@@ -109,7 +124,7 @@ union {
#macro Les_GyroPhares ()
union {
#local E = SzSol * 0.496;
#local E = SzSol * 0.497;
#for (Idx, 0, 359, 60)
#local Ang = radians(Idx+9.33);
#local Dx = E * sin(Ang);
@@ -128,7 +143,7 @@ union {
{
union {
#for (Ang, 0, 359, 6)
#local De = 3.6 + (0.5*rand(Rng1));
#local De = 2.6 + (0.5*rand(Rng1));
#if (rand(Rng1) < 0.50)
#local E = R_circular + De;
#else
@@ -154,7 +169,7 @@ union {
#local Zp = R_circular * sin(Ra);
cylinder { 0, 0.33*y, 0.10
translate <Xp, 0, Zp>
texture { T_Planete_A scale 3 }
texture { T_Planete_B scale 3 }
}
#end
}
@@ -167,7 +182,7 @@ union {
#declare R2hxba = Rhxba * 0.48;
merge {
sphere { 0, Rhxba }
#local E = Rhxba * 1.260;
#local E = Rhxba * 1.240;
sphere { 0, R2hxba translate <-E, 0, 0> }
sphere { 0, R2hxba translate < E, 0, 0> }
sphere { 0, R2hxba translate < 0, -E, 0> }
@@ -262,7 +277,7 @@ union {
light_source {
0
color White
fade_distance SzSol * 0.40
fade_distance SzSol * 0.47
fade_power 1.25
}
}
@@ -290,47 +305,15 @@ union {
object { Chose () translate < 20, 0, -36> }
/* a l'exterieur du 'circular' */
#for (foo, 0, 359, 18)
#local CK = radians(foo + (8*rand(Rng1)));
#local DX = 71 * sin(CK);
#local DZ = 67 * cos(CK);
#local CK = radians(foo + (11*rand(Rng1)));
#local DX = 83 * sin(CK);
#local DZ = 79 * cos(CK);
object { Chose () translate < DX, 0, DZ> } // XXX
#end
}
}
/* ======================================================= */
/*
* cette partie demande des explications
*/
#declare Les_Lumieres = object
{
union {
#if (1)
light_source {
<2.3, 5.50, 2.86> color Gray70
spotlight
radius 19 falloff 10 tightness 8
point_at <0, 0.95, 0.22222222>
}
#end
#if (1)
light_source {
<-8, 5.60, 18>
#if ( (clock > 290) & (clock<344) )
#local Couleur = rgb <0.20, 0.20, 0.90>;
#else
#local Couleur = rgb <0.80, 0.80, 0.70>;
#end
color Couleur
spotlight
radius 12 falloff 10 tightness 5
point_at <0, 0.95, -0.22>
}
#end
}
}
/* ======================================================= */
/*
* why a skysphere can't be an object ?
@@ -339,14 +322,14 @@ sky_sphere {
pigment {
gradient y
color_map {
[ 0.2 color Gray20 ]
[ 0.4 color rgb <.5, .45, .43> ]
[ 0.7 color Gray50 ]
[ 0.9 color rgb <.5, .5, .47> ]
[ 1.0 color Gray20 ]
[ 0.2 color Gray20 ]
[ 0.4 color srgb <.5, .45, .43> ]
[ 0.7 color Gray50 ]
[ 0.9 color srgb <.5, .5, .47> ]
[ 1.0 color Gray20 ]
}
turbulence 2.222 + 0.84 * Cos_010(NormClock)
scale 1.600
scale 1.666
// translate -1
}
#local Kem = 0.09;
@@ -363,6 +346,8 @@ union {
object { Underground }
object { Les_Bordures }
object { Les_Jalons }
#include "groundbase.inc"
object { La_GroundBase }