a lot of change, stay tuned
This commit is contained in:
		
							parent
							
								
									532560518c
								
							
						
					
					
						commit
						db5eedffe1
					
				
							
								
								
									
										5
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										5
									
								
								Makefile
									
									
									
									
									
								
							| @ -3,7 +3,8 @@ DIMS   = -W1600 -H1200 | ||||
| # POVOPT = +q9 +a0.02 -d 
 | ||||
| POVOPT = +q9 +A     -d  | ||||
| POVDEP = contexte.inc elements.inc hexabenz.inc		\
 | ||||
| 		globals.inc hexawood.inc datas/hf.png | ||||
| 		globals.inc hexawood.inc datas/hf.png	\
 | ||||
| 		dynamic.inc trident.inc | ||||
| 
 | ||||
| CK=230 | ||||
| 
 | ||||
| @ -11,7 +12,7 @@ CK=230 | ||||
| PNG:	essai.png scene.png topview.png passage.png	\ | ||||
| 	orbite.png hexabenz.png escadrille.png		\
 | ||||
| 	hexacone.png remote.png survol.png cutoff.png | ||||
| 	echo "PNG ck=$(CK) done" >> WS/log | ||||
| 	echo "make PNG ck=$(CK) done" >> WS/log | ||||
| 
 | ||||
| 
 | ||||
| topview.png:		topview.pov Makefile $(POVDEP) | ||||
|  | ||||
							
								
								
									
										121
									
								
								contexte.inc
									
									
									
									
									
								
							
							
						
						
									
										121
									
								
								contexte.inc
									
									
									
									
									
								
							| @ -11,22 +11,6 @@ | ||||
|  *	une cabane pour faire riche. | ||||
|  */ | ||||
| 
 | ||||
| /* | ||||
|  *	deux textures | ||||
|  */ | ||||
| #declare T_Beton_1 = texture
 | ||||
| { | ||||
| pigment { color <0.9, 0.8, 0.8> } | ||||
| normal { dents 0.75 scale 0.3 } | ||||
| finish { roughness 1.00 } | ||||
| } | ||||
| 
 | ||||
| #declare T_Beton_2 = texture
 | ||||
| { | ||||
| pigment { color <0.7, 0.6, 0.6> } | ||||
| normal { dents 0.25 scale 2 } | ||||
| finish { roughness 1.00 } | ||||
| } | ||||
| 
 | ||||
| /* | ||||
|  *	une seule forme de cabane pour le moment | ||||
| @ -38,7 +22,7 @@ difference { | ||||
| 	box { <-0.90,  0,  0>, <0.90, Hc, 0.80> 	} | ||||
| 	box { <-0.89, 0.01, -1>  <0.89, Hc-0.01, 0.79> 	} | ||||
| 	#local Hc = Hc * 0.75;
 | ||||
| 	cylinder { <-1, Hc, -0.23>, <1, Hc, 0.23>, 0.09	} | ||||
| 	cylinder { <-1, Hc, -0.29>, <1, Hc, 0.29>, 0.09	} | ||||
| 	#undef Hc
 | ||||
| 	} | ||||
| } | ||||
| @ -85,7 +69,7 @@ union	{ | ||||
| 	#undef Dx
 | ||||
| 	#undef Dz
 | ||||
| 	} | ||||
| texture { T_Stone2 rotate 49 scale 0.22 } | ||||
| texture { T_Grnt7 rotate 49 scale 0.22 } | ||||
| } | ||||
| 
 | ||||
| #declare GroundBase_b = object
 | ||||
| @ -98,7 +82,7 @@ union { | ||||
| 	object { GroudBase_coin translate <-Sz, 0,  Sz> } | ||||
| 	object { GroudBase_coin translate < Sz, 0,  Sz> } | ||||
| 	} | ||||
| texture { T_Stone6 rotate 9 scale 0.32 } | ||||
| texture { T_Grnt27 rotate 9 scale 0.32 } | ||||
| #undef Sz
 | ||||
| } | ||||
| 
 | ||||
| @ -124,7 +108,7 @@ union	{ | ||||
| 	intersection { | ||||
| 		sphere { 0, R_gyro scale <1, 1.414, 1> } | ||||
| 		box { <-1, 0, -1>, <1, 1, 1> } | ||||
| 		translate y*(H_gyro+H_gylampe+0.01)  | ||||
| 		translate y*(H_gyro+H_gylampe+0.02)  | ||||
| 		} | ||||
| 	#if (rand(Rng1) < 0.5)
 | ||||
| 	  texture { T_Stone25 scale 1+rand(Rng1) } | ||||
| @ -137,17 +121,18 @@ union	{ | ||||
| #macro GyroPhare_lampe ()
 | ||||
| union	{ | ||||
| 	difference { | ||||
| 		cylinder { 0, y*0.20,    R_gyro } | ||||
| 		cylinder { y*0.01, y*0.19, R_gyro*0.97 } | ||||
| 		cylinder { 0, y*H_gylampe,    R_gyro } | ||||
| 		cylinder { y*0.01, y*(H_gylampe-0.01), R_gyro*0.97 } | ||||
| 		#local WB = 0.015;
 | ||||
| 		box { <-1, 0.03, -WB>, <1, 0.18, WB> } | ||||
| 		box { <-WB, 0.03, -1>, <WB, 0.18, 1> } | ||||
| 		box { <-1, 0.03, -WB>, <1, (H_gylampe-0.03), WB> } | ||||
| 		box { <-WB, 0.03, -1>, <WB, (H_gylampe-0.03), 1> } | ||||
| 		#undef WB
 | ||||
| 		pigment { color Gray90 } | ||||
| 		#local Ro = 0.5-rand(Rng1);
 | ||||
| 		#if (abs(Ro) < 0.01)
 | ||||
| 		#local Ro = 5.89*(0.5-rand(Rng1));
 | ||||
| 		#if (abs(Ro) < 0.06)
 | ||||
| 		  #local Ro = Ro * 10;
 | ||||
| 		#end
 | ||||
| 		#undef Ro
 | ||||
| 		rotate y*(0.5-rand(Rng1)) * clock | ||||
| 		} | ||||
| 	light_source { y*0.10 | ||||
| @ -169,7 +154,7 @@ union	{ | ||||
| 
 | ||||
| #macro Les_GyroPhares ()
 | ||||
| union	{ | ||||
| 	#local E = SzSol * 0.485;
 | ||||
| 	#local E = SzSol * 0.488;
 | ||||
| 	object { GyroPhare ()	translate <-E, 0, -E> } | ||||
| 	object { GyroPhare ()	translate < E, 0, -E> } | ||||
| 	object { GyroPhare ()	translate <-E, 0,  E> } | ||||
| @ -207,13 +192,13 @@ union	{ | ||||
| 	object	{ HexaBalls | ||||
| 		texture { Lightning1 scale 0.33 } | ||||
| 		rotate <clock/3, clock/6, clock/9> | ||||
| 		translate <5, -1.1+1.01*Cos_010(NormClock), 7> | ||||
| 		translate <2, -1.1+1.01*Cos_010(NormClock), 4> | ||||
| 		} | ||||
| 
 | ||||
| 	object	{ HexaBalls | ||||
| 		texture { Lightning2 scale 0.56 } | ||||
| 		// rotate <-clock, clock*0.33333, clock>
 | ||||
| 		translate <7, -1+0.92*Cos_010(NormClock), -6> | ||||
| 		rotate <-clock, clock*0.33333, clock> | ||||
| 		translate <5, -1+0.92*Cos_010(NormClock), -3> | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
| @ -246,14 +231,14 @@ height_field { | ||||
| 	png "datas/hf.png" | ||||
| 	smooth | ||||
| 	translate <-.5, 0, -.5> | ||||
| 	scale <SzSol, 0.98, SzSol> | ||||
| 	scale <SzSol, 1, SzSol> | ||||
| 	texture { | ||||
| 		pigment { | ||||
| 			// color DarkGreen
 | ||||
| 			image_map { png "datas/noise.png" } | ||||
| 			image_map { png "datas/cmap.png" } | ||||
| 			rotate x*90 | ||||
| 			translate <-.5, 0, -.5> | ||||
| 			scale <SzSol, 0.98, SzSol> | ||||
| 			scale <SzSol, 1, SzSol> | ||||
| 			} | ||||
| 		// normal { bumps 0.035 scale 0.186 }
 | ||||
| 		finish  { phong 0.105 } | ||||
| @ -261,14 +246,28 @@ height_field { | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| /* ======================================================= */ | ||||
| 
 | ||||
| #declare Underground = object
 | ||||
| { | ||||
| plane { y, -1.75 } | ||||
| difference { | ||||
| 	// plane { y, 0 }
 | ||||
| 	#local Big = 300;
 | ||||
| 	box { <-Big, -0.01, -Big>, < Big, 0.01,  Big> } | ||||
| 	#undef Big
 | ||||
| 	#local W = SzSol * 1.204;
 | ||||
| 	cylinder { <-W, -1, -W>, <-W, 1, -W>, 5 } | ||||
| 	cylinder { <-W, -1,  W>, <-W, 1,  W>, 7 } | ||||
| 	cylinder { < W, -1,  W>, < W, 1,  W>, 9 } | ||||
| 	#undef W
 | ||||
| 	} | ||||
| texture { | ||||
| 	pigment { color Gray20 } | ||||
| 	normal { bumps 0.38 scale 4 } | ||||
| 	normal { bumps 0.38 scale 3 } | ||||
| 	finish  { phong 0.125 } | ||||
| 	} | ||||
| rotate y*35 | ||||
| translate -y*2.55 | ||||
| } | ||||
| 
 | ||||
| /* ======================================================= */ | ||||
| @ -311,6 +310,34 @@ union	{ | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| /* ======================================================= */ | ||||
| /* | ||||
|  *	nouvel éclairage du 10 février 2025 | ||||
|  */ | ||||
| #declare Quad_lampe = object
 | ||||
| { | ||||
| light_source { | ||||
| 	0 | ||||
| 	color White | ||||
| 	fade_distance	SzSol * 0.40 | ||||
| 	fade_power	1.20 | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| #declare QuadriLight = object
 | ||||
| { | ||||
| #local T = E_QuadriLight;
 | ||||
| #local H = H_QuadriLight;
 | ||||
| // #local H = 5;
 | ||||
| 
 | ||||
| union	{ | ||||
| 	object { Quad_lampe	translate <-T, H, -T>	} | ||||
| 	object { Quad_lampe	translate < T, H, -T>	} | ||||
| 	object { Quad_lampe	translate <-T, H,  T>	} | ||||
| 	object { Quad_lampe	translate < T, H,  T>	} | ||||
| 	} | ||||
| rotate -12 * y | ||||
| } | ||||
| /* ======================================================= */ | ||||
| 
 | ||||
| #declare Les_Lumieres = object
 | ||||
| @ -358,14 +385,14 @@ sky_sphere { | ||||
| 	pigment { | ||||
| 		gradient y | ||||
| 		color_map { | ||||
| 			[ 0.2  color Gray10	] | ||||
| 			[ 0.4  color Gray60	] | ||||
| 			[ 0.7  color Black	] | ||||
| 			[ 0.8  color White	] | ||||
| 			[ 1.0  color Gray10	] | ||||
| 			[ 0.2  color Gray10		] | ||||
| 			[ 0.4  color rgb <.4, .3, .8>	] | ||||
| 			[ 0.7  color Gray20		] | ||||
| 			[ 0.8  color rgb <.95, .7, .6>	] | ||||
| 			[ 1.0  color Gray10		] | ||||
| 			} | ||||
| 		turbulence 3.14159 + 0.74 * Cos_010(NormClock) | ||||
| 		scale 1.804 | ||||
| 		scale 1.620 | ||||
| 		// translate -1
 | ||||
| 		} | ||||
| 	#local Kem = 0.09;
 | ||||
| @ -374,6 +401,15 @@ sky_sphere { | ||||
| // }
 | ||||
| 
 | ||||
| /* ======================================================= */ | ||||
| 
 | ||||
| 	/* XXX       XXX */ | ||||
| 	light_source { | ||||
| 		<-4, 54, -17> | ||||
| 		colour Gray40 | ||||
| 		parallel | ||||
| 		point_at	0 | ||||
| 		} | ||||
| 
 | ||||
| /* | ||||
|  *	Et on rassemble tous les éléments... | ||||
|  */ | ||||
| @ -384,7 +420,8 @@ union	{ | ||||
| 	object { Underground } | ||||
| 	object { La_GroundBase } | ||||
| 	// object { Les_Bibelots }
 | ||||
| 	object { Les_Lumieres } | ||||
| 	// object { Les_Lumieres }
 | ||||
| 	object { QuadriLight } | ||||
| 	object { Les_GyroPhares () } | ||||
| 	} | ||||
| } | ||||
|  | ||||
							
								
								
									
										11
									
								
								cutoff.pov
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								cutoff.pov
									
									
									
									
									
								
							| @ -15,17 +15,17 @@ | ||||
| 
 | ||||
| // #debug concat("------ cutoff clock = ", str(clock,5,0),"\n") | ||||
| 
 | ||||
| 
 | ||||
| #declare Kbox = (2.03*NormClock); | ||||
| 
 | ||||
| /* this one is for debugging */ | ||||
| // object { OpenBox translate <0, 1.5, Kbox>  } | ||||
| 
 | ||||
| difference { | ||||
| 	object { HexaCone () } | ||||
| 	box { -1, 1  translate z*Kbox } | ||||
| 	translate y*1.5 | ||||
| 	}  | ||||
| 
 | ||||
| /* this one is for debugging */ | ||||
| // object { OpenBox translate <0, 1.5, Kbox>  } | ||||
| 
 | ||||
| // ======================================================= | ||||
| 
 | ||||
| object { Le_Decor } | ||||
| @ -35,8 +35,9 @@ object { Le_Decor } | ||||
| 
 | ||||
| #local CamX = -2.7 + (1.4*Cos_01(NormClock)); | ||||
| #local CamY = 2.58  + (0.034*sqrt(NormClock)); | ||||
| #local CamZ = 5.35; | ||||
| camera	{ | ||||
| 	location	<CamX, CamY, 5.40> | ||||
| 	location	<CamX, CamY, CamZ> | ||||
| 	look_at		<0, 1.6, 0> | ||||
| 	angle		39 - 5*Cos_01(NormClock) | ||||
| 	} | ||||
|  | ||||
							
								
								
									
										30
									
								
								dynamic.inc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								dynamic.inc
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,30 @@ | ||||
| 
 | ||||
| object { Les_Bibelots rotate y*clock translate <28, -1, -32> } | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| #declare HC_A = <0.03, 1.18, 0.17>;
 | ||||
| #declare HC_B = <2.0, 5.0, 9.0>;
 | ||||
| #declare HC_P = Interpolate(HC_A, HC_B, Cos_01(NormClock));
 | ||||
| #declare RX   = -9+(NormClock*11);
 | ||||
| #declare RY   = 122 * (exp(NormClock) - 1.0);
 | ||||
| object { HexaCone () | ||||
| 		rotate <RX, RY, -4> | ||||
| 		translate HC_P | ||||
| 	} | ||||
| 
 | ||||
| #declare HB_A = <-4.0, 7.0, 5.0>;
 | ||||
| #declare HB_B = <0.03, 1.22, 0.17>;
 | ||||
| #declare HB_P = Interpolate(HB_A, HB_B, Cos_01(NormClock));
 | ||||
| #declare RY   = -75 * (exp(NormClock*2) - 1.0);
 | ||||
| #declare RZ   = -7+(7*NormClock);
 | ||||
| object { HexaBenz () | ||||
| 		rotate <6, RY, RZ> translate HB_P } | ||||
| 
 | ||||
| /* | ||||
|  *  nouveau 11 fevrier 2025 | ||||
|  */ | ||||
| #declare A = <-21, -1.9, (SzSol/2)+8>;
 | ||||
| #declare B = < 24, -2.4, (SzSol/2)+5>;
 | ||||
| #declare P = Interpolate(A, B, NormClock);
 | ||||
| object { HexaWood translate P } | ||||
							
								
								
									
										29
									
								
								elements.inc
									
									
									
									
									
								
							
							
						
						
									
										29
									
								
								elements.inc
									
									
									
									
									
								
							| @ -40,7 +40,8 @@ union	{ | ||||
| 	#local xR  = (rand(Rng2)-0.5000) * kR;
 | ||||
| 	#local yR  = (rand(Rng2)-0.5000) * kR;
 | ||||
| 	#local zR  = (rand(Rng2)-0.5000) * kR;
 | ||||
| 	#local Value = sin( (NormClock * 26.536) + (3.14*rand(Rng1)) );
 | ||||
| 	#local Value = sin( (NormClock * 26.536) +
 | ||||
| 					(3.14*rand(Rng1)) ); | ||||
| 	#if (Value < 0)
 | ||||
| 	  #local Couleur = rgb <abs(Value), 0, 0>;
 | ||||
| 	#else
 | ||||
| @ -56,6 +57,8 @@ union	{ | ||||
| texture { New_Penny } | ||||
| // }
 | ||||
| #end
 | ||||
| 
 | ||||
| // ---------------------------------------------------------
 | ||||
| /* | ||||
|  * | ||||
|  */ | ||||
| @ -117,7 +120,7 @@ texture { T_Brass_1C scale 6.50 } | ||||
| { | ||||
| difference { | ||||
| 	merge	{ | ||||
| 		sphere { 0, 0.0137 scale <1, 1, 4.70> | ||||
| 		sphere { 0, 0.0141 scale <1, 1, 4.70> | ||||
| 				translate <0, 0.26, -0.17> } | ||||
| 		cone { <0, -0.1, 0>, 0.114, <0, 0.26, -0.17>, 0.0096 | ||||
| 				scale <0.15, 1, 1> } | ||||
| @ -135,11 +138,14 @@ union	{ | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| // ---------------------------------------------------------
 | ||||
| 
 | ||||
| #declare DTa = 0.278;
 | ||||
| #declare DTb = 0.030;
 | ||||
| 
 | ||||
| #declare HexaCone_head = object
 | ||||
| { | ||||
| // XXX #declare HexaCone_head = object
 | ||||
| // XXX {
 | ||||
| #macro HexaCone_head ()
 | ||||
| merge	{ | ||||
| 	difference { | ||||
| 		torus { DTa, DTb } | ||||
| @ -148,13 +154,14 @@ merge	{ | ||||
| 		} | ||||
| 	sphere { 0, DTb*1.65 translate -DTa*x } | ||||
| 	sphere { 0, DTb*1.65 translate  DTa*x } | ||||
| 	#if (rand(Rng1) < 0.8)
 | ||||
| 	  texture { Orange_Glass } | ||||
| 	#else
 | ||||
| 	  texture { Dark_Green_Glass } | ||||
| 	#end
 | ||||
| 	} | ||||
| #if (rand(Rng1) < 0.8)
 | ||||
|   texture { Orange_Glass } | ||||
| #else
 | ||||
|   texture { Dark_Green_Glass } | ||||
| #end
 | ||||
| } | ||||
| #end   // macro
 | ||||
| // XXX }
 | ||||
| 
 | ||||
| /*	------------------------------------------ | ||||
|  *	new Sat Dec 21 11:17:36 PM UTC 2024 | ||||
| @ -253,7 +260,7 @@ rotate -y*90 | ||||
| union	{ | ||||
| 	object { HexaCone_Body () } | ||||
| 	#local T = 0.55;
 | ||||
| 	object { HexaCone_head    translate <0, 0, T+DTa>	} | ||||
| 	object { HexaCone_head ()   translate <0, 0, T+DTa>	} | ||||
| 	#if ( (rand(Rng1) > 0.27) )
 | ||||
| 	  object { HexaCone_radar_A   translate <0, T+0.18, 0>	} | ||||
| 	#else
 | ||||
|  | ||||
| @ -14,22 +14,22 @@ | ||||
| 
 | ||||
| // ======================================================= | ||||
| 
 | ||||
| #for (idX, 0, 4) | ||||
|   #for (idZ, 0, 4) | ||||
| #for (idX, 0, 5) | ||||
|   #for (idZ, 0, 5) | ||||
| 
 | ||||
|     #local posX = (idX * 4.56) - 9.5 + (rand(Rng1)-0.5); | ||||
|     #local posY = 2.9 + (1.2*(rand(Rng1)-0.5)); | ||||
|     #local posZ = (idZ * 4.24) - 7.9; | ||||
|     #local posX = (idX * 4.72) - 11.6 + (rand(Rng1)-0.5); | ||||
|     #local posY = 3.1 + (1.2*(rand(Rng1)-0.5)); | ||||
|     #local posZ = (idZ * 4.37) - 7.9; | ||||
|     #local Rx   = (rand(Rng1) - 0.5) * 8; | ||||
|     #local Ry   = (rand(Rng1) - 0.5) * 14; | ||||
|     #local Rz   = (rand(Rng1) - 0.5) * 11; | ||||
|     #if (rand(Rng1) < 0.515) | ||||
|       object { HexaCone () | ||||
| 			rotate <0, Ry, Rz> | ||||
| 			rotate <Rx, Ry, Rz> | ||||
| 			translate <posX, posY, posZ> } | ||||
|     #else | ||||
|       object { HexaBenz ()  | ||||
| 			rotate <0, Ry, Rz> | ||||
| 			rotate <Rx, Ry, Rz> | ||||
| 			translate <posX, posY, posZ> } | ||||
|     #end | ||||
|   #end | ||||
| @ -41,12 +41,12 @@ object { Le_Decor } | ||||
| 
 | ||||
| // object { Repere scale 5 translate y } | ||||
| 
 | ||||
| #local CamX = -8.7+(6.6*NormClock); | ||||
| #local CamY = 2.1+(13.37*Cos_01(NormClock)); | ||||
| #local CamZ = 15.86+(12.9*Cos_01(NormClock)); | ||||
| #local CamX = -8.7   + (6.6*Cos_01(NormClock)); | ||||
| #local CamY = 2.95   + (18.64*Cos_01(NormClock)); | ||||
| #local CamZ = 16.86  + (12.9*Cos_01(NormClock)); | ||||
| 
 | ||||
| camera	{ | ||||
| 	location	<CamX, CamY, CamZ> | ||||
| 	look_at		<0.0, 0.5, 0> | ||||
| 	look_at		<0.0, -NormClock, 0> | ||||
| 	angle		60 - (3.97 * NormClock) | ||||
| 	} | ||||
|  | ||||
							
								
								
									
										66
									
								
								essai.pov
									
									
									
									
									
								
							
							
						
						
									
										66
									
								
								essai.pov
									
									
									
									
									
								
							| @ -15,59 +15,41 @@ | ||||
| 
 | ||||
| // ======================================================= | ||||
| 
 | ||||
| #include  "dynamic.inc" | ||||
| 
 | ||||
| // ======================================================= | ||||
| /* | ||||
|  *	nouvel éclairage du 10 février 2025 | ||||
|  */ | ||||
| #declare Quad_lampe = object | ||||
| { | ||||
| light_source { | ||||
| 	0 | ||||
| 	color Gray90 | ||||
| 	fade_distance	SzSol / 2 | ||||
| 	fade_power	1.5 | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| #declare QuadriLight = object | ||||
| { | ||||
| #local T = E_QuadriLight; | ||||
| #local H = H_QuadriLight * 2; | ||||
| // #local H = 5; | ||||
| 
 | ||||
| union	{ | ||||
| 	object { Quad_lampe	translate <-T, H, -T>	} | ||||
| 	object { Quad_lampe	translate < T, H, -T>	} | ||||
| 	object { Quad_lampe	translate <-T, H,  T>	} | ||||
| 	object { Quad_lampe	translate < T, H,  T>	} | ||||
| 	} | ||||
| } | ||||
| // ======================================================= | ||||
| 
 | ||||
| // object { OpenBox translate y*1.30 } | ||||
| #if (0) | ||||
| #local RX = -11 + (10*sin(NormClock*9.81) + 3*sin(NormClock*23)); | ||||
| #local RZ = 26 - (14*Cos_010(NormClock)); | ||||
| object { HexaWood rotate <RX, 37, 0>  translate y*0.777 } | ||||
| // object { QuadriPole translate <-3, 0, 2> } | ||||
| #local RZ =  26 - (14*Cos_010(NormClock)); | ||||
| object { HexaWood rotate <RX, 37, RZ>  translate <9, 2.777, -11> } | ||||
| #end | ||||
| 
 | ||||
| object { QuadriLight } | ||||
| 
 | ||||
| // object { Le_Decor } | ||||
| 	object { Le_Sol } | ||||
| 	object { Underground } | ||||
| 	// object { La_GroundBase } | ||||
| 	object { Les_GyroPhares () } | ||||
| /* | ||||
| #declare A = <-21, -0.9, SzSol+9>; | ||||
| #declare B = < 33, -0.7, SzSol+7>; | ||||
| #declare P = Interpolate(A, B, NormClock); | ||||
| object { HexaWood translate P } | ||||
| */ | ||||
| 
 | ||||
| // object { Repere   translate y*2 } | ||||
| object { Repere  scale 10  translate y*6 } | ||||
| object { Le_Decor } | ||||
| 
 | ||||
| // ======================================================= | ||||
| 
 | ||||
| #local CamX = -2.7 + (3.8*Cos_010(NormClock)); | ||||
| #local CamY = 0.81  + (4*sqrt(NormClock)); | ||||
| #local CamZ = 6.9 - (0.8*Cos_010(NormClock)); | ||||
| #local CamX = -2.7 + (2.8*Cos_010(NormClock)); | ||||
| #local CamY = 0.81  + (3*exp(NormClock)); | ||||
| #local CamZ = 7.777 - (0.8*Cos_010(NormClock)); | ||||
| 
 | ||||
| #local K = 8; | ||||
| #local CamX = CamX * K; | ||||
| #local CamY = CamY * K * 2; | ||||
| #local CamZ = CamZ * K; | ||||
| 
 | ||||
| camera	{ | ||||
| 	location	<CamX, CamY, CamZ> | ||||
| 	look_at		<0, 0.92, 0> | ||||
| 	angle		32 + 4*Cos_01(NormClock) | ||||
| 	look_at		<0, 0.98, 0> | ||||
| 	angle		32 - 5*Cos_01(NormClock) | ||||
| 	} | ||||
|  | ||||
							
								
								
									
										26
									
								
								globals.inc
									
									
									
									
									
								
							
							
						
						
									
										26
									
								
								globals.inc
									
									
									
									
									
								
							| @ -11,7 +11,7 @@ global_settings	{ | ||||
| #include  "stones.inc"
 | ||||
| #include  "woods.inc"
 | ||||
| 
 | ||||
| #declare Rng1 = seed(1337);
 | ||||
| #declare Rng1 = seed(1664);
 | ||||
| #declare foo  = rand(Rng1);
 | ||||
| #declare Rng2 = seed(now*24*60*60);
 | ||||
| #declare bar  = rand(Rng2);
 | ||||
| @ -24,6 +24,7 @@ global_settings	{ | ||||
|  */ | ||||
| 
 | ||||
| #declare SzSol      = 34;
 | ||||
| 
 | ||||
| #declare SzBase     = 2.85;
 | ||||
| #declare H_base     = 0.10;
 | ||||
| 
 | ||||
| @ -32,10 +33,10 @@ global_settings	{ | ||||
| 
 | ||||
| #declare R_gyro     = 0.09;
 | ||||
| #declare H_gyro     = 1.20;
 | ||||
| #declare H_gylampe  = 0.20;
 | ||||
| #declare H_gylampe  = 0.25;
 | ||||
| 
 | ||||
| #declare H_QuadriLight = 20;
 | ||||
| #declare E_QuadriLight = SzSol * 0.85;
 | ||||
| #declare H_QuadriLight = 36;
 | ||||
| #declare E_QuadriLight = SzSol * 1.35;
 | ||||
| 
 | ||||
| /* ------------------------------------------------------------ */ | ||||
| /* | ||||
| @ -66,6 +67,23 @@ pigment { rgb <0.40, 0.50, 0.70> } | ||||
| finish { metallic 0.50 reflection 0.55 } | ||||
| } | ||||
| 
 | ||||
| /* | ||||
|  *	deux textures | ||||
|  */ | ||||
| #declare T_Beton_1 = texture
 | ||||
| { | ||||
| pigment { color <0.9, 0.8, 0.8> } | ||||
| normal { dents 0.75 scale 0.3 } | ||||
| finish { roughness 1.00 } | ||||
| } | ||||
| 
 | ||||
| #declare T_Beton_2 = texture
 | ||||
| { | ||||
| pigment { color <0.7, 0.6, 0.6> } | ||||
| normal { dents 0.25 scale 2 } | ||||
| finish { roughness 1.00 } | ||||
| } | ||||
| 
 | ||||
| /* ------------------------------------------------------------ */ | ||||
| /* | ||||
|  *	Usefull macros | ||||
|  | ||||
							
								
								
									
										41
									
								
								hexabenz.inc
									
									
									
									
									
								
							
							
						
						
									
										41
									
								
								hexabenz.inc
									
									
									
									
									
								
							| @ -9,7 +9,7 @@ union	{ | ||||
| 	#local RA = R_basecone;
 | ||||
| 	#local RB = 0.001;
 | ||||
| 	cone { 0, RA, y*0.89, 0.0001 } | ||||
| 	sphere { 0, RA*1.098 scale <1, 0.62, 3.03> translate -0.02*y } | ||||
| 	sphere { 0, RA*1.098 scale <1, 0.58, 3.03> translate -0.02*y } | ||||
| 	} | ||||
| // }
 | ||||
| #end
 | ||||
| @ -18,7 +18,7 @@ union	{ | ||||
| // {
 | ||||
| union	{ | ||||
| 	#for (foo, 0, 360, 60)
 | ||||
| 	#local E = 0.35;
 | ||||
| 	#local E = 0.31;
 | ||||
| 	#local Tx = E * sin(radians(foo));
 | ||||
| 	#local Ty = E * cos(radians(foo));
 | ||||
| 	object { | ||||
| @ -46,14 +46,14 @@ union	{ | ||||
| 
 | ||||
| // ------------------------------------------------------
 | ||||
| 
 | ||||
| #declare R_Tube = 0.20;
 | ||||
| #declare R_Tube = 0.18;
 | ||||
| #local L_Tube = 0.54;
 | ||||
| 
 | ||||
| #macro Benz_Tubules ()
 | ||||
| merge	{ | ||||
| 	#local E = R_Tube * 0.75;
 | ||||
| 	#local R = 0.01;
 | ||||
| 	#for (foo, 0, 360, 20)
 | ||||
| 	#local R = 0.009;
 | ||||
| 	#for (foo, 0, 360, 30)
 | ||||
| 	  #local Tx = E * sin(radians(foo));
 | ||||
| 	  #local Ty = E * cos(radians(foo));
 | ||||
| 	  #local Dza = z * 0.20;
 | ||||
| @ -62,7 +62,7 @@ merge	{ | ||||
| 	  sphere { -Dza, R*1.8     translate <Tx, Ty, 0> } | ||||
| 	  sphere {  Dzb, R*1.8     translate <Tx, Ty, 0> } | ||||
| 	#end
 | ||||
| 	#if ( rand(Rng1) < 0.333)
 | ||||
| 	#if ( rand(Rng1) < 0.360)
 | ||||
| 	  texture { Orange_Glass } | ||||
| 	#else
 | ||||
| 	  texture { Yellow_Glass } | ||||
| @ -70,8 +70,9 @@ merge	{ | ||||
| 	} | ||||
| #end
 | ||||
| 
 | ||||
| #declare Benz_Fuseau = object
 | ||||
| { | ||||
| // XXX #declare Benz_Fuseau = object
 | ||||
| // XXX {
 | ||||
| #macro Benz_Fuseau ()
 | ||||
| difference { | ||||
| 	sphere { 0, R_Tube*0.39  } | ||||
| 	sphere { 0, R_Tube*0.37  } | ||||
| @ -79,13 +80,19 @@ difference { | ||||
| 	cylinder { < 1, 0, -1>, <-1, 0, 1>, R_Tube*0.21 }  | ||||
| 	} | ||||
| scale <1, 1, 4.4> | ||||
| texture { Shadow_Clouds scale 0.56 } | ||||
| } | ||||
| #if ( rand(Rng1) < 0.360)
 | ||||
|   texture { Shadow_Clouds scale 0.56 } | ||||
| #else
 | ||||
|   texture { WIP_color } | ||||
| #end
 | ||||
| 
 | ||||
| #end     // end macro
 | ||||
| // XXX }
 | ||||
| 
 | ||||
| #declare Benz_Fuseau_Flash = object
 | ||||
| { | ||||
| union	{ | ||||
| 	object { Benz_Fuseau } | ||||
| 	object { Benz_Fuseau () } | ||||
| 	light_source { 0, | ||||
| 		rgb <rand(Rng2), rand(Rng2), rand(Rng2)> | ||||
| 		fade_distance	0.96 | ||||
| @ -93,14 +100,20 @@ union	{ | ||||
| 
 | ||||
| 		} | ||||
| 	} | ||||
| rotate -z*clock*6 | ||||
| rotate -z*clock*8 | ||||
| } | ||||
| 
 | ||||
| #declare Benz_Cylindre = object
 | ||||
| { | ||||
| difference	{ | ||||
| 	union { | ||||
| 		cylinder { z*L_Tube*1.5, -z*L_Tube,  R_Tube } | ||||
| 		cylinder { z*L_Tube*1.6, -z*L_Tube,  R_Tube } | ||||
| 		/* les deux bouts du cylindre creux */ | ||||
| 		torus { R_Tube, 0.012 | ||||
| 				rotate x*90 translate  z*L_Tube*1.6 } | ||||
| 		torus { R_Tube, 0.012 | ||||
| 				rotate x*90 translate -z*L_Tube  } | ||||
| 
 | ||||
| 		/* cette sphere devrait devenir | ||||
| 		     un vrai cockpit ? */ | ||||
| 		sphere { z*L_Tube*1.18, R_Tube*0.72 | ||||
| @ -129,7 +142,7 @@ union	{ | ||||
| // #declare HexaBenz = object
 | ||||
| // {
 | ||||
| union	{ | ||||
| 	#local Rk = (rand(Rng1)-0.5) * 1024;
 | ||||
| 	#local Rk = (rand(Rng1)-0.5) * 1312;
 | ||||
| 	object { Benz_Cones () rotate z*NormClock*Rk} | ||||
| 	object { Benz_Tube () } | ||||
| 	} | ||||
|  | ||||
| @ -24,14 +24,12 @@ object { HexaBenz ()			translate < K, 1.67, 0> } | ||||
| 
 | ||||
| object { Le_Decor            } | ||||
| 
 | ||||
| // light_source { <19, 7,   14>, rgb <0.77, 0.79, 0.80> } | ||||
| // light_source { <19, 9,  -14>, rgb <0.87, 0.79, 0.70> } | ||||
| 
 | ||||
| // object { Repere scale 2 } | ||||
| 
 | ||||
| camera	{ | ||||
| 	location	<-1.9+(8*NormClock), 0.90, 7.59-NormClock> | ||||
| 	look_at		<0.37, 1.37, 0> | ||||
| 	location	<-3.9+(11*NormClock), 1.90, 7.59-NormClock> | ||||
| 	look_at		<0.17, 1.47, 0> | ||||
| 	// focal_point	<0.37, 0.0, 0> | ||||
| 	// aperture	0.046 | ||||
| 	// blur_samples	30 | ||||
|  | ||||
							
								
								
									
										23
									
								
								hexacone.pov
									
									
									
									
									
								
							
							
						
						
									
										23
									
								
								hexacone.pov
									
									
									
									
									
								
							| @ -10,33 +10,26 @@ | ||||
| #include  "elements.inc" | ||||
| #include  "hexabenz.inc" | ||||
| 
 | ||||
| #declare Cone_Repere = object | ||||
| { | ||||
| union	{ | ||||
| 	object { HexaCone () } | ||||
| 	// object { Repere translate <-0.4, -0.2, -0.5> } | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| #local K = 1.48; | ||||
| object { Cone_Repere rotate y*90	translate <-K, 1.7, 1> } | ||||
| object { Cone_Repere			translate < K, 1.6, 1> } | ||||
| object { HexaCone () rotate y*90	translate <-K, 1.7, 1> } | ||||
| object { HexaCone ()			translate < K, 1.6, 1> } | ||||
| 
 | ||||
| object { Le_Decor            } | ||||
| 
 | ||||
| // ======================================================= | ||||
| 
 | ||||
| light_source { <19, 7,   14>, rgb <0.77, 0.79, 0.80> } | ||||
| light_source { <19, 9,  -14>, rgb <0.87, 0.79, 0.70> } | ||||
| // light_source { <19, 7,   14>, rgb <0.77, 0.79, 0.80> } | ||||
| // light_source { <19, 9,  -14>, rgb <0.87, 0.79, 0.70> } | ||||
| 
 | ||||
| // object { Repere scale 2 } | ||||
| 
 | ||||
| camera	{ | ||||
| 	location	<-1.9+(8*NormClock), 0.70, 7.59-NormClock> | ||||
| 	look_at		<0.37, 1.25, 0> | ||||
| 	location | ||||
| 	  <-1.9+(8*NormClock), 0.70+NormClock, 7.59-NormClock> | ||||
| 	look_at		<0.07, 1.55, 0> | ||||
| 	// focal_point	<0.37, 0.90, 0> | ||||
| 	// aperture	0.046 | ||||
| 	// blur_samples	30 | ||||
| 	angle		55 - 28 * Cos_01(NormClock) | ||||
| 	angle		55 - 26 * Cos_01(NormClock) | ||||
| 	} | ||||
| 
 | ||||
|  | ||||
							
								
								
									
										24
									
								
								passage.pov
									
									
									
									
									
								
							
							
						
						
									
										24
									
								
								passage.pov
									
									
									
									
									
								
							| @ -7,25 +7,25 @@ | ||||
| 
 | ||||
| #include  "globals.inc" | ||||
| 
 | ||||
| #include  "colors.inc" | ||||
| #include  "metals.inc" | ||||
| #include  "textures.inc" | ||||
| 
 | ||||
| #include  "contexte.inc" | ||||
| #include  "elements.inc" | ||||
| #include  "hexabenz.inc" | ||||
| #include  "hexawood.inc" | ||||
| 
 | ||||
| // --------------------------------------- | ||||
| 
 | ||||
| #include  "dynamic.inc" | ||||
| 
 | ||||
| #declare PosX = 2.95; | ||||
| #declare PosY = 2.60 + (NormClock*0.28); | ||||
| #declare PosZ = (NormClock-0.5) * 53.27; | ||||
| object { HexaCone () translate <PosX, PosY, PosZ> } | ||||
| 
 | ||||
| object { HexaCone () translate <PosX+2.96, PosY+1.72, PosZ-11.5> } | ||||
| object { HexaBenz () translate <PosX-1.96, PosY+2.42, PosZ-17.5> } | ||||
| 
 | ||||
| object { Le_Decor } | ||||
| 
 | ||||
| #declare PosX = 1.55; | ||||
| #declare PosY = 2.20 + (NormClock*0.28); | ||||
| #declare PosZ = (NormClock-0.5) * 53.27; | ||||
| 
 | ||||
| object { HexaBenz () translate <PosX, PosY, PosZ> } | ||||
| object { HexaCone () translate <PosX+1.96, PosY+1.42, PosZ-11.5> } | ||||
| object { HexaCone () translate <PosX-1.96, PosY+2.42, PosZ-17.5> } | ||||
| 
 | ||||
| #if ( (clock < 141) ) | ||||
| light_source { | ||||
| @ -50,7 +50,7 @@ light_source { | ||||
| #end | ||||
| 
 | ||||
| camera	{ | ||||
| 	location	<-1.76, 1.03, 9.76> | ||||
| 	location	<-2.76, 1.03, 9.76> | ||||
| 	look_at		<PosX+0.08, PosY, PosZ> | ||||
| 	// focal_point	<0, 1, 0> | ||||
| 	// aperture	0.046 | ||||
|  | ||||
							
								
								
									
										23
									
								
								remote.pov
									
									
									
									
									
								
							
							
						
						
									
										23
									
								
								remote.pov
									
									
									
									
									
								
							| @ -7,40 +7,35 @@ | ||||
| 
 | ||||
| #include  "globals.inc" | ||||
| 
 | ||||
| #include  "colors.inc" | ||||
| #include  "metals.inc" | ||||
| #include  "textures.inc" | ||||
| 
 | ||||
| #include  "contexte.inc" | ||||
| #include  "elements.inc" | ||||
| #include  "hexabenz.inc" | ||||
| #include  "hexawood.inc" | ||||
| 
 | ||||
| object { Le_Decor } | ||||
| 
 | ||||
| #declare A = <-SzSol, 16, -8>; | ||||
| #declare B = <SzSol+4, 18, -11>; | ||||
| #declare P = Interpolate(A, B, NormClock); | ||||
| object { HexaCone () rotate y*((6*NormClock)+80) translate P } | ||||
| 
 | ||||
| // object { HexaCone () rotate z*9.1 translate <5, 3, -8>  } | ||||
| object { HexaBenz () rotate y*(clock/9) translate <-4, 2, -5> } | ||||
| #include  "dynamic.inc" | ||||
| 
 | ||||
| object { HexaBenz () rotate y*(clock/9) translate <-9, 3, 7> } | ||||
| 
 | ||||
| // --------------------------------------------------------- | ||||
| 
 | ||||
| #declare A = <-21, -0.9, SzSol+9>; | ||||
| #declare B = < 33, -0.7, SzSol+7>; | ||||
| #declare A = <-15, -1.9, SzSol>; | ||||
| #declare B = < 23, -0.7, SzSol>; | ||||
| #declare P = Interpolate(A, B, NormClock); | ||||
| object { HexaWood translate P } | ||||
| 
 | ||||
| // cylinder { A, B, 0.10 pigment { color Cyan } } | ||||
| 
 | ||||
| // --------------------------------------------------------- | ||||
| 
 | ||||
| // object { Repere scale 3 translate y } | ||||
| object { Le_Decor } | ||||
| 
 | ||||
| // object { Repere scale 3 translate <SzSol, 2, SzSol> } | ||||
| 
 | ||||
| #local DistCam = 239; | ||||
| #local CK = 0.70 * NormClock; | ||||
| #local CK = 0.56 + (0.72 * NormClock); | ||||
| #declare CamX = DistCam * sin(CK); | ||||
| #declare CamY = 28; | ||||
| #declare CamZ = DistCam * cos(CK); | ||||
|  | ||||
							
								
								
									
										20
									
								
								scene.pov
									
									
									
									
									
								
							
							
						
						
									
										20
									
								
								scene.pov
									
									
									
									
									
								
							| @ -10,20 +10,18 @@ | ||||
| #include  "contexte.inc" | ||||
| #include  "elements.inc" | ||||
| #include  "hexabenz.inc" | ||||
| #include  "hexawood.inc" | ||||
| 
 | ||||
| #include  "dynamic.inc" | ||||
| 
 | ||||
| // --------------------------------------------------------- | ||||
| 
 | ||||
| object { Le_Decor } | ||||
| 
 | ||||
| object { HexaCone () | ||||
| 		rotate < 3, 0, -4> rotate y*17 translate y*1.41 } | ||||
| 
 | ||||
| object { HexaBenz () | ||||
| 		rotate <6, 40, -7> translate <-8, 3, 7> } | ||||
| 
 | ||||
| #declare CK = 96 + (clock * 1); | ||||
| #declare Dcam = 2.42; | ||||
| #declare CK = 96 + (clock * 0.36); | ||||
| #declare Dcam = 3.55; | ||||
| #declare CamX = Dcam *        sin(radians(CK)); | ||||
| #declare CamZ = Dcam * 1.20 * cos(radians(CK)); | ||||
| #declare CamZ = CamZ - 0.11;	// why ? | ||||
| 
 | ||||
| #declare Lat  = <0.03, 1.18, 0.17>; | ||||
| camera	{ | ||||
| @ -35,7 +33,3 @@ camera	{ | ||||
| 	angle		70 | ||||
| 	} | ||||
| 
 | ||||
| /** | ||||
| light_source { <CamX*1.3, 1.35, 1.2+(CamZ*1.3)>, | ||||
| 			rgb <0.47, 0.65, 0.49> } | ||||
| **/ | ||||
|  | ||||
							
								
								
									
										17
									
								
								survol.pov
									
									
									
									
									
								
							
							
						
						
									
										17
									
								
								survol.pov
									
									
									
									
									
								
							| @ -17,19 +17,14 @@ | ||||
| /* | ||||
|  *	on fait passer un hexatruc | ||||
|  */ | ||||
| #declare A = <-SzSol,   16,  8>; | ||||
| #declare B = < SzSol+4, 18,  7>; | ||||
| #declare A = <-SzSol,   16,   9>; | ||||
| #declare B = < SzSol+4, 18,  11>; | ||||
| #declare P = Interpolate(A, B, NormClock); | ||||
| object { HexaCone () rotate y*((12*NormClock)+80) translate P } | ||||
| 
 | ||||
| 
 | ||||
| /* | ||||
|  *  nouveau 11 fevrier 2025 | ||||
|  */ | ||||
| #declare A = <-21, -0.9, (SzSol/2)+1>; | ||||
| #declare B = < 24,  0.7, (SzSol/2)+9>; | ||||
| #declare P = Interpolate(B, A, NormClock); | ||||
| object { HexaWood translate P } | ||||
| #include  "dynamic.inc" | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| object { Le_Decor } | ||||
| @ -38,8 +33,8 @@ object { Le_Decor } | ||||
| 
 | ||||
| // ======================================================= | ||||
| 
 | ||||
| #declare  Debut  = <-3, 47,  47>	; | ||||
| #declare  Fin    = < 2, 43,  7>	; | ||||
| #declare  Debut  = <-3, 57,  47>	; | ||||
| #declare  Fin    = < 2, 53,  7>	; | ||||
| #declare  Pos    = Cos_01(NormClock); | ||||
| #declare  PosCam = Interpolate(Debut, Fin, Pos); | ||||
| 
 | ||||
|  | ||||
							
								
								
									
										14
									
								
								topview.pov
									
									
									
									
									
								
							
							
						
						
									
										14
									
								
								topview.pov
									
									
									
									
									
								
							| @ -12,17 +12,20 @@ | ||||
| #include  "hexabenz.inc" | ||||
| #include  "hexawood.inc" | ||||
| 
 | ||||
| object { Le_Decor } | ||||
| 
 | ||||
| /* XXX | ||||
| #declare TrX = 1.84 * sqrt(NormClock); | ||||
| #declare TrY = 0.90 + (3.5 * Cos_01(NormClock)); | ||||
| #declare TrZ = 9.999 * sqrt(NormClock); | ||||
| #declare TrH = <TrX, TrY, TrZ>; | ||||
| #declare RrY = 97 * sqrt(NormClock); | ||||
| object { HexaCone () rotate y*RrY translate TrH } | ||||
| */ | ||||
| 
 | ||||
| object { HexaCone () rotate z*9.1 translate <5, 3, -8>  } | ||||
| object { HexaBenz () translate <-4, 2, -6> } | ||||
| #include  "dynamic.inc" | ||||
| 
 | ||||
| object { HexaCone () rotate z*9.1 translate <7, 3, -8>  } | ||||
| object { HexaBenz () translate <-9+NormClock, 2, -6> } | ||||
| 
 | ||||
| /* | ||||
|  *  nouveau 11 fevrier 2025 | ||||
| @ -32,11 +35,12 @@ object { HexaBenz () translate <-4, 2, -6> } | ||||
| #declare P = Interpolate(A, B, NormClock); | ||||
| object { HexaWood translate P } | ||||
| 
 | ||||
| // light_source { <-16, 17, -24>, rgb <0.51, 0.65, 0.40> } | ||||
| // object { Repere scale 2 } | ||||
| 
 | ||||
| object { Le_Decor } | ||||
| 
 | ||||
| #declare CamY = 31 + (13.37*Cos_01(NormClock)); | ||||
| #declare LatY = -3 + NormClock; | ||||
| #declare LatY = -3 + (1.12*NormClock); | ||||
| 
 | ||||
| camera	{ | ||||
| 	location	<-3.60, CamY, 21.09> | ||||
|  | ||||
							
								
								
									
										12
									
								
								trident.inc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								trident.inc
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,12 @@ | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| /*	------------------------------------------------------ | ||||
|  * | ||||
|  */ | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Tonton Th
						Tonton Th