Compare commits
5 Commits
fb126ec1b0
...
243490996f
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
243490996f | ||
|
|
5ae1cd149c | ||
|
|
32eb08a0c1 | ||
|
|
80044acb4c | ||
|
|
6350c799db |
15
README.md
15
README.md
@ -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
12
TODO.md
@ -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.
|
||||||
10
passage.pov
10
passage.pov
@ -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
|
||||||
|
|
||||||
|
|||||||
@ -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);
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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} \
|
||||||
|
|||||||
@ -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 \
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user