Compare commits

..

7 Commits

Author SHA1 Message Date
Tonton Th
4149fa6cc1 randomize des poteaux 2026-06-29 15:59:11 +02:00
Tonton Th
1e11d7316e add a door to the station 2026-06-29 15:58:02 +02:00
Tonton Th
5f45012538 union -> merge 2026-06-29 15:57:27 +02:00
Tonton Th
9414cefdeb ignore vidz 2026-06-29 15:56:38 +02:00
Tonton Th
35f30b7e39 cosmetic 2026-06-27 23:01:40 +02:00
Tonton Th
42995bcad9 oupsy, oupsa 2026-06-27 22:47:07 +02:00
Tonton Th
9d1ceee14b oups... 2026-06-19 13:09:35 +02:00
7 changed files with 57 additions and 60 deletions

1
.gitignore vendored
View File

@@ -3,6 +3,7 @@
tmp/*.png tmp/*.png
*.gif *.gif
*.swp *.swp
*.mp4
*.pov-state *.pov-state
tmp/*.pov-state tmp/*.pov-state

View File

@@ -27,7 +27,7 @@ GLOBDEPS=${INCS}/train.inc ${INCS}/poteaux.inc \
${INCS}/instruments.inc ${INCS}/corail.inc \ ${INCS}/instruments.inc ${INCS}/corail.inc \
${INCS}/citerne.inc ${INCS}/benne.inc \ ${INCS}/citerne.inc ${INCS}/benne.inc \
${INCS}/constantes.inc ${INCS}/locomotive.inc \ ${INCS}/constantes.inc ${INCS}/locomotive.inc \
${INCS}/enseigne.inc \ ${INCS}/enseigne.inc ${INCS}/gare.inc \
picz/plancher.png picz/cadran.png \ picz/plancher.png picz/cadran.png \
contexte.inc monde.inc contexte.inc monde.inc

View File

@@ -32,7 +32,7 @@ texture {
#declare Cabine_Loco_Electric = object #declare Cabine_Loco_Electric = object
{ {
union { merge {
box { <-4, 4, -11>, <4, 10, 11> } box { <-4, 4, -11>, <4, 10, 11> }
cylinder { <-3, 10, -11>, <-3, 10, 11> 1 } cylinder { <-3, 10, -11>, <-3, 10, 11> 1 }
cylinder { < 3, 10, -11>, < 3, 10, 11> 1 } cylinder { < 3, 10, -11>, < 3, 10, 11> 1 }

View File

@@ -5,29 +5,38 @@
*/ */
#local H_quai = 110;
#local Decoupe_porte_gare = object
{
merge {
box { <-120, -1, -20>, <120, 240, 20> }
cylinder { <0, 0, -20>, <0, 0, 20>, 51
scale <1, 0.8, 1> translate y*230 }
}
}
#declare Corps_Gare = object #declare Corps_Gare = object
{ {
difference difference
{ {
box { <-600, 0, -200>, <600, 400, 200> } box { <-600, 0, -200>, <600, 400, 200> }
box { <-590, 0, -190>, <590, 390, 190> } box { <-590, 0, -190>, <590, 390, 190> }
#for (foo, -1, 3)
#declare foo = -3;
#while (foo <= 3)
#declare px = foo * 165; #declare px = foo * 165;
box { <px-42, 120, -222>, <px+42, 275, 222> } box { <px-42, 110, -222>, <px+42, 255, 222> }
#declare foo = foo + 1;
#end #end
object { Decoupe_porte_gare translate <-430, 0, -200> }
}
texture {
pigment { color White }
finish { phong 0.5 }
} }
pigment { color White }
finish { phong 0.5 }
translate y*100
} }
#declare Quai_Gare = object #declare Quai_Gare = object
{ {
box { <-700, 0, 220>, <700, 100, -420> } box { <-700, 0, 220>, <700, H_quai, -420> }
pigment { color White } pigment { color White }
finish { phong 0.4 } finish { phong 0.4 }
@@ -35,15 +44,13 @@ finish { phong 0.4 }
#include "incs/enseigne.inc" #include "incs/enseigne.inc"
#declare Gare = object #declare Gare = object
{ {
union union
{ {
object { Corps_Gare } object { Corps_Gare translate y*H_quai }
object { Quai_Gare } object { Quai_Gare }
object { Enseigne_Hello scale 15 translate <0, 460, -210> } object { Enseigne_Hello scale 15 translate <0, 465, -210> }
} }
} }

View File

@@ -2,7 +2,6 @@
instruments.inc instruments.inc
--------------- ---------------
*/ */
@@ -22,31 +21,26 @@
#declare Boitier_Cadran = object #declare Boitier_Cadran = object
{ {
union union {
{
cylinder { <0, 0, 1>, <0, 0, 0.2>, D_Cadran } cylinder { <0, 0, 1>, <0, 0, 0.2>, D_Cadran }
cylinder { <0, 0, .3>, <0, 0, .25>, D_Cadran+.05 } cylinder { <0, 0, .3>, <0, 0, .25>, D_Cadran+.05 }
difference difference {
{
cylinder { <0, 0, 1.2>, <0, 0, 0.9>, D_Cadran+0.05 } cylinder { <0, 0, 1.2>, <0, 0, 0.9>, D_Cadran+0.05 }
cylinder { <0, 0, 1.3>, <0, 0, 0.8>, D_Cadran-0.05 } cylinder { <0, 0, 1.3>, <0, 0, 0.8>, D_Cadran-0.05 }
} }
} }
texture { T_Chrome_2C } texture { T_Chrome_2C }
} }
/* voir le proggy 'make_cadran.f' */ /* voir le proggy 'make_cadran.f' */
#declare Fond_Cadran = object #declare Fond_Cadran = object
{ {
difference difference {
{
cylinder { <0, 0, 1.1>, <0, 0, 0.9>, D_Cadran } cylinder { <0, 0, 1.1>, <0, 0, 0.9>, D_Cadran }
cylinder { <0, 0, 1.2>, <0, 0, 0.8>, 0.06 } cylinder { <0, 0, 1.2>, <0, 0, 0.8>, 0.06 }
} }
pigment pigment {
{
image_map { png "picz/cadran.png" interpolate 2 } image_map { png "picz/cadran.png" interpolate 2 }
translate <-0.5, -0.5, 0> translate <-0.5, -0.5, 0>
scale <D_Cadran*2, D_Cadran*2, 1> scale <D_Cadran*2, D_Cadran*2, 1>
@@ -56,8 +50,7 @@ pigment
/* ----------------------------------------------------- instruments ------- */ /* ----------------------------------------------------- instruments ------- */
#declare Aiguille_0 = object #declare Aiguille_0 = object
{ {
union union {
{
// le pivot de l'aiguille // le pivot de l'aiguille
cylinder { <0, 0, 1.07>, <0, 0, 1.22>, 0.06 } cylinder { <0, 0, 1.07>, <0, 0, 1.22>, 0.06 }
@@ -72,8 +65,7 @@ texture { T_Copper_3C }
/* ----------------------------------------------------- instruments ------- */ /* ----------------------------------------------------- instruments ------- */
#declare Cadran_0 = object #declare Cadran_0 = object
{ {
union union {
{
object { Boitier_Cadran } object { Boitier_Cadran }
object { Fond_Cadran } object { Fond_Cadran }
object { Aiguille_0 } object { Aiguille_0 }
@@ -82,8 +74,7 @@ union
/* ----------------------------------------------------- instruments ------- */ /* ----------------------------------------------------- instruments ------- */
#declare Cadran_1 = object #declare Cadran_1 = object
{ {
union union {
{
object { Boitier_Cadran } object { Boitier_Cadran }
object { Fond_Cadran } object { Fond_Cadran }
object { Aiguille_0 } object { Aiguille_0 }
@@ -106,11 +97,8 @@ texture {
#declare Coque_Phare_0 = object #declare Coque_Phare_0 = object
{ {
union {
union difference {
{
difference
{
sphere { <0, 0, 0>, 1 } sphere { <0, 0, 0>, 1 }
sphere { <0, 0, 0>, .9 } sphere { <0, 0, 0>, .9 }
box { <-2, -2, 0>, <2, 2, 2> } box { <-2, -2, 0>, <2, 2, 2> }
@@ -123,8 +111,7 @@ texture { T_Chrome_2C }
#declare Vitre_Phare_0 = object #declare Vitre_Phare_0 = object
{ {
union union {
{
// cylinder { <0, 0, -.01>, <0, 0, .01>, 1 } // cylinder { <0, 0, -.01>, <0, 0, .01>, 1 }
torus { .8, .03 rotate x*90 } torus { .8, .03 rotate x*90 }
torus { .6, .03 rotate x*90 } torus { .6, .03 rotate x*90 }
@@ -137,14 +124,13 @@ texture { T_Glass1 }
#declare Phare_0 = object #declare Phare_0 = object
{ {
union union {
{
object { Coque_Phare_0 } object { Coque_Phare_0 }
object { Vitre_Phare_0 } object { Vitre_Phare_0 }
light_source light_source {
{
<0, 0, 0> color White <0, 0, 0> color White
fade_distance 6 fade_power 1
looks_like { Ampoule } looks_like { Ampoule }
translate z*-.5 translate z*-.5
} }

View File

@@ -20,37 +20,40 @@ texture { New_Penny scale 0.3 }
// ----------------------------------------------------------------- // -----------------------------------------------------------------
#declare Base_Poteau_1 = object #macro Base_Poteau_1 (Foo)
{
union union
{ {
box { <-1, 0, -1>, <-0.08, 1.6, 1.5> } box { <-1, 0, -1>, <-0.08, 1.6, 1.5> }
box { <0.08, 0, -1.5>, <1, 1.6, 1> } box { <0.08, 0, -1.5>, <1, 1.6, 1> }
texture {
pigment { color Gray75 }
#local R = rand(RND);
#if (R < 0.50) normal { bumps 0.333 }
#else normal { dents 0.333 }
#end // if R
}
} }
texture #end // macro
{
pigment { color Gray75 }
normal { bumps 0.333 }
}
}
#declare Bois_Poteau_1 = object #macro Bois_Poteau_1 (Foo)
{
union union
{ {
cylinder { <0, 0, 0>, <0, 20, 0>, 0.42 } cylinder { <0, 0, 0>, <0, 20, 0>, 0.42 }
cone { <0, 20, 0>, 0.64, <0, 21, 0>, 0.21 } cone { <0, 20, 0>, 0.64, <0, 21, 0>, 0.21 }
cylinder { <-4, 19, 0>, <4, 19, 0>, 0.20 } cylinder { <-4, 19, 0>, <4, 19, 0>, 0.20 }
#local R = rand(RND);
#if (R < 0.76) texture { T_Wood12 rotate x*90 scale 3 }
#else texture { T_Wood14 rotate x*90 scale 3 }
#end
} }
texture { T_Wood12 rotate x*90 scale 3 } #end // macro
}
#declare Poteau_1 = object #declare Poteau_1 = object
{ {
union union
{ {
object { Base_Poteau_1 } object { Base_Poteau_1 (0) }
object { Bois_Poteau_1 } object { Bois_Poteau_1 (0) }
} }
} }

View File

@@ -4,7 +4,7 @@ SPOOL="$HOME/TMP"
mkdir "$SPOOL" mkdir "$SPOOL"
NBRE=599 NBRE=599
POVOPT=" Declare=Nbre=${NBRE} -w11152 -h900 +q9 +a -d " POVOPT=" Declare=Nbre=${NBRE} -w1152 -h900 +q9 +a -d "
SRCFILE="train.pov" SRCFILE="train.pov"
for idx in $(seq 0 $NBRE) for idx in $(seq 0 $NBRE)
@@ -17,13 +17,13 @@ do
povray -i${SRCFILE} ${POVOPT} -K${horloge} -o${outfile} povray -i${SRCFILE} ${POVOPT} -K${horloge} -o${outfile}
sleep 3m sleep 10
done done
ffmpeg -nostdin \ ffmpeg -nostdin \
-loglevel error \ -loglevel error \
-metadata artist='tTh des Bourtoulots' \
-y -r 30 -f image2 -i $SPOOL/pj-%04d.png \ -y -r 30 -f image2 -i $SPOOL/pj-%04d.png \
-c:v libx264 -pix_fmt yuv420p \ -c:v libx264 -pix_fmt yuv420p \
-metadata artist='tTh des Bourtoulots' \
povjouets.mp4 povjouets.mp4