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
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 :
```
@ -42,7 +44,8 @@ frames/
├── Spool
└── 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
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
[ADSL](http://maison.tth.netlib.re/pov/hexacone.html) de campagne.
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
générique et inter-titres.
À vous de jouer maintenant.
À vous de jouer maintenant : *« Fork & Enjoy »*
## Contact
* 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)
## 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)

12
TODO.md
View File

@ -7,17 +7,23 @@
## Outils
- automatiser la création des répertoires dans `frames/`
- Génération de sous titres automatisée.
## 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
- Songer à un cadriciel pour la piste son.
- Trouver un compositeur et les musiciens.
## ... en bref ...
Il reste encore beaucoup de chemin à parcourir, mais la
route est bien plaisante. Je me permet néamoins de déplorer
le peu de présence de povistes dans mon entourage.
route est bien plaisante.
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 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> }
/* XXX this two object in dynamic.inc ??? */
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 { Le_Decor }
#if ( (clock < 141) )
#if ( (clock < 181) )
light_source {
<3, 0.30, -8> color Blue
spotlight
@ -32,14 +34,14 @@ light_source {
}
#end
#if ( (clock > 230) & (clock < 300) )
#if ( (clock > 230) & (clock < 340) )
light_source {
<2, 0.30, -2> color Green
spotlight
radius .044
falloff 2
tightness 3
point_at <PosX, PosY-0.30, PosZ>
point_at <PosX, PosY-0.20, PosZ>
}
#end

View File

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

View File

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

View File

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

View File

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