Compare commits

..

5 Commits

Author SHA1 Message Date
Tonton Th
243490996f slow down render for // builds 2026-01-11 13:49:18 +01:00
Tonton Th
5ae1cd149c small changes to the cam 2026-01-11 13:02:05 +01:00
Tonton Th
32eb08a0c1 typographic consmetic changes 2026-01-11 12:48:15 +01:00
Tonton Th
80044acb4c a little more doc 2026-01-11 12:22:21 +01:00
Tonton Th
6350c799db tuning 2026-01-09 20:28:50 +01:00
7 changed files with 39 additions and 28 deletions

View File

@ -29,7 +29,9 @@ produites par un [script shell](./mkloop.sh).
Avant toute chose, vous devrez vérifier la présence de plusieurs Avant toute chose, vous devrez vérifier la présence de plusieurs
répertoires : répertoires :
d'un coté `./frames/<name>` pour stocker les images calculées et
D'un coté `./frames/<name>` pour stocker les images calculées
de chaque séquence et
./frames/Spool` pour l'assemblage de la vidéo intégrale : ./frames/Spool` pour l'assemblage de la vidéo intégrale :
``` ```
@ -42,7 +44,8 @@ frames/
├── Spool ├── Spool
└── topview └── topview
``` ```
et de l'autre coté `./WS/` pour ranger les fichiers de travail. et de l'autre coté `./WS/` pour ranger les
[fichiers de travail](./WS/README.md).
Ensuite, il faut assembler toutes ces images calculées en une vidéo Ensuite, il faut assembler toutes ces images calculées en une vidéo
de qualité (ce que fait je très empiriquement). Tout d'abord, on encode de qualité (ce que fait je très empiriquement). Tout d'abord, on encode
@ -50,21 +53,21 @@ de qualité (ce que fait je très empiriquement). Tout d'abord, on encode
pour les mettre dans le grand Ternet mondial à partir de mon pour les mettre dans le grand Ternet mondial à partir de mon
[ADSL](http://maison.tth.netlib.re/pov/hexacone.html) de campagne. [ADSL](http://maison.tth.netlib.re/pov/hexacone.html) de campagne.
Ensuite, un autre [script](./tools/linkfarmer.sh) assemble toute Ensuite, un autre [script](./tools/linkfarmer.sh) assemble toute
les sequences dans le produit les séquences dans le produit
[final](http://maison.tth.netlib.re/v/hc/full.mp4), en ajoutant [final](http://maison.tth.netlib.re/v/hc/full.mp4), en ajoutant
générique et inter-titres. générique et inter-titres.
À vous de jouer maintenant. À vous de jouer maintenant : *« Fork & Enjoy »*
## Contact ## Contact
* La [mailing-list du tetalab](https://lists.tetalab.org/postorius/lists/tetalab.tetalab.org/) ; * La [mailing-list du tetalab](https://lists.tetalab.org/postorius/lists/tetalab.tetalab.org/) ;
* Par IRC, canal `#tetalab` sur le réseau de [Libera](https://libera.chat/). * Par IRC, canal `#tetalab` ou `#povray` sur le réseau de [Libera](https://libera.chat/).
* Dans [Mastodon](https://mastodon.tetaneutral.net/@tth) et [Peertube](https://tube.interhacker.space/c/tth_channel/videos) * Dans [Mastodon](https://mastodon.tetaneutral.net/@tth) et [Peertube](https://tube.interhacker.space/c/tth_channel/videos)
## La suite ## La suite
Des choses à faire : [TODO](TODO.md) list. Il reste bien des choses à faire : [TODO](TODO.md) list.
**Le gras c'est la vie** (proverbe local) **Le gras c'est la vie** (proverbe local)

12
TODO.md
View File

@ -7,17 +7,23 @@
## Outils ## Outils
- automatiser la création des répertoires dans `frames/` - automatiser la création des répertoires dans `frames/`
- Génération de sous titres automatisée.
## Trucages ## Trucages
- Se remettre à bosser sur [libtthimage](https://git.tetalab.org/tTh/libtthimage). - Se remettre à (enfin) améliorer
[libtthimage](https://git.tetalab.org/tTh/libtthimage).
- Relire le livre de Brunus sur ImageMagick.
## Audio ## Audio
- Songer à un cadriciel pour la piste son. - Songer à un cadriciel pour la piste son.
- Trouver un compositeur et les musiciens.
## ... en bref ... ## ... en bref ...
Il reste encore beaucoup de chemin à parcourir, mais la Il reste encore beaucoup de chemin à parcourir, mais la
route est bien plaisante. Je me permet néamoins de déplorer route est bien plaisante.
le peu de présence de povistes dans mon entourage. Je me permet néamoins de déplorer le peu de présence de
[povistes](https://mastodon.tetaneutral.net/tags/Povray) dans
mon entourage.

View File

@ -12,16 +12,18 @@
#declare PosX = 3.95; #declare PosX = 3.95;
#declare PosY = 3.80 + (NormClock*0.299); #declare PosY = 3.80 + (NormClock*0.299);
#declare PosZ = (NormClock-0.5) * 44.27; #declare PosZ = (NormClock-0.5) * 45.27;
object { HexaCone () translate <PosX, PosY, PosZ> } object { HexaCone () translate <PosX, PosY, PosZ> }
/* XXX this two object in dynamic.inc ??? */
object { HexaCone () translate <PosX+2.96, PosY+3.22, PosZ-19.5> } object { HexaCone () translate <PosX+2.96, PosY+3.22, PosZ-19.5> }
object { HexaBenz () translate <PosX-1.96, PosY+2.82, PosZ-17.5> } object { HexaBenz () translate <PosX-1.96, PosY+2.82, PosZ-17.5> }
object { Le_Decor } object { Le_Decor }
#if ( (clock < 141) ) #if ( (clock < 181) )
light_source { light_source {
<3, 0.30, -8> color Blue <3, 0.30, -8> color Blue
spotlight spotlight
@ -32,14 +34,14 @@ light_source {
} }
#end #end
#if ( (clock > 230) & (clock < 300) ) #if ( (clock > 230) & (clock < 340) )
light_source { light_source {
<2, 0.30, -2> color Green <2, 0.30, -2> color Green
spotlight spotlight
radius .044 radius .044
falloff 2 falloff 2
tightness 3 tightness 3
point_at <PosX, PosY-0.30, PosZ> point_at <PosX, PosY-0.20, PosZ>
} }
#end #end

View File

@ -33,8 +33,8 @@ object { Le_Decor }
// object { Repere scale 3 translate <SzSol, 2, SzSol> } // object { Repere scale 3 translate <SzSol, 2, SzSol> }
#local DistCam = 380; #local DistCam = 390;
#local CK = -1.101 - (0.072 * NormClock); #local CK = -1.101 - (0.051 * NormClock);
#declare CamX = DistCam * sin(CK); #declare CamX = DistCam * sin(CK);
#declare CamY = 28; #declare CamY = 28;
#declare CamZ = DistCam * cos(CK); #declare CamZ = DistCam * cos(CK);

View File

@ -4,7 +4,7 @@ Img_Width=1024
Img_Height=720 Img_Height=720
# for imagemagick # for imagemagick
TEXTCOL="bisque" TEXTCOL="Yellow"
STROKOL="Green" STROKOL="Green"
NBFRAMES=450 NBFRAMES=450

View File

@ -36,7 +36,7 @@ SRC="frames/$1"
local INTER="/dev/shm/tmp-intertitre.png" local INTER="/dev/shm/tmp-intertitre.png"
tools/plot-timing.sh $1 tools/plot-timing.sh $1
local NBRE=48 local NBRE=55
convert "WS/negatif.png" \ convert "WS/negatif.png" \
-gravity north \ -gravity north \
@ -77,10 +77,10 @@ faire_le_titre ()
echo "faire le titre" echo "faire le titre"
local NBRE=300 local NBRE=300
local SRC="frames/hexawood/00199.png" local SRC="frames/hexacone/00199.png"
local GRAY="/dev/shm/tmp-titre.png" local GRAY="/dev/shm/tmp-titre.png"
convert -colorspace gray -colors 27 $SRC $GRAY convert -colorspace gray -colors 23 $SRC $GRAY
for foo in $(seq 0 $NBRE) for foo in $(seq 0 $NBRE)
do do
@ -91,7 +91,7 @@ do
-pointsize 140 \ -pointsize 140 \
-kerning 6 \ -kerning 6 \
-fill $TEXTCOL \ -fill $TEXTCOL \
-strokewidth 3 -stroke $STROKOL \ -strokewidth 5 -stroke $STROKOL \
-annotate +0+${Ypos} "La famille\nHexaCone" \ -annotate +0+${Ypos} "La famille\nHexaCone" \
${TMP} ${TMP}
# identify ${TMP} # identify ${TMP}
@ -104,10 +104,10 @@ echo
faire_la_fin () faire_la_fin ()
{ {
local NBRE=160 local NBRE=160
datetime=$(LANG=fr date -u +"%Y/%m/%d %H:%M") datetime=$(LANG=fr date -u +"%Y/%m/%d %H:%M")
echo $datetime | tee -a WS/log echo " $datetime" | tee -a WS/log
local SRC="frames/escadrille/00299.png" local SRC="frames/escadrille/00399.png"
local GRAY="/dev/shm/tmp-titre.png" local GRAY="/dev/shm/tmp-titre.png"
convert -colorspace gray -colors 23 $SRC $GRAY convert -colorspace gray -colors 23 $SRC $GRAY
@ -117,8 +117,8 @@ do
convert ${GRAY} \ convert ${GRAY} \
-gravity north \ -gravity north \
-font $FONTE \ -font $FONTE \
-pointsize 86 \ -pointsize 92 \
-kerning 6 \ -kerning 5 \
-fill $TEXTCOL \ -fill $TEXTCOL \
-strokewidth 2 -stroke $STROKOL \ -strokewidth 2 -stroke $STROKOL \
-annotate +0+${Ypos} \ -annotate +0+${Ypos} \

View File

@ -17,7 +17,7 @@ echo "$0 $SEQNAME from $START" >> WS/log
DIMS="-W$Img_Width -H$Img_Height" DIMS="-W$Img_Width -H$Img_Height"
NBFR=" Declare=NbFrames=$NBFRAMES " NBFR=" Declare=NbFrames=$NBFRAMES "
POVOPT="+q9 +A0.02 -d ${DIMS} ${NBFR} -WT7" POVOPT="+q9 +A0.02 -d ${DIMS} ${NBFR} -WT5"
echo $NBFR "frames." echo $NBFR "frames."
echo $POVOPT ; echo ; sleep 2 echo $POVOPT ; echo ; sleep 2
@ -45,8 +45,8 @@ do
# echo $frame $img $txt # echo $frame $img $txt
convert ${TMPIMG} \ convert ${TMPIMG} \
-font Courier-Bold \ -font Courier-Bold \
-pointsize 38 \ -pointsize 44 \
-kerning 4 \ -kerning 3 \
-fill ${TEXTCOL} \ -fill ${TEXTCOL} \
-strokewidth 2 -stroke $STROKOL \ -strokewidth 2 -stroke $STROKOL \
-gravity north \ -gravity north \