Compare commits

..

7 Commits

Author SHA1 Message Date
Tonton Th
22be42d86e reworking the build system 2025-01-15 22:13:42 +01:00
Tonton Th
6828b25402 this is the eternall wip 2025-01-15 21:34:15 +01:00
Tonton Th
a290042ee9 parameters tweaking 2025-01-15 21:30:44 +01:00
Tonton Th
d8de01a0ae small tuning 2025-01-15 21:30:03 +01:00
Tonton Th
f8f3dcd85e increase phy of blinkenlight 2025-01-15 21:29:11 +01:00
Tonton Th
f8fa077655 tuning prises de vues 2025-01-15 14:01:02 +01:00
Tonton Th
8b3126cd78 moved a constant to globals 2025-01-14 09:06:51 +01:00
15 changed files with 109 additions and 83 deletions

View File

@@ -62,8 +62,6 @@ blob {
// =======================================================
#declare SzSol = 26;
#declare Le_Sol = object
{
height_field {

View File

@@ -40,7 +40,7 @@ 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) + (2*rand(Rng1)) );
#local Value = sin( (NormClock * 26.536) + (3.14*rand(Rng1)) );
#if (Value < 0)
#local Couleur = rgb <abs(Value), 0, 0>;
#else

View File

@@ -41,12 +41,12 @@ light_source { < 11, 7, 4>, rgb <NormClock, 0.48, 0.80> }
// object { Repere scale 5 }
#local CamX = -8.7+(2.6*NormClock);
#local CamY = -5+(6.9*Cos_01(NormClock));
#local CamX = -8.7+(6.6*NormClock);
#local CamY = -5+(11.9*Cos_01(NormClock));
#local CamZ = 15.06+(2.9*Cos_010(NormClock));
camera {
location <CamX, CamY, CamZ>
look_at <0.0, 0.0, 0>
angle 48 - (3.57 * NormClock)
angle 53 - (3.57 * NormClock)
}

View File

@@ -74,7 +74,7 @@ union {
#declare Les_Machins = object
{
union {
#local Rk = 4.15;
#local Rk = 4.95;
#for (foo, 0, 360, 15)
#local Xpos = Rk * sin(radians(foo));
#local Zpos = Rk * cos(radians(foo));
@@ -100,10 +100,10 @@ object { Le_Sol }
// 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 = -12.7 + (4.8*NormClock);
#local CamY = 8.81 + (11*sqrt(NormClock));
#local CamX = -12.7 + (5.8*NormClock);
#local CamY = 8.81 + (14*sqrt(NormClock));
camera {
location <CamX, CamY, 9.99>
look_at <0, 0, 0>
angle 42
angle 42 + 8*Cos_01(NormClock)
}

View File

@@ -1,7 +1,7 @@
global_settings {
assumed_gamma 1.0
ambient_light rgb <0.23, 0.23, 0.21>
ambient_light rgb <0.18, 0.18, 0.21>
max_trace_level 15
}
@@ -22,9 +22,14 @@ global_settings {
* Some constants...
*/
#declare SzSol = 30;
#declare R_basecone = 0.117;
#declare H_cone = 0.97;
#declare R_gyro = 0.10;
#declare H_gyro = 1.20;
/* ------------------------------------------------------------ */
/*
* Usefull macros

View File

@@ -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.1> translate -0.02*y }
sphere { 0, RA*1.098 scale <1, 0.62, 3.03> translate -0.02*y }
}
// }
#end
@@ -18,7 +18,7 @@ union {
// {
union {
#for (foo, 0, 360, 60)
#local E = 0.40;
#local E = 0.38;
#local Tx = E * sin(radians(foo));
#local Ty = E * cos(radians(foo));
object {
@@ -38,14 +38,14 @@ union {
// ------------------------------------------------------
#local RT = 0.21;
#local LT = 0.54;
#local R_Tube = 0.20;
#local L_Tube = 0.54;
#declare Benz_Tubules = object
{
merge {
#local E = 0.167;
#local R = 0.010;
#local E = R_Tube * 0.0910;
#local R = 0.01;
#for (foo, 0, 360, 20)
#local Tx = E * sin(radians(foo));
#local Ty = E * cos(radians(foo));
@@ -66,13 +66,13 @@ merge {
#declare Benz_Fuseau = object
{
difference {
sphere { 0, RT*0.39 }
sphere { 0, RT*0.37 }
cylinder { <-1, 0, -1>, < 1, 0, 1>, RT*0.21 }
cylinder { < 1, 0, -1>, <-1, 0, 1>, RT*0.21 }
sphere { 0, R_Tube*0.39 }
sphere { 0, R_Tube*0.37 }
cylinder { <-1, 0, -1>, < 1, 0, 1>, R_Tube*0.21 }
cylinder { < 1, 0, -1>, <-1, 0, 1>, R_Tube*0.21 }
}
scale <1, 1, 4.4>
texture { Gold_Nugget scale 0.56 }
texture { Shadow_Clouds scale 0.56 }
}
#declare Benz_Fuseau_Flash = object
@@ -93,11 +93,14 @@ rotate -z*clock*6
{
difference {
union {
cylinder { z*LT*1.5, -z*LT, RT }
sphere { z*LT*1.4, RT*0.72 scale <1, 0.73, 1>
translate y*RT*0.77}
cylinder { z*L_Tube*1.5, -z*L_Tube, R_Tube }
/* cette sphere devrait devenir
un vrai cockpit ? */
sphere { z*L_Tube*1.18, R_Tube*0.72
scale <1, 0.73, 1>
translate y*R_Tube*0.87}
}
cylinder { z*4, -z*4, RT*0.95 }
cylinder { z*4, -z*4, R_Tube*0.95 }
}
texture { Soft_Silver scale 6.0 }
}

View File

@@ -16,9 +16,17 @@
#include "hexabenz.inc"
#declare Cone_Repere = object
{
union {
object { HexaCone () }
object { Repere translate <-0.4, -0.2, -0.5> }
}
}
#local K = 1.48;
object { HexaCone () rotate y*90 translate -x*K }
object { HexaCone () translate x*K }
object { Cone_Repere rotate y*90 translate -x*K }
object { Cone_Repere translate x*K }
// =======================================================
@@ -33,6 +41,6 @@ camera {
focal_point <0.37, 0.0, 0>
aperture 0.046
blur_samples 30
angle 60 - 28 * Cos_01(NormClock)
angle 55 - 28 * Cos_01(NormClock)
}

View File

@@ -11,7 +11,7 @@
#include "hexabenz.inc"
// =======================================================
#declare R_planete = 1.72;
#declare R_planete = 1.42;
#declare Croute = object
{

View File

@@ -20,12 +20,12 @@
object { Le_Decor }
#declare PosX = 0.333;
#declare PosY = 1.20 + (NormClock*0.24);
#declare PosY = 1.10 + (NormClock*0.24);
#declare PosZ = (NormClock-0.5) * 53.27;
object { HexaCone () translate <PosX, PosY, PosZ> }
object { HexaBenz () translate <PosX+1.96, PosY+1.42, PosZ-11.5> }
object { HexaBenz () translate <PosX-1.96, PosY+2.42, PosZ-17.5> }
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 {
@@ -51,7 +51,7 @@ light_source {
camera {
location <-1.76, 1.03, 9.76>
look_at <PosX, PosY, PosZ>
look_at <PosX+0.08, PosY, PosZ>
// focal_point <0, 1, 0>
// aperture 0.046
// blur_samples 30

View File

@@ -19,13 +19,13 @@
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.11 }
object { HexaBenz ()
rotate <6, 40, -7> translate <-12, 3, 11> }
rotate <6, 40, -7> translate <-8, 3, 7> }
#declare CK = 56 + (clock * 1);
#declare Dcam = 2.17;
#declare CK = 96 + (clock * 1);
#declare Dcam = 2.22;
#declare CamX = Dcam * sin(radians(CK));
#declare CamZ = Dcam * 1.20 * cos(radians(CK));
#declare CamZ = CamZ - 0.11;
@@ -37,7 +37,7 @@ camera {
focal_point Lat
aperture 0.046
blur_samples 30
angle 72
angle 70
}
/**

View File

@@ -2,7 +2,15 @@
set -eu
# --------------------------------------------------------------
#
visual_sleep ()
{
for foo in $(seq 0 $1) ; do
printf '*'
sleep 1
done
echo
}
# --------------------------------------------------------------
# un essai qui semble un echec.
#
ralentisseur ()
@@ -17,7 +25,6 @@ if [ $load -gt 10 ] ; then
sleep $attente
fi
}
# --------------------------------------------------------------
ff_encodage()

View File

@@ -6,8 +6,8 @@ IDX=0
SPOOL="frames/Spool"
SEQNAME="none"
TMP="WS/tmp.png"
FONTE="Palatino-Bold"
TEXTCOL="orange"
FONTE="Helvetica-Bold"
TEXTCOL="yellow"
STROKOL="darkblue"
source tools/fonctions.sh
@@ -17,7 +17,7 @@ source tools/fonctions.sh
# file to the spool dir, so
# you can use it for tmp pics.
#
addfile ()
copy_a_file ()
{
src="$1"
dstname=$(printf "%s/%05d.png" $SPOOL $IDX)
@@ -27,25 +27,33 @@ cp -f $src $dstname
IDX=$(( IDX + 1 ))
}
# -------------------------------------------------------
linkfarm ()
{
SRC="frames/$1"
echo "linkfarm $SRC" | tee -a WS/log
tools/plot-timing.sh $1
local NBRE=60
local NBRE=30
for foo in $(seq 0 $NBRE)
do
addfile "$SRC/00000.png"
copy_a_file "WS/negatif.png"
done
for foo in $(seq 0 $NBRE)
do
copy_a_file "$SRC/00000.png"
done
for src in "$SRC"/*
do
addfile $src
copy_a_file $src
done
for foo in $(seq 0 $NBRE)
do
addfile "$SRC/00359.png"
copy_a_file "$SRC/00359.png"
done
}
# -------------------------------------------------------
@@ -54,10 +62,15 @@ faire_le_titre ()
echo "faire le titre"
local NBRE=180
local SRC="frames/passage/00059.png"
local GRAY="/dev/shm/tmp-titre.png"
convert -colorspace gray -colors 27 $SRC $GRAY
for foo in $(seq 0 $NBRE)
do
Ypos=$(( 210 - ( foo / 3 ) ))
convert "WS/negatif.png" \
Ypos=$(( -175 + foo ))
convert ${GRAY} \
-gravity north \
-font $FONTE \
-pointsize 172 \
@@ -67,7 +80,7 @@ do
-annotate +0+${Ypos} "HexaCone" \
${TMP}
# identify ${TMP}
addfile ${TMP}
copy_a_file ${TMP}
printf "."
done
echo
@@ -75,13 +88,13 @@ echo
# -------------------------------------------------------
faire_la_fin ()
{
local NBRE=150
datetime=$(LANG=fr date -u +"%Y/%M/%D")
local NBRE=180
datetime=$(LANG=fr date -u +"%Y/%m/%d")
echo $datetime | tee -a WS/log
for foo in $(seq 0 $NBRE)
do
Ypos=$(( foo + 100 ))
Ypos=$(( foo + 20 ))
convert "WS/negatif.png" \
-gravity north \
-font $FONTE \
@@ -89,14 +102,15 @@ do
-kerning 6 \
-fill $TEXTCOL \
-strokewidth 2 -stroke $STROKOL \
-annotate +0+${Ypos} "tTh des Bourtoulots" \
-annotate +0+${Ypos} \
"un film de\ntTh des Bourtoulots" \
-pointsize 48 \
-strokewidth 1 \
-gravity south \
-annotate +0+270 "${datetime}" \
-annotate +0+170 "${datetime}" \
${TMP}
# identify ${TMP}
addfile ${TMP}
copy_a_file ${TMP}
printf "."
done
echo
@@ -107,10 +121,11 @@ figlet "Link farmer"
rm -f frames/Spool/*.png
tools/plot-timing.sh
# tools/plot-timing.sh
faire_le_titre
linkfarm hexabenz
linkfarm hexacone
linkfarm escadrille
linkfarm topview
linkfarm passage
@@ -124,7 +139,8 @@ faire_la_fin
ff_encodage Spool full.mp4
echo "linkfarmed $IDX files" | tee -a WS/log
nb=$(( $IDX - 1 ))
echo "linkfarmed $nb files" | tee -a WS/log

View File

@@ -3,27 +3,20 @@
set -e ; set -u
source tools/fonctions.sh
TYPE="mp4"
SEQNAME="$1"
NBFRAMES=360
case $TYPE in
"gif89a") DIMS="-W640 -H480" ;;
"mp4") DIMS="-W1024 -H768" ;;
esac
echo "Running $0 $TYPE $SEQNAME" >> WS/log
echo "Running $0 $SEQNAME" >> WS/log
POVOPT="+q9 +a0.01 -d ${DIMS} -WT6"
DIMS="-W1024 -H768"
POVOPT="+q9 -a -d ${DIMS} -WT6"
echo $POVOPT ; echo ; sleep 2
TMPIMG=/dev/shm/${SEQNAME}-tmp.png
for frame in $(seq 0 $((NBFRAMES-1)))
do
# figlet -k $frame ; sleep 1
# ralentisseur 20 ; echo "go"
img=$(printf "frames/%s/%05d.png" $SEQNAME $frame)
debut=$(date +%s)
@@ -33,7 +26,7 @@ do
if [ $err != 0 ] ; then
echo "$SEQNAME fail $frame" >> WS/log
mogrify -colorspace gray $img
sleep 6
visual_sleep 12
continue
fi
set -e
@@ -47,7 +40,7 @@ do
-annotate +0+5 "$txt" \
${img}
fin=$(date +%s)
echo ; sleep 1
echo
echo ${SEQNAME} $frame $(( fin - debut )) | \
tee -a WS/mp4.timing
echo ; sleep 3
@@ -55,11 +48,7 @@ done
echo
case $TYPE in
"gif89a") convert -delay 8 -dither none \
-colors 102 frames/* foo.gif ;;
"mp4") ff_encodage $SEQNAME wip-${SEQNAME}.mp4 ;;
esac
ff_encodage $SEQNAME wip-${SEQNAME}.mp4
echo "+------- build of $SEQNAME done"

View File

@@ -5,9 +5,6 @@ set -ue
TMPFILE="/dev/shm/plot-timing.tmp"
IMAGE="timing.png"
echo ; figlet "plot timing" ; echo
wc WS/mp4.timing | tee -a WS/log
if [ $# == 1 ]
then
sequence=$1
@@ -15,7 +12,10 @@ else
sequence="escadrille"
fi
grep $sequence WS/mp4.timing | tail -3600 | awk ' \
echo "plot timing $sequence" | tee -a WS/log
# wc WS/mp4.timing | tee -a WS/log
grep $sequence WS/mp4.timing | tail -3600 | awk ' \
BEGIN { \
nbrames=360; \
for (foo=0; foo<nbrames; foo++) { \

View File

@@ -19,11 +19,11 @@ object { Le_Decor }
#declare TrX = 1.34 * sqrt(NormClock);
#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 = 57 * sqrt(NormClock);
#declare RrY = 97 * sqrt(NormClock);
object { HexaCone () rotate y*RrY translate TrH }
object { HexaCone () rotate z*9.1 translate <5, 3, -8> }