From f9755cf0a26f1e197e029a5ba0e325c9b62821b8 Mon Sep 17 00:00:00 2001 From: Tonton Th Date: Mon, 10 Feb 2025 04:16:53 +0100 Subject: [PATCH] La cabane part en prod' un lundi matin --- contexte.inc | 96 ++++++++++++++++++++++++++++++++-- essai.pov | 145 ++++++++++----------------------------------------- 2 files changed, 120 insertions(+), 121 deletions(-) diff --git a/contexte.inc b/contexte.inc index a98a965..14b7fcc 100644 --- a/contexte.inc +++ b/contexte.inc @@ -4,6 +4,63 @@ /* voir aussi le fichier 'globals.inc' */ +/* ======================================================= */ +/* + * Inserer ici le SDL de la cabane + */ +// ======================================================= +/* + * nouveau debut fevrier 2025 - we love raytracing + */ + +/* + * 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 + */ +#declare Base_cabane_forme = object +{ +difference { + #local Hc = 0.90; + 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 } + #undef Hc + } +} + +/* + * comparaison des deux textures par le rendu + * de la meme forme de cabane. + */ +#declare Cabane_Base_1 = object +{ +object { Base_cabane_forme } +texture { T_Beton_1 } +} + +#declare Cabane_Base_2 = object +{ +object { Base_cabane_forme } +texture { T_Beton_2 } +} + /* ======================================================= */ #declare GroudBase_coin = object @@ -14,11 +71,30 @@ merge { } } -#declare GroundBase = object +#declare GroundBase_a = object +{ +union { + #local Dx = 1.5; + #local Dz = 1.0; + box { <-Dx, 0, -Dz>, } + #local Ha = y*(H_base*2); + cylinder { 0, Ha, 0.08 translate } + #local Hb = Ha * 1.17; + cone { Ha, 0.08, Hb, 0.05 translate < Dx, 0, -Dz> } + cone { Ha, 0.08, Hb, 0.05 translate <-Dx, 0, -Dz> } + #undef Ha + #undef Hb + #undef Dx + #undef Dz + } +texture { T_Stone2 rotate 49 scale 0.22 } +} + +#declare GroundBase_b = object { #local Sz = SzBase - 0.02; union { - box { <-SzBase, 0, -SzBase>, } + box { <-SzBase, 0, -SzBase>, } object { GroudBase_coin translate <-Sz, 0, -Sz> } object { GroudBase_coin translate < Sz, 0, -Sz> } object { GroudBase_coin translate <-Sz, 0, Sz> } @@ -28,6 +104,20 @@ texture { T_Stone6 rotate 9 scale 0.32 } #undef Sz } +/* ------------------------------------------------------------ */ + +#declare La_GroundBase = object +{ +union { + object { GroundBase_b } + /* + * ici, mettre la cabane + */ + #local Dz = <0, 0, -7>; + object { GroundBase_a translate Dz } + object { Cabane_Base_2 rotate y*180 translate Dz } + } +} /* ======================================================= */ #macro GyroPhare_mat () @@ -294,7 +384,7 @@ sky_sphere { union { object { Le_Sol } object { Underground } - object { GroundBase } + object { La_GroundBase } object { Les_Bibelots } object { Les_Lumieres } object { Les_GyroPhares () } diff --git a/essai.pov b/essai.pov index 16553ec..af53267 100644 --- a/essai.pov +++ b/essai.pov @@ -8,145 +8,54 @@ #include "globals.inc" #include "contexte.inc" +#include "gadgets.inc" #include "elements.inc" #include "hexabenz.inc" // ======================================================= -/* - * nouveau debut fevrier 2025 - we love raytracing - */ -/* - * deux textures - */ -#declare T_Beton_1 = texture -{ -pigment { color <0.9, 0.8, 0.8> } -normal { dents 0.75 scale 0.3 } -} - -#declare T_Beton_2 = texture -{ -pigment { color <0.9, 0.8, 0.8> } -normal { dents 0.25 scale 2 } -} - -/* - * une seule forme de cabane pour le moment - */ -#declare Base_cabane_forme = object -{ -difference { - box { <-0.90, 0, 0>, <0.90, 1.00, 0.80> } - box { <-0.89, -1, -1> <0.89, 0.99, 0.79> } - cylinder { <-1, 0.75, -0.23>, <1, 0.75, 0.23>, 0.09 } - } -} - -/* - * comparaison des deux textures par le rendu - * de la meme forme de cabane. - */ -#declare Cabane_Base_1 = object -{ -object { Base_cabane_forme } -texture { T_Beton_1 } -} - -#declare Cabane_Base_2 = object -{ -object { Base_cabane_forme } -texture { T_Beton_2 } -} - -/* - * assemblage des deux versions face a face - */ -#declare Les_Cabanes = object -{ -union { - #local E = 1.10; - object { Cabane_Base_1 rotate 270*y translate -x*E } - object { Cabane_Base_2 rotate 90*y translate x*E } - #undef E - } -} -// ======================================================= - -#declare QuadriPole = object -{ -#local R = 0.02; -#local E = 0.25; -#local H = H_cone*2; -union { - cylinder { 0, y*H, R translate -x*E } - cylinder { 0, y*H, R translate x*E } - cylinder { 0, y*H, R translate -z*E } - cylinder { 0, y*H, R translate z*E } - } -texture { WIP_color } -#undef E -#undef H -#undef R -} -// ======================================================= - -#macro Bubble () -sphere { - 0, 0.065 - #if ( rand(Rng1) < 0.333 ) - texture { Ruby_Glass } - #elseif ( rand(Rng1) < 0.666 ) - texture { Orange_Glass } - #else - texture { Gold_Nugget } - #end +#macro GGG_Un_Cone () +merge { + #local RA = R_basecone; + cone { 0, RA, y*0.89, 0.000001 } + sphere { 0, RA } } #end -#macro Un_Machin () +#macro GGG_Cones () union { - #for (Y, 1, 8, 1) - object { Bubble() translate y*Y*0.1 } - #end + #for (foo, 0, 360, 60) + #local E = 0.50; + #local Tx = 1.333 * E * sin(radians(foo)); + #local Tz = E * cos(radians(foo)); + object { + GGG_Un_Cone () + #if ( rand(Rng1) < 0.5001 ) + texture { T_Wood32 rotate 17 scale 1.50 } + #else + texture { T_Wood23 scale 2.50 } + #end + // rotate -z*foo + translate + } + #end // end for } #end -#declare Les_Machins = object -{ -union { - #local Rk = 3.95 + NormClock; - #for (foo, 0, 359, 45) - #local Xpos = Rk * sin(radians(foo)); - #local Zpos = Rk * cos(radians(foo)); - #local RND = rand(Rng1); - object { Un_Machin () translate } - #end - #undef RND - #undef Rk - } -} +object { GGG_Cones () translate y*0.5 } // ======================================================= - -object { GroundBase } -object { Les_Cabanes rotate -y*(clock*0.75) translate y*H_base } - -// object { OpenBox translate y*1.2 } -object { Les_Machins translate y*1.5 } +object { OpenBox translate y*1.2 } object { Le_Decor } -object { Repere translate y*2 } +// object { Repere translate y*2 } // ======================================================= -// light_source { <-8, 7, -9>, rgb <0.81, 0.65, NormClock> } -// light_source { < 11, 7, 4>, rgb <1-NormClock, 0.28, 0.80> } - -#local CamX = -2.7 + (3.8*Cos_01(NormClock)); +#local CamX = -2.7 + (3.8*Cos_010(NormClock)); #local CamY = 1.81 + (4*sqrt(NormClock)); -#local CamZ = 1.7 + (3.8*Cos_01(NormClock)); +#local CamZ = 1.7 + (3.8*Cos_010(NormClock)); camera { // fisheye location