Compare commits

..

10 Commits

Author SHA1 Message Date
Tonton Th
addd793fbc try a new yellow 2026-05-22 04:28:32 +02:00
Tonton Th
b5529645fd more bla 2026-05-09 13:30:54 +02:00
Tonton Th
884c19591b camera is going up 2026-05-05 04:28:37 +02:00
Tonton Th
e8126637fc hexapole light tuning 2026-05-05 04:27:15 +02:00
Tonton Th
751c02321b add a glowing light to the hexapoles 2026-04-29 09:27:45 +02:00
Tonton Th
5bd0af1ad2 ajust pseudo clock 2026-04-29 08:17:12 +02:00
Tonton Th
e47bd5680f hide a bad thing 2026-04-28 03:40:54 +02:00
Tonton Th
fabd442cfd tuninh horloge double 2026-04-25 13:43:43 +02:00
Tonton Th
15e8b7fb7c pimping HorlogeDouble 2026-04-25 00:34:25 +02:00
Tonton Th
6fc9de92c1 add a new texture 2026-04-24 22:25:12 +02:00
9 changed files with 60 additions and 30 deletions

View File

@@ -30,9 +30,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 D'un coté [`frames/<name>`](README.md) pour stocker les images
de chaque séquence et 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 :
``` ```
frames/ frames/
@@ -44,7 +44,7 @@ frames/
├── Spool ├── Spool
└── topview └── topview
``` ```
et de l'autre coté `./WS/` pour ranger les et de l'autre coté le repértoire `./WS/` pour ranger les
[fichiers de travail](./WS/README.md). [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
@@ -54,8 +54,8 @@ 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 séquences 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/the-hexacone-family.mp4),
générique et inter-titres. en ajoutant un générique et des inter-titres.
À vous de jouer maintenant : *« Fork & Enjoy »* À vous de jouer maintenant : *« Fork & Enjoy »*
@@ -63,7 +63,8 @@ générique et inter-titres.
* 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` ou `#povray` 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

19
TODO.md
View File

@@ -2,18 +2,24 @@
## Urgent ## Urgent
- finaliser le revamping du début de 2026. - Finaliser le revamping du début de 2026.
- On est début mai et ça
n'est pas vraiment fini. Coté lumière ça commence à me plaire...
- ... Mais il reste beaucoup de chose à faire sur les
[textures](globals.inc).
## 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. - Génération de sous titres automatisée ?
- Passer le `shellcheck` dans les [tools](tools/).
## Trucages ## Trucages
- Se remettre à (enfin) améliorer - Se remettre à (enfin) améliorer
[libtthimage](https://git.tetalab.org/tTh/libtthimage). [libtthimage](https://git.tetalab.org/tTh/libtthimage).
- Relire le livre de Brunus sur ImageMagick. - Relire le livre de Brunus sur ImageMagick *!*
- Envisager d'utiliser les outils de film-floutage
## Audio ## Audio
@@ -25,6 +31,7 @@
Il reste encore beaucoup de chemin à parcourir, mais la Il reste encore beaucoup de chemin à parcourir, mais la
route est bien plaisante. route est bien plaisante.
Je me permet néamoins de déplorer le peu de présence de Je me permet néammoins de déplorer le peu de présence de
[povistes](https://mastodon.tetaneutral.net/tags/Povray) dans [povistes](https://mastodon.tetaneutral.net/tags/Povray) dans
mon entourage. mon entourage virtuel. Même la mailing-list du Tetalab
ne réagit pas... Hibernation ou volonté délibérée ?

View File

@@ -40,7 +40,7 @@ object {
object { Les_Machins rotate -y*clock translate UnderHoles[2] } object { Les_Machins rotate -y*clock translate UnderHoles[2] }
object { Les_Machins rotate y*clock translate UnderHoles[5] } object { Les_Machins rotate y*clock translate UnderHoles[5] }
object { Les_HexaBalls rotate y*(clock*2.9) translate UnderHoles[4] } // object { Les_HexaBalls rotate y*(clock*2.9) translate UnderHoles[4] }
/// ======================================================= /// =======================================================
/* /*

View File

@@ -148,7 +148,7 @@ texture { T_WIP_bluewave scale 0.21 rotate <clock, clock/2, clock/3> }
text { text {
ttf "datas/dotmatrx.ttf" Texte 0.15, 0 ttf "datas/dotmatrx.ttf" Texte 0.15, 0
texture { tPlasticGreen } texture { T_GlowGreen }
} }
scale <1.76, 1.70, 1.76> scale <1.76, 1.70, 1.76>
rotate 90*x rotate 90*x
@@ -159,13 +159,17 @@ translate <-4.3, 0.046, 0>
#local Horloge2 = object #local Horloge2 = object
{ {
object { Horloge scale <1, 0.28, 1> rotate -x*90 object { Horloge scale <1, 0.28, 1> rotate -x*90
translate <0.802, 0.18, 0> } translate <0.912, 0.23, 0> }
} }
#declare HorlogeDouble = object #declare HorlogeDouble = object
{ {
union { union {
box { <-3.10, 0.0, -0.06>, <3.10, 1.68, 0.06> difference {
texture { LeGris } } box { <-3.10, 0.00, -0.16>, <3.10, 1.74, 0.16> }
box { <-3.06, 0.04, -0.04>, <3.06, 1.70, -1.00> }
box { <-3.06, 0.04, 0.04>, <3.06, 1.70, 1.00> }
texture { LeGris }
}
#local EC = 0.18; #local EC = 0.18;
object { Horloge2 rotate y*180 translate z*EC } object { Horloge2 rotate y*180 translate z*EC }
object { Horloge2 translate -z*EC } object { Horloge2 translate -z*EC }
@@ -204,17 +208,27 @@ prism {
#macro HexaPole_abatjour (Quux) #macro HexaPole_abatjour (Quux)
union { union {
#local Raj = 0.333; #local Raj = 0.333;
torus { Raj, 0.014 translate -y*Quux } torus { Raj, 0.013 translate -y*Quux }
#for (Foo, 0, 359, 18) #for (Foo, 0, 359, 18)
#local DX = Raj * sin(radians(Foo)); #local DX = Raj * sin(radians(Foo));
#local DZ = Raj * cos(radians(Foo)); #local DZ = Raj * cos(radians(Foo));
cylinder { -y*Quux, y*Quux, 0.010 translate <DX, 0, DZ> } cylinder { -y*Quux, y*Quux, 0.009 translate <DX, 0, DZ> }
#end // for #end // for
torus { Raj, 0.02 translate y*Quux } torus { Raj, 0.02 translate y*Quux }
rotate y*(clock*0.90*(rand(Rng1)-0.59)) rotate y*(clock*0.90*(rand(Rng1)-0.59))
} }
#end // macro #end // macro
#macro HexaPole_ampoule (V)
sphere {
0, 0.080
texture {
pigment { color rgb <1, 1, 1> }
finish { emission 0.8 diffuse 0.6 }
}
}
#end // macro
#macro HexaPole_mat_lampe (Height) #macro HexaPole_mat_lampe (Height)
union { union {
union { union {
@@ -225,18 +239,19 @@ union {
texture { LeGris } texture { LeGris }
} }
#local P = y*(Height+0.097); #local Pos = y*(Height+0.097);
#if (rand(Rng1) < 0.30) #if (rand(Rng1) < 0.333)
#local Val = 0.25 + 0.5*rand(Rng1); #local Val = 0.25 + 0.5*rand(Rng1);
light_source { light_source {
P rgb <0.80, 0.25+(0.5*rand(Rng1)), 0.99> Pos rgb <0.86, 0.25+(0.5*rand(Rng1)), 0.99>
fade_distance 3.30 fade_distance 3.30
fade_power 1.55 fade_power 1.55
looks_like { HexaPole_ampoule (0) }
} }
#else #else
sphere { sphere {
P, 0.080 Pos, 0.080
texture { C_Texture } texture { Y_Texture }
} }
#end // if #end // if
} }

View File

@@ -169,6 +169,14 @@ finish {
reflection { 0.21 metallic } reflection { 0.21 metallic }
} }
} }
/* ------------------------------------------------------------ */
/* new 24 avril 2026 */
#declare T_GlowGreen = texture
{
pigment{ srgb <0.10, 1.20, 0.10>}
finish { ambient 0.91 diffuse 0.6 specular 0 }
}
/* ------------------------------------------------------------ */ /* ------------------------------------------------------------ */
/* /*

View File

@@ -17,7 +17,7 @@ object { Le_Decor }
// object { Repere translate <10, 1, 10> } // object { Repere translate <10, 1, 10> }
#declare LOC = <-3.4 - NormClock, 4.57, 31.9-NormClock>; #declare LOC = <-3.7, 5.84+NormClock, 31.9-NormClock>;
#declare LAT = <P_hexawood.x, 0.95+(NormClock*0.11), P_hexawood.z>; #declare LAT = <P_hexawood.x, 0.95+(NormClock*0.11), P_hexawood.z>;

View File

@@ -16,7 +16,7 @@ object { Le_Decor }
// ======================================================= // =======================================================
#declare CK = 1.97 + (2.72 * Cos_01(NormClock)); #declare CK = 1.97 + (2.42 * Cos_01(NormClock));
#declare CamX = 1.72; #declare CamX = 1.72;
#declare CamY = 7 + (4*Cos_01(NormClock)); #declare CamY = 7 + (4*Cos_01(NormClock));

View File

@@ -6,7 +6,7 @@ The page for « Build system and utilities ».
Un argument pour construire la séquence entière ou deux pour démarrer au Un argument pour construire la séquence entière ou deux pour démarrer au
milieu, c'est parfois pratique quand le disjoncteur fait un *beu-beu* en milieu, c'est parfois pratique quand le disjoncteur fait un *beu-beu* en
plein milieu. Exemples : plein milieu du batch. Exemples :
``` ```
$ tools/mkloop.sh survol $ tools/mkloop.sh survol
@@ -48,7 +48,6 @@ intertitres.
``` ```
$ tools/plot-timing.sh essai && d timing.png $ tools/plot-timing.sh essai && d timing.png
``` ```
Cette commande utilise le fichier `log/mp4.timing`, lequel est généré Cette commande utilise le fichier `log/mp4.timing`, lequel est généré
par le script de création de séquence vu plus haut. par le script de création de séquence vu plus haut.

View File

@@ -4,7 +4,7 @@ Img_Width=1152
Img_Height=720 Img_Height=720
# for imagemagick # for imagemagick
TEXTCOL="Yellow" TEXTCOL="Yellow3"
STROKOL="Green" STROKOL="Green"
NBFRAMES=480 NBFRAMES=480