diff --git a/Makefile b/Makefile index bff5db6..0259b50 100644 --- a/Makefile +++ b/Makefile @@ -10,7 +10,7 @@ CK=180 PNG: essai.png scene.png topview.png passage.png \ orbite.png hexabenz.png escadrille.png \ - hexacone.png remote.png + hexacone.png remote.png survol.png cutoff.png topview.png: topview.pov Makefile $(POVDEP) @@ -43,3 +43,5 @@ escadrille.png: escadrille.pov Makefile $(POVDEP) remote.png: remote.pov Makefile $(POVDEP) povray $(POVOPT) $(DIMS) +K$(CK) -i$< -o$@ +survol.png: survol.pov Makefile $(POVDEP) + povray $(POVOPT) $(DIMS) +K$(CK) -i$< -o$@ diff --git a/contexte.inc b/contexte.inc index 1ba883a..a0ae254 100644 --- a/contexte.inc +++ b/contexte.inc @@ -4,11 +4,40 @@ /* voir aussi le fichier 'globals.inc' */ -/* ------------------------------------------------------------ */ +/* ======================================================= */ + +#declare GroudBase_coin = object +{ +merge { + cylinder { 0, y*0.7, 0.09 } + sphere { 0, 0.09 scale <1, 0.3, 1> translate y*0.7 } + } +} + +#declare GroundBase = object +{ +#local Sz = SzBase - 0.02; +union { + 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> } + object { GroudBase_coin translate < Sz, 0, Sz> } + } +texture { T_Stone6 scale 0.6 } +#undef Sz +} + +/* ======================================================= */ #macro GyroPhare_mat () -cylinder { - 0, y*H_gyro, R_gyro +union { + cylinder { 0, y*H_gyro, R_gyro } + 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) + } #if (rand(Rng1) < 0.5) texture { T_Stone25 scale 1+rand(Rng1) } #else @@ -64,7 +93,7 @@ union { #undef E } #end -/* ------------------------------------------------------------ */ +/* ======================================================= */ #declare Rhxba = 0.30; #declare R2hxba = Rhxba * 0.48; @@ -121,7 +150,7 @@ blob { } } -// ======================================================= +/* ======================================================= */ #declare Le_Sol = object { @@ -133,25 +162,28 @@ height_field { texture { pigment { // color DarkGreen - image_map { png "datas/cmap.png" } - // translate <-.5, 0, -.5> + image_map { png "datas/noise.png" } + rotate x*90 + translate <-.5, 0, -.5> scale } // normal { bumps 0.035 scale 0.186 } - finish { phong 0.125 } + finish { phong 0.105 } } } } #declare Underground = object { -plane { y, -0.80 } +plane { y, -1.75 } texture { pigment { color Gray20 } - normal { bumps 0.25 scale 6 } + normal { bumps 0.38 scale 4 } + finish { phong 0.125 } } } -// ======================================================= + +/* ======================================================= */ #declare Repere = object { @@ -163,6 +195,8 @@ union { } } +/* ======================================================= */ + #declare OpenBox = object { union { @@ -189,32 +223,23 @@ union { } } -// ======================================================= +/* ======================================================= */ #declare Les_Lumieres = object { union { #if (1) light_source { - <0.3, 3.50, 2.8> color Gray90 + <2.3, 5.50, 2.8> color Gray70 spotlight radius 14 falloff 10 tightness 10 point_at <0, 0.95, 0.22222222> } #end - #if ( (clock>166) & (clock<213) ) - light_source { - <2, 10.30, -2> color Yellow - spotlight - radius 12 falloff 20 tightness 10 - point_at <-0.08, 0.80, 0.17> - } - #end - #if (1) light_source { - <-5, 5.60, 8> + <-5, 5.60, 18> #if ( (clock > 290) & (clock<344) ) #local Couleur = rgb <0.20, 0.20, 0.90>; #else @@ -229,7 +254,7 @@ union { light_source { <-4, 54, -7> - colour Yellow*0.76 + colour Gray50 parallel point_at 0 } @@ -237,6 +262,8 @@ union { } } +/* ======================================================= */ + // #declare Le_Ciel = object // { sky_sphere { @@ -258,7 +285,7 @@ sky_sphere { } // } -/* ------------------------------------------------------------ */ +/* ======================================================= */ /* * Et on rassemble tous les éléments... */ @@ -267,6 +294,7 @@ sky_sphere { union { object { Le_Sol } object { Underground } + object { GroundBase } object { Les_Bibelots } object { Les_Lumieres } object { Les_GyroPhares () } diff --git a/cutoff.pov b/cutoff.pov index bcf2d03..feb8f05 100644 --- a/cutoff.pov +++ b/cutoff.pov @@ -21,7 +21,7 @@ // object { OpenBox translate <0, 1.5, Kbox> } difference { - object { HexaCone () rotate y*5 } + object { HexaCone () } box { -1, 1 translate z*Kbox } translate y*1.5 } @@ -37,6 +37,6 @@ object { Le_Decor } #local CamY = 2.58 + (0.034*sqrt(NormClock)); camera { location - look_at <0, 1.3, 0> + look_at <0, 1.6, 0> angle 42 - 4*Cos_01(NormClock) } diff --git a/escadrille.pov b/escadrille.pov index 59d25d8..3aa0dda 100644 --- a/escadrille.pov +++ b/escadrille.pov @@ -18,7 +18,7 @@ #for (idZ, 0, 4) #local posX = (idX * 4.56) - 7.5 + (rand(Rng1)-0.5); - #local posY = 2.3 + (1.2*(rand(Rng1)-0.5)); + #local posY = 2.6 + (1.2*(rand(Rng1)-0.5)); #local posZ = (idZ * 4.24) - 7.9; #local Rx = (rand(Rng1) - 0.5) * 8; #local Ry = (rand(Rng1) - 0.5) * 14; @@ -37,16 +37,12 @@ // ======================================================= -#if (NormClock < 0.09) - light_source { <-8, 7, -9>, rgb <0.81, 0.65, NormClock> } -#end - object { Le_Decor } // object { Repere scale 5 } #local CamX = -8.7+(6.6*NormClock); -#local CamY = 1.9+(13.37*Cos_01(NormClock)); +#local CamY = 2.1+(13.37*Cos_01(NormClock)); #local CamZ = 15.86+(12.9*Cos_01(NormClock)); camera { diff --git a/essai.pov b/essai.pov index 2229cc2..be0a39a 100644 --- a/essai.pov +++ b/essai.pov @@ -55,7 +55,7 @@ union { #declare Les_Machins = object { union { - #local Rk = 2.55; + #local Rk = 2.95 + NormClock; #for (foo, 0, 359, 45) #local Xpos = Rk * sin(radians(foo)); #local Zpos = Rk * cos(radians(foo)); @@ -69,10 +69,8 @@ union { // ======================================================= - -// ======================================================= - -object { OpenBox translate y*1.2 } +object { GroundBase } +// object { OpenBox translate y*1.2 } object { Les_Machins } object { Le_Decor } @@ -83,10 +81,12 @@ object { Repere } // 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*NormClock); +#local CamX = -2.7 + (3.8*Cos_01(NormClock)); #local CamY = 1.81 + (4*sqrt(NormClock)); +#local CamZ = 1.7 + (3.8*Cos_01(NormClock)); camera { + fisheye location look_at <0, 0.5, 0> - angle 42 - 4*Cos_01(NormClock) + // angle 32 - 4*Cos_01(NormClock) } diff --git a/globals.inc b/globals.inc index b1ea4e0..a8d03de 100644 --- a/globals.inc +++ b/globals.inc @@ -1,7 +1,7 @@ global_settings { assumed_gamma 1.0 - ambient_light rgb <0.17, 0.17, 0.21> + ambient_light rgb <0.47, 0.47, 0.47> max_trace_level 15 } @@ -23,12 +23,14 @@ global_settings { */ #declare SzSol = 34; +#declare SzBase = 1.9; #declare R_basecone = 0.117; #declare H_cone = 0.97; -#declare R_gyro = 0.08; +#declare R_gyro = 0.09; #declare H_gyro = 1.20; +#declare H_gylampe = 0.20; /* ------------------------------------------------------------ */ /* @@ -51,4 +53,10 @@ finish { phong 0.01 } (0.5-0.5*cos( 2 * 3.141592654 * X)) #end +/* Interpolate */ +#macro Interpolate(A, B, pos) + #local resultat = ( (B-A) * pos) +A; + resultat +#end + /* ------------------------------------------------------------ */ diff --git a/hexabenz.inc b/hexabenz.inc index 392489f..67c002e 100644 --- a/hexabenz.inc +++ b/hexabenz.inc @@ -31,7 +31,11 @@ union { rotate -z*foo translate } - #end + torus { E, E*0.05 + scale <1, 2, 1> rotate x*90 + texture { WIP_color } + } + #end // end for } // } #end diff --git a/hexabenz.pov b/hexabenz.pov index 2e32df5..a7da8c7 100644 --- a/hexabenz.pov +++ b/hexabenz.pov @@ -17,8 +17,8 @@ #local K = 1.48; -object { HexaBenz () rotate y*90 translate <-K, 1.2, 0> } -object { HexaBenz () translate < K, 1.2, 0> } +object { HexaBenz () rotate y*90 translate <-K, 1.85, 0> } +object { HexaBenz () translate < K, 1.67, 0> } // ======================================================= @@ -30,8 +30,8 @@ object { Le_Decor } // object { Repere scale 2 } camera { - location <-1.9+(8*NormClock), 0.70, 7.59-NormClock> - look_at <0.37, 0.9, 0> + location <-1.9+(8*NormClock), 0.90, 7.59-NormClock> + look_at <0.37, 1.37, 0> // focal_point <0.37, 0.0, 0> // aperture 0.046 // blur_samples 30 diff --git a/hexacone.pov b/hexacone.pov index bd0e680..c3927d7 100644 --- a/hexacone.pov +++ b/hexacone.pov @@ -19,8 +19,8 @@ union { } #local K = 1.48; -object { Cone_Repere rotate y*90 translate <-K, 1.2, 0> } -object { Cone_Repere translate < K, 1.1, 0> } +object { Cone_Repere rotate y*90 translate <-K, 1.7, 1> } +object { Cone_Repere translate < K, 1.6, 1> } object { Le_Decor } @@ -33,7 +33,7 @@ light_source { <19, 9, -14>, rgb <0.87, 0.79, 0.70> } camera { location <-1.9+(8*NormClock), 0.70, 7.59-NormClock> - look_at <0.37, 0.70, 0> + look_at <0.37, 1.25, 0> // focal_point <0.37, 0.90, 0> // aperture 0.046 // blur_samples 30 diff --git a/orbite.pov b/orbite.pov index 45a735a..3759f98 100644 --- a/orbite.pov +++ b/orbite.pov @@ -28,7 +28,7 @@ difference { box { <-BN, -BN, -HC>, } } texture { - pigment { color rgb <0.20, 0.40, 0.10> } + pigment { color rgb <0.20, 0.30, 0.10> } finish { reflection 0.15 } } } @@ -37,7 +37,7 @@ texture { { sphere { 0, R_planete } texture { - pigment { rgb <0.70, 0.50, 0.70> } + pigment { rgb <0.40, 0.50, 0.70> } finish { reflection 0.15 } } } @@ -52,19 +52,19 @@ union { // ======================================================= #local RO = 4.15; -#local CK = NormClock * 22.64; +#local CK = NormClock * 13.37; #declare PosX = RO * sin(CK); #declare PosY = 0; #declare PosZ = RO * cos(CK); object { HexaBenz () - rotate -y*CK*6.333 translate + rotate -y*CK*12.333 translate } #declare PosX = RO * sin(CK+2.12); #declare PosY = 0; #declare PosZ = RO * cos(CK+2.23); object { HexaCone () - rotate y*CK*5.222 translate + rotate y*CK*14.222 translate } object { Planete rotate (-clock*0.21)*y } diff --git a/passage.pov b/passage.pov index c5e1fb8..e06d42e 100644 --- a/passage.pov +++ b/passage.pov @@ -20,7 +20,7 @@ object { Le_Decor } #declare PosX = 1.55; -#declare PosY = 1.90 + (NormClock*0.28); +#declare PosY = 2.10 + (NormClock*0.28); #declare PosZ = (NormClock-0.5) * 53.27; object { HexaBenz () translate } diff --git a/remote.pov b/remote.pov index 606196e..e78d31a 100644 --- a/remote.pov +++ b/remote.pov @@ -17,6 +17,11 @@ object { Le_Decor } +#declare A = <-SzSol, 16, -8>; +#declare B = ; +#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 () translate <-4, 2, -5> } diff --git a/scene.pov b/scene.pov index ee1ff27..c944fee 100644 --- a/scene.pov +++ b/scene.pov @@ -7,11 +7,6 @@ #include "globals.inc" -#include "colors.inc" -#include "metals.inc" -#include "textures.inc" - -#declare NormClock = clock / 360.0; #include "contexte.inc" #include "elements.inc" #include "hexabenz.inc" @@ -19,18 +14,18 @@ object { Le_Decor } object { HexaCone () - rotate < 3, 0, -4> rotate y*17 translate y*1.11 } + 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.22; +#declare Dcam = 2.42; #declare CamX = Dcam * sin(radians(CK)); #declare CamZ = Dcam * 1.20 * cos(radians(CK)); -#declare CamZ = CamZ - 0.11; +#declare CamZ = CamZ - 0.11; // why ? -#declare Lat = <0.03, 1.08, 0.17>; +#declare Lat = <0.03, 1.18, 0.17>; camera { location look_at Lat diff --git a/survol.pov b/survol.pov index 2f1095f..119ad11 100644 --- a/survol.pov +++ b/survol.pov @@ -13,6 +13,11 @@ // ======================================================= +#declare A = <-SzSol, 16, -8>; +#declare B = ; +#declare P = Interpolate(A, B, NormClock); +object { HexaCone () rotate y*((6*NormClock)+80) translate P } + object { Le_Decor } // ======================================================= @@ -22,7 +27,7 @@ object { Le_Decor } #declare Pos = Cos_01(NormClock); #declare PosCam = Interpolate(Debut, Fin, Pos); -#declare LatCam = PosCam + <-1, -20, -9>; +#declare LatCam = PosCam + <-1, -20, -(NormClock+9)>; camera { location PosCam diff --git a/tools/fonctions.sh b/tools/fonctions.sh index 098a20d..415c443 100644 --- a/tools/fonctions.sh +++ b/tools/fonctions.sh @@ -5,7 +5,8 @@ set -eu visual_sleep () { for foo in $(seq 0 $1) ; do - printf '*' + local bar=$(( $1 - foo )) + printf "%4d" $bar sleep 1 done echo diff --git a/tools/linkfarmer.sh b/tools/linkfarmer.sh index f35c239..bd2a259 100755 --- a/tools/linkfarmer.sh +++ b/tools/linkfarmer.sh @@ -72,7 +72,7 @@ faire_le_titre () { echo "faire le titre" -local NBRE=280 +local NBRE=320 local SRC="frames/passage/00099.png" local GRAY="/dev/shm/tmp-titre.png" @@ -84,7 +84,7 @@ do convert ${GRAY} \ -gravity north \ -font $FONTE \ - -pointsize 146 \ + -pointsize 140 \ -kerning 6 \ -fill $TEXTCOL \ -strokewidth 3 -stroke $STROKOL \ @@ -122,7 +122,7 @@ do -pointsize 48 \ -strokewidth 1 \ -gravity south \ - -annotate +0+140 "${datetime}" \ + -annotate +0+110 "${datetime}" \ ${TMP} # identify ${TMP} copy_a_file ${TMP} diff --git a/tools/mkloop.sh b/tools/mkloop.sh index b6a3508..3d73591 100755 --- a/tools/mkloop.sh +++ b/tools/mkloop.sh @@ -10,7 +10,7 @@ SEQNAME="$1" echo "Running $0 $SEQNAME" >> WS/log DIMS="-W$Img_Width -H$Img_Height" -POVOPT="+q9 +A -d ${DIMS} -WT6" +POVOPT="+q9 +A0.02 -d ${DIMS} -WT5" echo $POVOPT ; echo ; sleep 2 TMPIMG=/dev/shm/${SEQNAME}-tmp.png @@ -36,16 +36,18 @@ do -font Courier-Bold \ -pointsize 16 \ -fill ${TEXTCOL} \ - -gravity south \ - -annotate +0+5 "$txt" \ + -gravity south-west \ + -annotate +12+5 "$txt" \ ${img} fin=$(date +%s) echo - echo ${SEQNAME} $frame $(( fin - debut )) | \ - tee -a WS/mp4.timing - echo ; sleep 3 + printf "%-12s %4d %4d\n" \ + ${SEQNAME} $frame $(( fin-debut )) | \ + tee -a WS/mp4.timing + echo ; sleep 2 done +date --utc > WS/$SEQNAME.done echo ff_encodage $SEQNAME wip-${SEQNAME}.mp4 diff --git a/topview.pov b/topview.pov index ca7563c..d372282 100644 --- a/topview.pov +++ b/topview.pov @@ -13,8 +13,6 @@ object { Le_Decor } - - #declare TrX = 1.84 * sqrt(NormClock); #declare TrY = 0.90 + (3.5 * Cos_01(NormClock)); #declare TrZ = 9.999 * sqrt(NormClock); @@ -25,10 +23,10 @@ object { HexaCone () rotate y*RrY translate TrH } object { HexaCone () rotate z*9.1 translate <5, 3, -8> } object { HexaBenz () translate <-4, 2, -6> } -light_source { <-16, 17, -24>, rgb <0.51, 0.65, 0.40> } +// light_source { <-16, 17, -24>, rgb <0.51, 0.65, 0.40> } // object { Repere scale 2 } -#declare CamY = 31 + (9.999*NormClock); +#declare CamY = 31 + (12.11*Cos_01(NormClock)); #declare LatY = -3 + NormClock; camera {