Compare commits

...

26 Commits

Author SHA1 Message Date
Tonton Th
17e72ea61c last commits before xmas 2025-12-23 08:36:21 +01:00
Tonton Th
35db5eb9e2 tweak textures 2025-10-02 22:35:21 +02:00
Tonton Th
faff740ab3 better antialiasing 2025-10-02 22:34:47 +02:00
Tonton Th
cc62cb88b7 renaming an object 2025-09-20 16:21:59 +02:00
Tonton Th
852160ec6f add a tintin font file 2025-09-20 05:59:38 +02:00
Tonton Th
b5aea0e10e light tuning 2025-03-09 03:33:43 +01:00
Tonton Th
82ff0c7765 resize to Sun size 2025-03-09 03:33:21 +01:00
Tonton Th
9da2ca1d29 tweaking 2025-03-07 10:53:10 +01:00
Tonton Th
fa56cadce2 meilleur cadrage 2025-01-02 13:30:04 +01:00
Tonton Th
239362c942 minor patches 2025-01-02 03:34:16 +01:00
Tonton Th
13838b582e premier wagon nettoyé 2024-12-31 14:43:41 +01:00
Tonton Th
f401bd432d tuning... 2024-12-31 12:28:07 +01:00
Tonton Th
69fdaec978 missing dependencie 2024-12-31 11:59:04 +01:00
Tonton Th
2a66ed7952 tuning... 2024-12-30 18:18:53 +01:00
Tonton Th
d0edb79cb6 start of cleanup 2024-12-30 04:41:51 +01:00
Tonton Th
11741fd72e silent useless message 2024-12-30 02:47:15 +01:00
Tonton Th
8c6f914a53 newyear is coming 2024-12-30 02:46:29 +01:00
Tonton Th
69e0a3bd52 add global ambiernt_light 2024-12-29 19:52:58 +01:00
le vieux
e4df9e1299 shuffling textures 2021-03-23 10:09:22 +01:00
le vieux
2a983b8335 pfeueue... 2021-03-23 09:55:20 +01:00
le vieux
40f7b689db added two "cos" macro 2021-03-16 11:34:06 +01:00
le vieux
255643e55a more frobnicate again 2021-03-16 00:48:07 +01:00
le vieux
395d648c9d teatime or beer ? 2021-03-15 17:29:35 +01:00
le vieux
c53aa92319 bad cosmetic 2021-03-15 11:29:04 +01:00
le vieux
c5f6658922 debug tarball target 2021-03-15 10:53:02 +01:00
le vieux
9430b5f133 need more work... 2021-03-15 03:08:13 +01:00
40 changed files with 554 additions and 573 deletions

8
.gitignore vendored
View File

@@ -1,4 +1,10 @@
*.png *.png
*.pov-state tmp/*.png
*.gif
*.pov-state
tmp/*.pov-state
MANIFEST
tarball

View File

@@ -1,16 +1,16 @@
#-------------------------------------------------------- #--------------------------------------------------------
MOYEN=+w1280 +h1024
GRAND=+w1600 +h1200
PETIT = +w800 +h600 PETIT = +w800 +h600
DIMS=$(PETIT) MOYEN = +w1152 +h900
GRAND = +w1600 +h1200
DIMS=$(MOYEN)
OPTS = +a +q9 -d OPTS = +a0.01 +q9 -d
POVRAY = povray POVRAY = povray
# nouveau mars 2021 # nouveau mars 2021
INCS = incs/ INCS = incs
# CJPEGOPT=-quality 88 -progressive -dct float -targa # CJPEGOPT=-quality 88 -progressive -dct float -targa
CJPEGOPT = -progressive -dct float -quality 88 CJPEGOPT = -progressive -dct float -quality 88
@@ -19,18 +19,26 @@ PNGOPT = -interlace -compression 9 -text png.txt
all: loco.png parking.png corail.png train.png essai.png \ all: loco.png parking.png corail.png train.png essai.png \
inside.png benne.png electric.png truc.png wagons.png \ inside.png benne.png electric.png truc.png wagons.png \
ridelles.png rotonde.png grue.png \ ridelles.png rotonde.png grue.png \
citerne.png citerne.png voiture.png gare.png
GLOBDEPS=${INCS}/train.inc ${INCS}/poteaux.inc \ GLOBDEPS=${INCS}/train.inc ${INCS}/poteaux.inc \
${INCS}/electric.inc ${INCS}/voiture.inc \
${INCS}/rails.inc ${INCS}/grue.inc ${INCS}/ridelles.inc \ ${INCS}/rails.inc ${INCS}/grue.inc ${INCS}/ridelles.inc \
${INCS}/citerne.inc \ ${INCS}/instruments.inc ${INCS}/corail.inc \
${INCS}/constantes.inc \ ${INCS}/citerne.inc ${INCS}/benne.inc \
${INCS}/constantes.inc ${INCS}/locomotive.inc \
${INCS}/enseigne.inc \
picz/plancher.png picz/cadran.png \
contexte.inc monde.inc contexte.inc monde.inc
#-------------------------------------------------------- #--------------------------------------------------------
essai.png: essai.pov Makefile $(GLOBDEPS) essai.png: essai.pov Makefile $(GLOBDEPS)
$(POVRAY) +Iessai +Oessai $(DIMS) $(OPTS) $(POVRAY) +Iessai $(DIMS) $(OPTS)
foo.gif: Makefile essai.png voiture.png
convert -delay 20 \
voiture.png essai.png foo.gif
#----------------------------------------------------------------------- #-----------------------------------------------------------------------
# #
@@ -40,31 +48,28 @@ essai.png: essai.pov Makefile $(GLOBDEPS)
rotonde.png: rotonde.pov Makefile $(GLOBDEPS) rotonde.png: rotonde.pov Makefile $(GLOBDEPS)
$(POVRAY) +Irotonde $(DIMS) $(OPTS) +v $(POVRAY) +Irotonde $(DIMS) $(OPTS) +v
#-----------------------------------------------------------------------
parking.png: parking.pov Makefile $(GLOBDEPS) parking.png: parking.pov Makefile $(GLOBDEPS)
$(POVRAY) +Iparking $(DIMS) $(OPTS) +v $(POVRAY) +Iparking $(DIMS) $(OPTS) +v
wagons.png: wagons.pov $(GLOBDEPS) Makefile
$(POVRAY) +Iwagons $(DIMS) $(OPTS) +v
gare.png: gare.pov $(GLOBDEPS) Makefile
$(POVRAY) +Igare $(DIMS) $(OPTS) +v
#-----------------------------------------------------------------------
loco.png: loco.pov ${GLOBDEPS} Makefile loco.png: loco.pov ${GLOBDEPS} Makefile
$(POVRAY) +Iloco $(DIMS) $(OPTS) +v $(POVRAY) +Iloco $(DIMS) $(OPTS) +v
train.png: train.pov ${DEPS} Makefile train.png: train.pov ${GLOBDEPS} Makefile
$(POVRAY) +Itrain $(DIMS) $(OPTS) +v $(POVRAY) +Itrain $(DIMS) $(OPTS) +v
corail.png: corail.pov Makefile $(GLOBDEPS) corail.png: corail.pov Makefile $(GLOBDEPS)
$(POVRAY) +Icorail $(DIMS) $(OPTS) +v $(POVRAY) +Icorail $(DIMS) $(OPTS) +v
gare.tga: gare.pov gare.inc plancher.tga plancher.inc \
enseigne.inc Makefile
$(POVRAY) +Igare +FT $(DIMS) $(OPTS) +v
#----------------------------------------------------------------------- #-----------------------------------------------------------------------
wagons.png: wagons.pov $(GLOBDEPS) Makefile
$(POVRAY) +Iwagons $(DIMS) $(OPTS) +v
inside.png: inside.pov $(GLOBDEPS) Makefile inside.png: inside.pov $(GLOBDEPS) Makefile
$(POVRAY) +Iinside $(DIMS) $(OPTS) +v $(POVRAY) +Iinside $(DIMS) $(OPTS) +v
@@ -89,12 +94,12 @@ grue.png: grue.pov $(GLOBDEPS) Makefile
#-------------------------------------------------------- #--------------------------------------------------------
# les trucs en travaux # les trucs en travaux
tmp/voiture.tga: voiture.inc voiture.pov $(GLOBDEPS) voiture.png: voiture.pov $(GLOBDEPS) Makefile
$(POVRAY) +Ivoiture +FT +Otmp/ $(DIMS) $(OPTS) +v $(POVRAY) +Ivoiture $(DIMS) $(OPTS) +v
#-------------------------------------------------------- #--------------------------------------------------------
SRCFILES = *.inc *.pov *.txt Makefile *.sh SRCFILES = *.inc incs/*.inc *.pov *.txt Makefile tools/*.sh
lines: lines:
wc $(SRCFILES) | sort -n wc $(SRCFILES) | sort -n
@@ -103,7 +108,7 @@ tarball: $(SRCFILES)
ls $^ > MANIFEST ; \ ls $^ > MANIFEST ; \
( cd .. ; \ ( cd .. ; \
tar zcvf jouets-tth.tar.gz \ tar zcvf jouets-tth.tar.gz \
`sed 's/^/Jouets\//' Jouets/MANIFEST` ) `sed 's/^/PovJouets\//' PovJouets/MANIFEST` )
date >> tarball date >> tarball
#-------------------------------------------------------- #--------------------------------------------------------

View File

@@ -1,7 +1,12 @@
# PovJouets # PovJouets
Un très très vieux projet POVray qui revient dans le triste monde de 2021. Un très très vieux projet POVray qui revient dans le triste
monde de 2021.
http://la.buvette.org/POV/jouets/ Et qui revient en forme pour attaquer **2025** ?
https://git.tetalab.org/tTh/PovJouets https://git.tetalab.org/tTh/PovJouets
## TODO
- bien revoir la hiérarchie des includes
- définir un jeu de textures cohérent

View File

@@ -5,10 +5,7 @@
*/ */
#version 3.7; #version 3.7;
global_settings { assumed_gamma 1.0 } #include "contexte.inc"
#include "colors.inc"
#include "metals.inc"
/*------------------------------------------------------------------*/ /*------------------------------------------------------------------*/
@@ -29,10 +26,10 @@ object { Wagon_Benne translate y*2 }
camera camera
{ {
location <35.5, 13, 20> location <35.5, 21, 40>
right image_width/image_height*x right image_width/image_height*x
look_at <0, 6, 0> look_at <0, 6, 0>
angle 51 angle ANGLE_CAM
} }
light_source { <90, 131, 190> color White } light_source { <90, 131, 190> color White }

View File

@@ -1,16 +1,9 @@
/* /*
* une citerne pour transporter le pinard
*/ */
#version 3.7; #version 3.7;
#include "contexte.inc"
#include "colors.inc"
#include "metals.inc"
global_settings {
ambient_light Gray15
assumed_gamma 1.0 /* pour povray 3.7 */
}
/*------------------------------------------------------------------*/ /*------------------------------------------------------------------*/
@@ -24,30 +17,14 @@ object { Wagon_Citerne translate y*2 }
/*------------------------------------------------------------------*/ /*------------------------------------------------------------------*/
#include "plancher.inc" #include "monde.inc"
object { Plancher_0 scale <.5, 1, .5> }
sky_sphere {
pigment
{
gradient x
color_map
{
[0 color Green]
[0.33 color Gray30 ]
[1 color Blue]
}
}
scale 0.5
translate -1
}
camera camera
{ {
location <36, 13, -11> location <46, 13, -41>
right image_width/image_height*x right image_width/image_height*x
look_at <0, 5.8, 0> look_at <0, 5.8, 0>
angle 61 angle ANGLE_CAM
} }
light_source { <290, 131, -190> color White } light_source { <290, 131, -190> color White }

View File

@@ -2,4 +2,48 @@
* contexte.inc * contexte.inc
*/ */
global_settings {
assumed_gamma 1.0
ambient_light rgb <0.18, 0.15, 0.17>
max_trace_level 17
}
/*------------------------------------------------------------------*/
/*
* essential system includes
*/
#include "colors.inc"
#include "metals.inc"
#include "textures.inc"
/*------------------------------------------------------------------*/
#declare ANGLE_CAM = 42;
//---------------------------------------
/*
* deux macros pour des variations plus 'touchy'
*/
#macro Cos_01( X )
(0.5-0.5*cos( 3.141592654 * X))
#end
#macro Cos_010( X )
(0.5-0.5*cos( 2 * 3.141592654 * X))
#end
//---------------------------------------
/*------------------------------------------------------------------*/
/*
* outils de mise au point (smart tools)
*/
#declare Repere = object
{
#local DA = 5;
#local DB = DA * 5;
union {
cylinder { <-DA, 0, 0>, <100, 0, 0>, 0.1 pigment { color Red } }
cylinder { <0, -DA, 0>, <0, 100, 0>, 0.1 pigment { color Green } }
cylinder { <0, 0, -DA>, <0, 0, 100>, 0.1 pigment { color Blue } }
}
}
/*------------------------------------------------------------------*/

View File

@@ -6,39 +6,11 @@
*/ */
#version 3.7; #version 3.7;
global_settings { assumed_gamma 1.0 } #include "contexte.inc"
#include "colors.inc"
#include "metals.inc"
#include "textures.inc"
/*------------------------------------------------------------------*/ /*------------------------------------------------------------------*/
plane {
y, 0
pigment
{
brick Gray35, rgb<0.50, 0.40, 0.20>
rotate z*90
}
}
sky_sphere { #include "monde.inc"
pigment
{
gradient y
color_map
{
[0 color Khaki]
[0.2 color <0 , .1, .2>]
[0.5 color <0.2 , 0, 0>]
[0.6 color <0 , .2, .1>]
[1 color Khaki]
}
turbulence 2.5
}
rotate 50
scale 2
}
#include "incs/train.inc" #include "incs/train.inc"
#include "incs/rails.inc" #include "incs/rails.inc"
@@ -67,13 +39,13 @@ union
camera camera
{ {
location <18, 10, -45> location <38, 10, -45>
right image_width/image_height*x right image_width/image_height*x
look_at <0, 6, 0> look_at <-5.3, 7, 0>
angle 62 angle ANGLE_CAM
} }
light_source { <550, 725, -900> color Gray60 } // light_source { <550, 725, -900> color Gray60 }
light_source { <600, 700, -850> color Gray50 } light_source { <600, 700, -850> color Gray50 }

BIN
data/tintin_talking.ttf Normal file

Binary file not shown.

View File

@@ -5,13 +5,8 @@
*/ */
#version 3.7; #version 3.7;
#include "contexte.inc"
global_settings {
assumed_gamma 1.0 /* pour povray 3.7 */
}
#include "colors.inc"
#include "metals.inc"
/*------------------------------------------------------------------*/ /*------------------------------------------------------------------*/
@@ -32,13 +27,13 @@ union
camera camera
{ {
right x*image_width/image_height right x*image_width/image_height
location <11, 11.1, -54> location <39, 11.1, -44>
look_at <0, 8, -10> look_at <0, 8, 0>
angle 38 angle ANGLE_CAM
} }
light_source { <7, 8, -54> color Gray80 } light_source { <17, 8, -54> color Gray80 }
light_source { <150, 130, -150> color Green } // light_source { <150, 130, -150> color Green }
light_source { <270, 130, 250> color Gray50 } light_source { <270, 130, 250> color Gray50 }
/*------------------------------------------------------------------*/ /*------------------------------------------------------------------*/

View File

@@ -1,11 +1,10 @@
/* /*
un fichier de test. essai.pov -- un fichier de test.
*/ */
#version 3.7; #version 3.7;
global_settings { assumed_gamma 1.0 } #include "contexte.inc"
#include "colors.inc"
#include "metals.inc" #include "metals.inc"
#include "incs/train.inc" #include "incs/train.inc"
@@ -13,18 +12,18 @@ global_settings { assumed_gamma 1.0 }
#include "incs/benne.inc" #include "incs/benne.inc"
#include "incs/grue.inc" #include "incs/grue.inc"
object { Boogie } // object { Boogie }
// object { Grande_Roue }
#include "incs/enseigne.inc"
object { Enseigne_Corail_texte }
camera { camera {
location <15.5, 8, 9> location <17.5, 3, 10>
right image_width/image_height*x right image_width/image_height*x
look_at <0, 0, 0> look_at <0, 0, 0>
angle 51 angle ANGLE_CAM
} }
cylinder { <-100, 0, 0>, <100, 0, 0>, 0.1 pigment { color Red } } object { Repere scale 0.5 }
cylinder { <0, -100, 0>, <0, 100, 0>, 0.1 pigment { color Green } }
cylinder { <0, 0, -100>, <0, 0, 100>, 0.1 pigment { color Blue } }
light_source { <90, 131, 190> color White } light_source { <90, 131, 190> color White }
light_source { <90, 111, 250> color White } light_source { <90, 111, 250> color White }

32
gare.pov Normal file
View File

@@ -0,0 +1,32 @@
/*
* UN TRAIN SANS GARE ?
* NON !
*
*
*/
#version 3.7;
#include "contexte.inc"
/*------------------------------------------------------------------*/
// #include "incs/plancher.inc"
#include "incs/decor.inc"
#include "incs/gare.inc"
#include "incs/rails.inc"
object { Gare }
/*------------------------------------------------------------------*/
camera
{
location <320, 490, -1400>
look_at <0, 460, 0>
}
light_source { <1650, 878, -850> color White }
light_source { <930, 598, -1350> color Yellow }
/*------------------------------------------------------------------*/

View File

@@ -1,42 +1,14 @@
/* /*
* * un gros chantier, vraiment gros (cTMr)
*/ */
#version 3.7; #version 3.7;
global_settings { assumed_gamma 1.0 } #include "contexte.inc"
#include "colors.inc"
#include "metals.inc"
#include "textures.inc"
/*------------------------------------------------------------------*/ /*------------------------------------------------------------------*/
plane { #include "monde.inc"
y, 0
pigment
{
brick Gray50, rgb<0.10, 0.60, 0.30>
rotate z*90
scale 3
}
}
sky_sphere {
pigment
{
gradient y
color_map
{
[0.2 color <0, .1, .2>]
[0.6 color <0, .3, .1>]
[0.9 color <0, .2, .3>]
}
turbulence 29
}
rotate 40
scale 1.5
}
#include "incs/train.inc" #include "incs/train.inc"
#include "incs/rails.inc" #include "incs/rails.inc"

View File

@@ -18,10 +18,7 @@ union {
cylinder { <0, 4.5, 9.75>, <0, 4.5, 12>, .8 } cylinder { <0, 4.5, 9.75>, <0, 4.5, 12>, .8 }
} }
translate y*6 translate y*6
texture { texture { Vert_Train_1 }
pigment { color Green }
finish { phong 0.5 }
}
} }
//----------------------------------------------------------------- //-----------------------------------------------------------------
@@ -94,7 +91,7 @@ texture {
union union
{ {
object { Base_Courte } object { Base_Courte }
object { Petite_Benne translate y*0.5 } object { Petite_Benne translate y*0.55 }
object { Support_Benne translate z*-11 } object { Support_Benne translate z*-11 }
object { Support_Benne translate z* 11 } object { Support_Benne translate z* 11 }
object { Piston_Benne } object { Piston_Benne }

View File

@@ -3,6 +3,9 @@
* Une citerne de St Chinian * Une citerne de St Chinian
*/ */
//----------------------------------------------------------------- //-----------------------------------------------------------------
#include "incs/constantes.inc"
#declare Diam_Citerne = 4.6; #declare Diam_Citerne = 4.6;
#declare Epp_Cerclage = 0.233; #declare Epp_Cerclage = 0.233;
#declare Diam_Cerclage = (Diam_Citerne+Epp_Cerclage); #declare Diam_Cerclage = (Diam_Citerne+Epp_Cerclage);
@@ -40,11 +43,8 @@ union {
} }
} }
scale <1, 0.882, 1> scale <1, 0.882, 1>
translate y*10.7 translate y*10.7 // ???
texture { texture { Rouge_Train_1 }
pigment { color rgb <0.96, 0.25, 0.2> }
finish { phong 0.6 }
}
} }
//----------------------------------------------------------------- //-----------------------------------------------------------------

View File

@@ -1,11 +1,11 @@
/* /*
LES JOUETS DE TONTON TH LES POVJOUETS DE TONTON TH
Quelque constantes utiles Quelque constantes utiles
*/ */
#ifdef(Jouets_Constantes) #ifdef(Jouets_Constantes)
// do nothing // do nothing
#error "constantes deja definies\n" // #warning "*** constantes deja definies\n"
#else #else
#declare Jouets_Constantes=version; #declare Jouets_Constantes=version;
@@ -18,11 +18,57 @@
/* generateur de nombres pseudo-aleatoires. /* generateur de nombres pseudo-aleatoires.
mais comment le 'seeder' de fac,on differente a chaque run ? */ mais comment le 'seeder' de fac,on differente a chaque run ? */
#declare RND = seed(42); #declare RND = seed(1664);
#declare FADE_DIST = 2.0;
#declare FADE_POWA = 2.0;
/* ------------------------------------------------------------ */ /* ------------------------------------------------------------ */
/* il nous faut quelques textures 'standards' */ /* il nous faut quelques textures 'standards' */
#declare Orange_Corail = texture
{
pigment { color Orange }
normal { dents 0.42 scale 0.042 }
finish { phong 0.4 }
}
#declare Jaune_Corail = texture
{
pigment { color Yellow }
normal { dents 0.32 scale 0.242 }
finish { phong 0.4 }
}
#declare Vert_Train_1 = texture
{
/* pour la benne */
pigment { color rgb <0.22, 0.77, 0.11> }
normal { bumps 0.17 rotate <10, 0, 10> scale 0.31 }
finish { phong 0.5 }
}
#declare Rouge_Train_1 = texture
{
// pour la citerne
pigment { color rgb <0.93, 0.25, 0.2> }
normal { bumps 0.33 scale 0.42 }
finish { phong 0.5 }
}
#declare Texture_Roues = texture
{
pigment { color LightSteelBlue }
finish { specular 0.5 }
}
#declare Texture_Chassis = texture
{
pigment { color Yellow }
finish { phong 0.5 ambient 0.4 }
}
/* ------------------------------------------------------------ */ /* ------------------------------------------------------------ */
#end // #ifdef #end // #ifdef

View File

@@ -6,27 +6,22 @@
#declare Chassis_Corail = object #declare Chassis_Corail = object
{ {
union union {
{
box { <-4, 5.5, -20>, <4, 6.5, 20> } box { <-4, 5.5, -20>, <4, 6.5, 20> }
box { <-3.5, 3.5, -5>, <3.5, 5.4, -1> } box { <-3.5, 3.5, -5>, <3.5, 5.4, -1> }
box { <-3.5, 3.5, 5>, <3.5, 5.4, 1> } box { <-3.5, 3.5, 5>, <3.5, 5.4, 1> }
} }
texture { texture { Jaune_Corail }
pigment { color Yellow }
finish { phong 0.7 }
}
} }
#declare Base_Corail = object #declare Base_Corail = object
{ {
union union {
{
object { Chassis_Corail } object { Chassis_Corail }
object { Boogie translate z*-13.8 } object { Boogie translate z*-13.8 }
object { Boogie translate z* 13.8 } object { Boogie translate z* 13.8 }
} }
finish { phong 0.65 } // finish { phong 0.65 }
} }
@@ -36,21 +31,18 @@ finish { phong 0.65 }
#declare Bord_Fenetre = object #declare Bord_Fenetre = object
{ {
difference difference {
{
box { <-1, -HAUT_FEN, -LARG_FEN>, box { <-1, -HAUT_FEN, -LARG_FEN>,
<1, HAUT_FEN, LARG_FEN> } <1, HAUT_FEN, LARG_FEN> }
box { <-2, -HAUT_FEN+E_FEN, -LARG_FEN+E_FEN>, box { <-2, -HAUT_FEN+E_FEN, -LARG_FEN+E_FEN>,
<2, HAUT_FEN-E_FEN, LARG_FEN-E_FEN> } <2, HAUT_FEN-E_FEN, LARG_FEN-E_FEN> }
} }
texture { T_Chrome_2C } texture { T_Chrome_2C }
} }
#declare Cabine_Corail = object #declare Cabine_Corail = object
{ {
difference difference {
{
box { <-4.5, 6.6, -20>, <4.5, 15, 20> } box { <-4.5, 6.6, -20>, <4.5, 15, 20> }
box { <-4, 6.6, -19.5>, <4, 15.1, 19.5> } box { <-4, 6.6, -19.5>, <4, 15.1, 19.5> }
@@ -68,20 +60,17 @@ difference
box { <-2.2, 7, -21>, < 2.2, 14.8, -19> } box { <-2.2, 7, -21>, < 2.2, 14.8, -19> }
box { <-2.2, 7, 21>, < 2.2, 14.8, 19> } box { <-2.2, 7, 21>, < 2.2, 14.8, 19> }
} }
pigment { color Orange } texture { Orange_Corail }
finish { phong 0.5 }
} }
#declare Toit_Corail = object #declare Toit_Corail = object
{ {
intersection intersection {
{
box { <-4.7, 0, -21>, <4.7, 14, 21> } box { <-4.7, 0, -21>, <4.7, 14, 21> }
cylinder { <0, -11, -22>, <0, -11, 22>, 12.5 } cylinder { <0, -11, -22>, <0, -11, 22>, 12.5 }
} }
translate y*15 translate y*15
texture texture {
{
pigment { color Red } pigment { color Red }
finish { phong 0.6 } finish { phong 0.6 }
} }
@@ -90,28 +79,33 @@ texture
// //
// la tuyauterie sur les deux caissons d'en dessous // la tuyauterie sur les deux caissons d'en dessous
// //
#declare Citerne_Corail = object
{
#local Ltc = 5.22;
#local Rtc = 1.12;
#local Etc = 4.98;
merge {
cylinder { -Ltc*z, Ltc*z, Rtc }
sphere { -Ltc*z, Rtc }
sphere { Ltc*z, Rtc }
}
scale <1, 1, 0.707>
texture { T_Chrome_4C }
}
#declare Tuyaux_Corail = object #declare Tuyaux_Corail = object
{ {
#local posX = 4.8; union {
#local diametre = 1.2; object { Citerne_Corail translate -x* Etc }
union object { Citerne_Corail translate x* Etc }
{
cylinder { <-4.7, 4.5, -5>, <-4.7, 4.5, 5>, diametre }
sphere { <-4.7, 4.5, -5>, diametre }
sphere { <-4.7, 4.5, 5>, diametre }
cylinder { < 4.7, 4.5, -5>, < 4.7, 4.5, 5>, diametre }
sphere { < 4.7, 4.5, -5>, diametre }
sphere { < 4.7, 4.5, 5>, diametre }
} }
texture { T_Chrome_4C }
} }
// ------------------------------------------ // ------------------------------------------
#declare Armature_Siege_Corail = object #declare Armature_Siege_Corail = object
{ {
union union {
{
cylinder { <-1.3, 0, 0>, <-1.3, 1.50, 0>, 0.2 } cylinder { <-1.3, 0, 0>, <-1.3, 1.50, 0>, 0.2 }
cylinder { < 1.3, 0, 0>, < 1.3, 1.50, 0>, 0.2 } cylinder { < 1.3, 0, 0>, < 1.3, 1.50, 0>, 0.2 }
@@ -134,15 +128,13 @@ texture { T_Chrome_2C }
#declare Coussins_Siege_Corail = object #declare Coussins_Siege_Corail = object
{ {
union union {
{
box { <-2, 1.75, -1>, <2, 1.40, 1> } box { <-2, 1.75, -1>, <2, 1.40, 1> }
box { <-2, 1.95, 1>, <2, 3.10, 0.8> } box { <-2, 1.95, 1>, <2, 3.10, 0.8> }
cylinder { <-2, 3.38, 0.9>, <2, 3.38, 0.9>, 0.2 } cylinder { <-2, 3.38, 0.9>, <2, 3.38, 0.9>, 0.2 }
} }
texture texture {
{
pigment { color Brown } pigment { color Brown }
normal { bumps 0.6 scale 0.42 } normal { bumps 0.6 scale 0.42 }
finish { phong 0.4 diffuse 0.3 } finish { phong 0.4 diffuse 0.3 }
@@ -151,8 +143,7 @@ texture
#declare Siege_Corail = object #declare Siege_Corail = object
{ {
union union {
{
object { Armature_Siege_Corail } object { Armature_Siege_Corail }
object { Coussins_Siege_Corail } object { Coussins_Siege_Corail }
} }
@@ -164,27 +155,25 @@ union
// //
#declare Ampoule_Corail = object #declare Ampoule_Corail = object
{ {
sphere { <0, 0, 0> 0.2 pigment { color Gray90 } } sphere { <0, 0, 0> 0.17 pigment { color White } }
} }
// ------------------------------------------ // ------------------------------------------
#declare Lumieres_Corail = object #declare Lumieres_Corail = object
{ {
union {
union
{
#declare foo = -2; #declare foo = -2;
#while (foo <= 2) #while (foo <= 2)
#declare px = foo * 6.97; #declare px = foo * 6.97;
sphere { <0, 15.3, px> 0.6 pigment { color BakersChoc } } // sphere { <0, 15.3, px> 0.6 pigment { color BakersChoc } }
light_source { light_source {
<0, 0, px> color Gray35 <0, 0, px> color Gray35
fade_distance 6 fade_power 1 fade_distance 6 fade_power 1
looks_like { Ampoule_Corail } looks_like { Ampoule_Corail }
translate y*13.8 translate y*13.85
} }
#declare foo = foo + 1; #declare foo = foo + 1;
@@ -195,8 +184,7 @@ union
#declare Interieur_Corail = object #declare Interieur_Corail = object
{ {
union union {
{
#declare foo = -4; #declare foo = -4;
#while (foo <= 4) #while (foo <= 4)
#declare px = foo * 4.16; #declare px = foo * 4.16;
@@ -206,14 +194,12 @@ union
} }
} }
// ------------------------------------------ // ------------------------------------------
/* /*
* MAIS CETTE RAMPE EST COMPLETEMENT FAUSSE !!! * MAIS CETTE RAMPE EST COMPLETEMENT FAUSSE !!!
*/ */
#declare Rampe = object #declare Rampe = object
{ {
union union {
{
#declare foo = -2; #declare foo = -2;
#while (foo <= 2) #while (foo <= 2)
#declare px = foo * 6.97; #declare px = foo * 6.97;
@@ -235,15 +221,14 @@ union
#declare Wagon_Corail = object #declare Wagon_Corail = object
{ {
union union {
{
object { Base_Corail } object { Base_Corail }
object { Cabine_Corail } object { Cabine_Corail }
object { Toit_Corail } object { Toit_Corail }
object { Tuyaux_Corail } object { Tuyaux_Corail translate y*4.16 }
object { Interieur_Corail } object { Interieur_Corail }
object { Lumieres_Corail } object { Lumieres_Corail }
object { Rampe } // object { Rampe }
} }
} }

View File

@@ -8,16 +8,16 @@
#declare Base_Loco_Electric = object #declare Base_Loco_Electric = object
{ {
union #local DYR = 3;
{ union {
object { Petite_Roue scale <-1, 1, 1> translate <-5.5, 0, -12> } object { Petite_Roue scale <-1, 1, 1> translate <-5.5, DYR, -12> }
object { Petite_Roue translate < 5.5, 0, -12> } object { Petite_Roue translate < 5.5, DYR, -12> }
object { Petite_Roue scale <-1, 1, 1> translate <-5.5, 0, -5> } object { Petite_Roue scale <-1, 1, 1> translate <-5.5, DYR, -5> }
object { Petite_Roue translate < 5.5, 0, -5> } object { Petite_Roue translate < 5.5, DYR, -5> }
object { Petite_Roue scale <-1, 1, 1> translate <-5.5, 0, 5> } object { Petite_Roue scale <-1, 1, 1> translate <-5.5, DYR, 5> }
object { Petite_Roue translate < 5.5, 0, 5> } object { Petite_Roue translate < 5.5, DYR, 5> }
object { Petite_Roue scale <-1, 1, 1> translate <-5.5, 0, 12> } object { Petite_Roue scale <-1, 1, 1> translate <-5.5, DYR, 12> }
object { Petite_Roue translate < 5.5, 0, 12> } object { Petite_Roue translate < 5.5, DYR, 12> }
} }
} }
@@ -60,7 +60,7 @@ texture {
// ------------------------------------------------------------------- // -------------------------------------------------------------------
#declare Haut_Pento = 15; #declare Haut_Pento = 18;
#declare Base_Panto_0 = object #declare Base_Panto_0 = object
{ {

View File

@@ -1,54 +1,55 @@
/*
*/
#include "chars.inc" #include "chars.inc"
#declare Enseigne = object /* ===========================================================*/
/*
* see 'gare.inc' for usage
*/
#declare Enseigne_Hello = object
{ {
union union
{ {
object { object { char_H translate x*-27.5 }
char_H object { char_E translate x*-22.5 }
translate x*-27.5 object { char_L translate x*-17.5 }
} object { char_L translate x*-12.5 }
object { object { char_O translate x*-7.5 }
char_E
translate x*-22.5 object { char_W translate x*2.5 }
} object { char_O translate x*7.5 }
object { object { char_R translate x*12.5 }
char_L object { char_L translate x*17.5 }
translate x*-17.5 object { char_D translate x*22.5 }
}
object {
char_L
translate x*-12.5
}
object {
char_O
translate x*-7.5
}
object {
char_W
translate x*2.5
}
object {
char_O
translate x*7.5
}
object {
char_R
translate x*12.5
}
object {
char_L
translate x*17.5
}
object {
char_D
translate x*22.5
}
} }
texture { PinkAlabaster scale 3 } texture { PinkAlabaster scale 3 }
} }
/* ===========================================================*/
#declare Enseigne_Corail_plaque = object
{
box { <-0.8, -0.01, -3.5>, <0.8, 0.01, 3.5> }
pigment { color Blue }
rotate z*90
}
/* ----------------------------------------------------------- */
#declare Enseigne_Corail_texte = object
{
text { ttf "data/tintin_talking.ttf" ,
"Bourtoulots Express", 0.06, 0.0
pigment{ White }
}
translate -3.6*x
rotate -90 * y
translate <0.03, -0.19, 0.00>
}
/* ----------------------------------------------------------- */
#declare Enseigne_Corail_texte = object
{
union {
object { Enseigne_Corail_plaque }
object { Enseigne_Corail_texte }
}
}
/* ===========================================================*/
/* ===========================================================*/
/* (c) Oulala */ /* (c) Oulala 2025 */

View File

@@ -33,9 +33,9 @@ pigment { color White }
finish { phong 0.4 } finish { phong 0.4 }
} }
#include "decor.inc" #include "incs/enseigne.inc"
#include "enseigne.inc"
#include "rails.inc"
#declare Gare = object #declare Gare = object
{ {
@@ -43,7 +43,7 @@ union
{ {
object { Corps_Gare } object { Corps_Gare }
object { Quai_Gare } object { Quai_Gare }
object { Enseigne scale 15 translate <0, 460, -210> } object { Enseigne_Hello scale 15 translate <0, 460, -210> }
} }
} }

View File

@@ -12,7 +12,7 @@
#ifdef (Jouets_Instruments) #ifdef (Jouets_Instruments)
// on fait quedalle // on fait quedalle
#debug "instruments deja inclus\r\n" #warning "*** instruments deja inclus ***\r\n"
#else #else
#declare Jouets_Instruments = version; #declare Jouets_Instruments = version;

View File

@@ -10,17 +10,19 @@
#declare Base_Loco_Vapeur = object #declare Base_Loco_Vapeur = object
{ {
#local HGR = 4;
#local HPR = 3;
union union
{ {
object { Chassis_Long } object { Chassis_Long }
object { Petite_Roue scale <-1, 1, 1> translate <-5.5, 0, -13> } object { Petite_Roue scale <-1, 1, 1> translate <-5.5, HPR, -13> }
object { Petite_Roue translate < 5.5, 0, -13> } object { Petite_Roue translate < 5.5, HPR, -13> }
object { Grande_Roue scale <-1, 1, 1> translate <-5.5, 0, -5> } object { Grande_Roue scale <-1, 1, 1> translate <-5.5, HGR, -5> }
object { Grande_Roue translate < 5.5, 0, -5> } object { Grande_Roue translate < 5.5, HGR, -5> }
object { Grande_Roue scale <-1, 1, 1> translate <-5.5, 0, 5> } object { Grande_Roue scale <-1, 1, 1> translate <-5.5, HGR, 5> }
object { Grande_Roue translate < 5.5, 0, 5> } object { Grande_Roue translate < 5.5, HGR, 5> }
object { Petite_Roue scale <-1, 1, 1> translate <-5.5, 0, 13> } object { Petite_Roue scale <-1, 1, 1> translate <-5.5, HPR, 13> }
object { Petite_Roue translate < 5.5, 0, 13> } object { Petite_Roue translate < 5.5, HPR, 13> }
} }
} }
@@ -43,8 +45,10 @@ union {
sphere { < 3.3, -2.75, -16.5>, .6 } sphere { < 3.3, -2.75, -16.5>, .6 }
sphere { < 3.3, -2.75, -1>, .6 } sphere { < 3.3, -2.75, -1>, .6 }
} }
texture {
pigment { color Gray60 } pigment { color Gray60 }
finish { phong 0.5 } finish { phong 0.5 }
}
translate y*10 translate y*10
} }
@@ -59,7 +63,7 @@ difference {
cylinder { <0, 3, -8>, <0, 6.2, -8>, .95 } cylinder { <0, 3, -8>, <0, 6.2, -8>, .95 }
} }
texture { texture {
pigment { color Gray40 } pigment { color Gray30 }
finish { phong 0.65 } finish { phong 0.65 }
} }
translate y*10 translate y*10
@@ -102,8 +106,8 @@ union
sphere { < 3, 8.5, 14>, 2 } sphere { < 3, 8.5, 14>, 2 }
sphere { <-3, 8.5, 14>, 2 } sphere { <-3, 8.5, 14>, 2 }
} }
texture { T_Chrome_2C } // rotate 10*x
texture { T_Chrome_3C }
} }
#declare Locomotive_Vapeur = object #declare Locomotive_Vapeur = object

View File

@@ -6,6 +6,8 @@
#include "woods.inc" #include "woods.inc"
// -----------------------------------------------------------------
#declare Poteau_0 = object #declare Poteau_0 = object
{ {
union union
@@ -22,8 +24,8 @@ texture { New_Penny scale 0.3 }
{ {
union union
{ {
box { <-1, 0, -1>, <-0.08, 1.6, 1> } box { <-1, 0, -1>, <-0.08, 1.6, 1.5> }
box { <0.08, 0, -1>, <1, 1.6, 1> } box { <0.08, 0, -1.5>, <1, 1.6, 1> }
} }
texture texture
{ {
@@ -37,8 +39,8 @@ texture
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, 23, 0>, 0.21 } cone { <0, 20, 0>, 0.64, <0, 21, 0>, 0.21 }
cylinder { <-2, 19, 0>, <2, 19, 0>, 0.20 } cylinder { <-4, 19, 0>, <4, 19, 0>, 0.20 }
} }
texture { T_Wood12 rotate x*90 scale 3 } texture { T_Wood12 rotate x*90 scale 3 }
} }

View File

@@ -19,7 +19,7 @@ texture {
pigment { color MediumWood } pigment { color MediumWood }
finish { roughness .83 } finish { roughness .83 }
} }
translate y*5.75 translate y*5.85
} }
/* avant et arriere */ /* avant et arriere */

View File

@@ -1,62 +1,65 @@
/* /*
* un petit train * des éléments du petit train
* -------------- * ---------------------------
*
* pas la peine de chercher la benne ici, elle est partie
* dans son fichier 'benne.inc'.
* *
*/ */
//-----------------------------------------------------------------
#include "incs/constantes.inc"
//-----------------------------------------------------------------
#declare Corps_Grande_Roue = object #declare Corps_Grande_Roue = object
{ {
difference { difference {
union { union {
cylinder { <-1, 0, 0>, <1, 0, 0>, 4 } cylinder { < 0, 0, 0>, <0.8, 0, 0>, 4 }
cylinder { <-0.5, 0, 0>, <0, 0, 0>, 4.3 } cylinder { <-0.5, 0, 0>, <0, 0, 0>, 4.3 }
} }
cylinder { <-1.2, 0, 0> <-0.6, 0, 0>, 2.8 } cylinder { <-1.2, 0, 0> <-0.6, 0, 0>, 2.8 }
cylinder { < 1.2, 0, 0> < 0.6, 0, 0>, 3.2 } cylinder { < 1.2, 0, 0> < 0.6, 0, 0>, 3.2 }
#declare foo = 0; #declare foo = 0;
#while (foo < 360) #while (foo < 360)
#declare xx = sin(radians(foo))*2.0; #local R = 2.35;
#declare yy = cos(radians(foo))*2.0; #declare xx = sin(radians(foo))*R;
#declare yy = cos(radians(foo))*R;
cylinder { <-2, xx, yy>, <2, xx, yy>, 0.56 } cylinder { <-2, xx, yy>, <2, xx, yy>, 0.56 }
#declare foo = foo + 45; #declare foo = foo + 36;
#end #end
} }
translate y*4 texture { Texture_Roues }
pigment { color LightSteelBlue }
finish { phong 0.7 }
} }
//-----------------------------------------------------------------
#declare Corps_Petite_Roue = object #declare Corps_Petite_Roue = object
{ {
difference { difference {
union { union {
cylinder { < 0, 0, 0>, <1, 0, 0>, 3 } cylinder { < 0, 0, 0>, <0.8, 0, 0>, 3 }
cylinder { <-1, 0, 0>, <0, 0, 0>, 3.3 } cylinder { <-0.5, 0, 0>, <0, 0, 0>, 3.35 }
} }
cylinder { <-1.4, 0, 0> <-0.6, 0, 0>, 1.7 } cylinder { <-1.4, 0, 0> <-0.6, 0, 0>, 1.7 }
cylinder { < 1.4, 0, 0> < 0.6, 0, 0>, 1.7 } cylinder { < 1.4, 0, 0> < 0.6, 0, 0>, 1.7 }
#declare foo = 0; #declare foo = 0;
#while (foo < 360) #while (foo < 360)
#declare xx = sin(radians(foo))*2.31; #declare xx = sin(radians(foo))*2.29;
#declare yy = cos(radians(foo))*2.31; #declare yy = cos(radians(foo))*2.29;
sphere { <1.1, xx, yy>, 0.42 } sphere { <1.1, xx, yy>, 0.44 }
#declare foo = foo + 36; #declare foo = foo + 36;
#end #end
} }
translate y*3 texture { Texture_Roues }
pigment { color LightSteelBlue }
finish { phong 0.7 }
} }
//-----------------------------------------------------------------
#declare Moyeu = object #declare Moyeu = object
{ {
union { union {
@@ -69,11 +72,13 @@ union {
texture { T_Chrome_2C } texture { T_Chrome_2C }
} }
//-----------------------------------------------------------------
#declare Petite_Roue = object #declare Petite_Roue = object
{ {
union { union {
object { Corps_Petite_Roue } object { Corps_Petite_Roue }
object { Moyeu translate <0.95, 3, 0> } object { Moyeu translate <0.95, 0, 0> }
} }
} }
@@ -81,7 +86,7 @@ union {
{ {
union { union {
object { Corps_Grande_Roue } object { Corps_Grande_Roue }
object { Moyeu translate <0.95, 4, 0> } object { Moyeu translate <0.95, 0, 0> }
} }
} }
@@ -90,27 +95,21 @@ union {
#declare Chassis_Court = object #declare Chassis_Court = object
{ {
union { union {
box { <-3.5, 0, -12>, <3.5, 2, 12> } box { <-3.5, 0.2, -12>, <3.5, 1.8, 12> }
box { <-3.6, 0.7, -12.5>, <3.6, 1.3, 12.5> } box { <-3.6, 0.7, -12.5>, <3.6, 1.3, 12.5> }
} }
translate y*4.1 translate y*4.1
texture { texture { Texture_Chassis }
pigment { color Yellow }
finish { phong 0.6 ambient 0.4 }
}
} }
#declare Chassis_Long = object #declare Chassis_Long = object
{ {
union { union {
box { <-3.5, 0, -15.5>, <3.5, 2, 15.5> } box { <-3.5, 0.2, -15.5>, <3.5, 1.8, 15.5> }
box { <-4, 0.5, -16>, <4, 1.5, 16> } box { <-4, 0.5, -16>, <4, 1.5, 16> }
} }
translate y*4.1 translate y*4.1
texture { texture { Texture_Chassis }
pigment { color Yellow }
finish { phong 0.6 ambient 0.4 }
}
} }
//----------------------------------------------------------------- //-----------------------------------------------------------------
@@ -118,22 +117,23 @@ texture {
#declare Chassis_Boogie = object #declare Chassis_Boogie = object
{ {
union { union {
box { <-3.85, 0, -3>, <3.85, 2, 3> } box { <-3.85, 0, -3>, <3.85, 1.6, 3> }
cylinder { <0, 1, 0>, <0, 4, 0>, 2 } cylinder { <0, 1, 0>, <0, 4, 0>, 1.5 }
} }
translate y*2 translate y*2
pigment { color Blue } pigment { color Gray30 }
} }
#declare Boogie = object #declare Boogie = object
{ {
#local HR = 3;
union union
{ {
object { Chassis_Boogie } object { Chassis_Boogie }
object { Petite_Roue scale <-1, 1, 1> translate <-5.5, 0, -3.5> } object { Petite_Roue scale <-1, 1, 1> translate <-5.5, HR, -3.5> }
object { Petite_Roue translate < 5.5, 0, -3.5> } object { Petite_Roue translate < 5.5, HR, -3.5> }
object { Petite_Roue scale <-1, 1, 1> translate <-5.5, 0, 3.5> } object { Petite_Roue scale <-1, 1, 1> translate <-5.5, HR, 3.5> }
object { Petite_Roue translate < 5.5, 0, 3.5> } object { Petite_Roue translate < 5.5, HR, 3.5> }
} }
} }
@@ -141,13 +141,13 @@ union
#declare Base_Courte = object #declare Base_Courte = object
{ {
union #local HR = 4;
{ union {
object { Chassis_Court } object { Chassis_Court }
object { Grande_Roue scale <-1, 1, 1> translate <-5.5, 0, -8> } object { Grande_Roue scale <-1, 1, 1> translate <-5.5, HR, -8> }
object { Grande_Roue translate < 5.5, 0, -8> } object { Grande_Roue translate < 5.5, HR, -8> }
object { Grande_Roue scale <-1, 1, 1> translate <-5.5, 0, 8> } object { Grande_Roue scale <-1, 1, 1> translate <-5.5, HR, 8> }
object { Grande_Roue translate < 5.5, 0, 8> } object { Grande_Roue translate < 5.5, HR, 8> }
} }
} }

View File

@@ -6,43 +6,18 @@
*/ */
#version 3.7; #version 3.7;
global_settings { assumed_gamma 1.0 } #include "contexte.inc"
#include "colors.inc"
#include "metals.inc"
/*------------------------------------------------------------------*/ /*------------------------------------------------------------------*/
sky_sphere { #include "monde.inc"
pigment
{
gradient y
color_map
{
[0 color Gray75]
[1 color Blue]
}
}
scale 4
translate -1
rotate x*60
}
plane {
y, 0
pigment
{
brick Gray35, rgb<0.50, 0.40, 0.30>
rotate z*90
}
}
#include "incs/train.inc" #include "incs/train.inc"
#include "incs/corail.inc" #include "incs/corail.inc"
object { Wagon_Corail } object { Wagon_Corail }
camera { camera {
location <-1.6, 10, -19> location <-1.6, 12, -19>
right image_width/image_height*x right image_width/image_height*x
look_at <1, 4, 10> look_at <1, 4, 10>
angle 80 angle 80
@@ -51,7 +26,7 @@ camera {
/*------------------------------------------------------------------*/ /*------------------------------------------------------------------*/
light_source { <180, 125, -180> color White } // light_source { <180, 125, -180> color White }
//light_source { <170, 100, -180> color White } //light_source { <170, 100, -180> color White }
//light_source { <120, 11, -185> color White } //light_source { <120, 11, -185> color White }

View File

@@ -1,86 +1,47 @@
/* /*
* *
* * LOCO.POV
*/ */
#version 3.7; #version 3.7;
#include "contexte.inc"
#include "colors.inc"
#include "metals.inc"
global_settings {
ambient_light <0.18, 0.25, 0.35>
assumed_gamma 1.0 /* pour povray 3.7 */
}
/*------------------------------------------------------------------*/ /*------------------------------------------------------------------*/
plane {
y, 0
pigment {
image_map { png "picz/plancher.png" }
rotate x*90
translate <-0.5, 0, -0.5>
scale <42, 1, 42>
}
normal {
dents 0.3
scale 0.3
}
}
sky_sphere { #include "monde.inc"
pigment {
gradient y
color_map
{
[0 color Khaki]
[0.4 color DarkGreen]
[0.5 color Blue]
[0.6 color LightBlue]
[1 color Khaki]
}
turbulence 0.42*2
}
rotate 70
scale 0.3123
translate -1
}
#include "incs/rails.inc" #include "incs/rails.inc"
#include "incs/train.inc" #include "incs/train.inc"
#include "incs/locomotive.inc" #include "incs/locomotive.inc"
// #include "electric.inc" #include "incs/electric.inc"
union { union {
object { Un_Rail_Droit } object { Un_Rail_Droit }
object { Un_Rail_Droit translate z*-100 } object { Un_Rail_Droit translate z*-100 }
object { Locomotive_Vapeur translate <0, 2, 15> } object { Locomotive_Vapeur translate <0, 2, 17.8> }
rotate y*5 rotate y*5
} }
#if (0)
union { union {
object { Un_Rail_Droit } object { Un_Rail_Droit }
object { Un_Rail_Droit translate z*-100 } object { Un_Rail_Droit translate z*-100 }
// object { Locomotive_Electric translate y*2 } object { Locomotive_Electric translate y*2 }
translate x*42 translate x*42
} }
#end
/*------------------------------------------------------------------*/ /*------------------------------------------------------------------*/
camera { camera {
location <-42, 17.5, 32> location <-72, 17.5, 32>
right image_width/image_height*x right image_width/image_height*x
look_at <5, 9.7, 18> look_at <5, 9.7, 18>
angle 42 angle ANGLE_CAM
} }
light_source { <150, 118, -150> color Gray70 } light_source { <150, 118, -150> color Gray70 }
light_source { <-170, 298, -250> color Gray70 } light_source { <-170, 298, -250> color Gray70 }
light_source { <-700, 200, 150> color White }
/*------------------------------------------------------------------*/ /*------------------------------------------------------------------*/

View File

@@ -4,18 +4,29 @@
*/ */
/*------------------------------------------------------------------*/ /*------------------------------------------------------------------*/
plane { #declare R_monde = 290; /* le rayon du monde */
y, 0
cylinder {
<0, -0.2, 0>, 0, R_monde
pigment { pigment {
image_map { image_map {
png "picz/plancher.png" interpolate 2 png "picz/plancher.png" interpolate 2
} }
rotate x*90 rotate x*90
translate <-0.5, 0, -0.5> translate <-0.5, 0, -0.5>
scale <50, 1, 50> scale <250, 1, 250>
} }
} }
#for (foo, 0, 360, 1)
#local R2 = R_monde - 1.5;
#local xpos = R2 * sin(radians(foo));
#local zpos = R2 * cos(radians(foo));
cylinder { <0, 0, 0>, <0, 5, 0>, 0.40
pigment { color <0.5, 0.5, 0.9> }
translate <xpos, 0, zpos> }
#end
sky_sphere { sky_sphere {
pigment pigment
{ {
@@ -24,13 +35,13 @@ sky_sphere {
{ {
[0 color Khaki ] [0 color Khaki ]
[0.2 color Gray20 ] [0.2 color Gray20 ]
[0.5 color Blue ]
[0.87 color LightBlue ] [0.87 color LightBlue ]
[1 color Khaki ] [1 color Khaki ]
} }
turbulence 0.25
} }
rotate 50 rotate 50
scale 0.05 scale 0.15
translate -1 translate -1
} }

View File

@@ -0,0 +1,13 @@
TODO
====
[ ] Rendre le Makefile pilotable depuis le shell
[ ] Tester le module à partir d'un .INI de Povray
[ ] Restructurer l'arborescence de la construction
[ ] Définir un jeu de textures spécifique
[ ] Préparer le concept de "mise en cadre"

View File

@@ -1,45 +1,15 @@
/* /*
* * Les jouets de tTh - 2021
* pour plus de details: oulala@chez.com * pour plus de details: oulala@chez.com
* *
*/ */
#version 3.7; #version 3.7;
global_settings { assumed_gamma 1.0 } #include "contexte.inc"
#include "colors.inc"
#include "metals.inc"
/*------------------------------------------------------------------*/ /*------------------------------------------------------------------*/
disc { #include "monde.inc"
<0, 0, 0>, y, 100
pigment
{
brick Gray45, rgb<0.81, 0.42, 0.40>
rotate z*90
}
scale 2
rotate y*12
}
sky_sphere {
pigment
{
gradient y
color_map
{
[0 color Black]
[0.33 color <0.6, 0.3, 0.5> ]
[0.44 color <0.6, 0.3, 0.1> ]
[0.66 color Blue]
[1 color Black]
}
turbulence 0.92
}
scale 0.82
rotate 42
}
#include "incs/train.inc" #include "incs/train.inc"
#include "incs/locomotive.inc" #include "incs/locomotive.inc"
@@ -99,7 +69,7 @@ camera
location <44, 4, -110> location <44, 4, -110>
right image_width/image_height*x right image_width/image_height*x
look_at <10, 1.9, 0> look_at <10, 1.9, 0>
angle 62 angle ANGLE_CAM
} }
light_source { <150, 78, -250> color Gray20 } light_source { <150, 78, -250> color Gray20 }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.5 KiB

After

Width:  |  Height:  |  Size: 9.7 KiB

View File

@@ -9,10 +9,7 @@
plane { plane {
y, 0 y, 0
pigment { pigment {
image_map image_map { png "picz/plancher.png" interpolate 4 }
{
png "picz/plancher.png" interpolate 4
}
rotate x*90 rotate x*90
translate <-0.5, 0, -0.5> translate <-0.5, 0, -0.5>
scale <30, 1, 30> scale <30, 1, 30>
@@ -25,10 +22,7 @@ plane {
plane { plane {
y, 0 y, 0
pigment { pigment {
image_map image_map { png "picz/plancher.png" interpolate 4 }
{
png "picz/plancher.png" interpolate 4
}
rotate x*90 rotate x*90
translate <-0.5, 0, -0.5> translate <-0.5, 0, -0.5>
scale <30, 1, 30> scale <30, 1, 30>

View File

@@ -1,4 +0,0 @@
#!/bin/bash
make targa
make -j 2 all

View File

@@ -1,14 +1,5 @@
#version 3.7; #version 3.7;
#include "contexte.inc"
#include "colors.inc"
#include "metals.inc"
#include "textures.inc"
global_settings {
ambient_light Gray15
assumed_gamma 1.0 /* pour povray 3.7 */
}
/*------------------------------------------------------------------*/ /*------------------------------------------------------------------*/
@@ -33,7 +24,7 @@ camera
location <40, 15, -50> location <40, 15, -50>
right x*image_width/image_height right x*image_width/image_height
look_at <0, 5, 0> look_at <0, 5, 0>
angle 42 angle ANGLE_CAM
} }
light_source { < 200, 70, -200> color Gray50 } light_source { < 200, 70, -200> color Gray50 }

View File

@@ -1,12 +1,9 @@
/*
* le grand garage des trains
*/
#version 3.7; #version 3.7;
#include "contexte.inc"
#include "colors.inc"
#include "metals.inc"
#include "textures.inc"
global_settings { ambient_light Yellow }
/*------------------------------------------------------------------*/ /*------------------------------------------------------------------*/
#include "incs/poteaux.inc" #include "incs/poteaux.inc"
@@ -20,22 +17,12 @@ object { Un_Rail_Droit translate z*-100}
/*------------------------------------------------------------------*/ /*------------------------------------------------------------------*/
plane {
y, 0
pigment
{
checker Gray75, rgb<0.81, 0.86, 0.81>
rotate z*90
scale 10
}
}
camera camera
{ {
location <0, 70, 180> location <20, 70, 240>
right image_width/image_height*x right image_width/image_height*x
look_at <0, 0, 0> look_at <0, 24, 0>
angle 50 angle ANGLE_CAM
} }
light_source { <142, 500, 500> color White } light_source { <142, 500, 500> color White }

26
tools/mk_anim.sh Executable file
View File

@@ -0,0 +1,26 @@
#!/bin/bash
SPOOL="$HOME/TMP"
mkdir "$SPOOL"
NBRE=599
POVOPT=" -w1280 -h960 +q9 -a -d "
SRCFILE="train.pov"
for idx in $(seq 0 $NBRE)
do
outfile=$(printf "%s/%04d.png" $SPOOL $idx)
horloge=$(echo "$idx / $NBRE" | bc -l)
printf "%-20s %.4f\n" $outfile $horloge
povray -i${SRCFILE} ${POVOPT} -K${horloge} -o${outfile}
done
ffmpeg -nostdin \
-loglevel error \
-y -r 25 -f image2 -i $SPOOL/%04d.png \
-c:v libx264 -pix_fmt yuv420p \
$SPOOL/foo.mp4

10
tools/tagpicz.sh Executable file
View File

@@ -0,0 +1,10 @@
#!/bin/bash
printf "==== %s ( %s ) ===\n" $0 $1
VALUE=$(( $RANDOM % 4096 ))
printf "random value = %03xH\n" ${VALUE}

View File

@@ -1,58 +1,58 @@
/* /*
* *
* pour plus de details: oulala@chez.com * pour plus de details:
* http://la.buvette.org/POV/jouets/
* *
*/ */
#include "colors.inc" #version 3.7;
#include "metals.inc" #include "contexte.inc"
#include "textures.inc"
/*------------------------------------------------------------------*/ /*------------------------------------------------------------------*/
global_settings { ambient_light Gray10 } #include "monde.inc"
#include "plancher.inc"
object { Plancher_0 rotate y*3 }
#declare DarkKhaki = color red 0.523529 green 0.523529 blue 0.272549;
sky_sphere {
pigment
{
gradient y
color_map
{
[0 color DarkKhaki]
[0.3 color Blue]
[1 color LightBlue]
}
turbulence 0.8
}
rotate 55
translate -1
}
#include "incs/rails.inc"
#include "incs/train.inc" #include "incs/train.inc"
#include "incs/electric.inc"
#include "incs/rails.inc"
#include "incs/benne.inc" #include "incs/benne.inc"
#include "incs/citerne.inc" #include "incs/citerne.inc"
#include "incs/ridelles.inc" #include "incs/ridelles.inc"
#include "incs/corail.inc" #include "incs/corail.inc"
#include "incs/locomotive.inc" #include "incs/locomotive.inc"
union #declare Trois_rails = object
{ {
union {
object { Un_Rail_Droit } object { Un_Rail_Droit }
object { Un_Rail_Droit translate z*-100 } object { Un_Rail_Droit translate z*-100 }
object { Un_Rail_Droit translate z* 100 } object { Un_Rail_Droit translate z* 100 }
}
}
object { Locomotive_Vapeur translate <0, 2, -56> } #declare Train_Electric = object
object { Wagon_Citerne translate <0, 2, -25> } {
object { Wagon_Benne translate <0, 2, 2> } union {
object { Wagon_Corail translate <0, 2, 39> } object { Locomotive_Electric translate <0, 2, -10> }
object { Wagon_Ridelles translate <0, 2, 78> } object { Wagon_Corail translate <0, 2, 29> }
}
}
union
{
object { Trois_rails }
object { Locomotive_Vapeur translate <0, 2, -52> }
object { Wagon_Citerne translate <0, 2, -21> }
object { Wagon_Benne translate <0, 2, 6> }
object { Wagon_Ridelles translate <0, 2, 35> }
#local XS = 60;
object { Trois_rails translate x*XS }
#local K = Cos_01(clock);
#local DZ = 50 - (K * 85);
object { Train_Electric translate <XS, 0, DZ> }
} }
#include "incs/poteaux.inc" #include "incs/poteaux.inc"
@@ -67,14 +67,14 @@ union
camera camera
{ {
location <130, 18, 15> location <260, 38, 25>
right image_width/image_height*x right image_width/image_height*x
look_at <0, 3, 10> look_at <0, 3, 12>
angle 70 angle ANGLE_CAM
} }
light_source { <150, 98, -150> color Orange } light_source { <150, 98, -150> color Orange }
light_source { <170, 88, -170> color Yellow } light_source { <170, 128, -170> color Yellow }
// light_source { <100, 100, 50> color White } // light_source { <100, 100, 50> color White }

View File

@@ -3,11 +3,7 @@
*/ */
#version 3.7; #version 3.7;
global_settings { assumed_gamma 1.0 } #include "contexte.inc"
#include "colors.inc"
#include "metals.inc"
#include "textures.inc"
/*------------------------------------------------------------------*/ /*------------------------------------------------------------------*/
@@ -22,24 +18,12 @@ object { Bord_Fenetre translate y*7.5 }
/*------------------------------------------------------------------*/ /*------------------------------------------------------------------*/
background { color rgb <0.7, 0.7, 0.9999> }
plane {
y, 0
pigment
{
checker Gray75, rgb<0.71, 0.96, 0.81>
rotate z*90
scale 10
}
}
camera camera
{ {
location <-15, 11.333, 35> location <-15, 11.333, 35>
right image_width/image_height*x right image_width/image_height*x
look_at <0, 9, 0> look_at <0, 9, 0>
angle 42 angle ANGLE_CAM
} }
light_source { <-50, 17, -50> color White } light_source { <-50, 17, -50> color White }

28
voiture.pov Normal file
View File

@@ -0,0 +1,28 @@
/*
quelques elements des voitures
*/
#version 3.7;
#include "contexte.inc"
#include "metals.inc"
#include "incs/train.inc"
#include "incs/rails.inc"
#include "incs/benne.inc"
#include "incs/grue.inc"
// #include "decor.inc"
object { Boogie }
camera {
location <25.5, 15, 22>
look_at <0, 2, 0>
angle ANGLE_CAM
}
object { Repere }
light_source { <90, 131, 190> color Cyan }
light_source { <90, 111, 250> color Magenta }
/*------------------------------------------------------------------*/

View File

@@ -10,11 +10,7 @@
*/ */
#version 3.7; #version 3.7;
global_settings { assumed_gamma 1.0 } #include "contexte.inc"
#include "colors.inc"
#include "metals.inc"
#include "textures.inc"
/*------------------------------------------------------------------*/ /*------------------------------------------------------------------*/
@@ -38,14 +34,14 @@ object { Poteau_1 translate -z*12 }
camera camera
{ {
location <12, 10, -50> location <14, 10, -80>
right image_width/image_height*x right image_width/image_height*x
look_at <0, 0, 0> look_at <0, 7, 0>
angle 42 angle ANGLE_CAM
} }
light_source { <-50, 120, -330> color Gray50 } // light_source { <-50, 120, -330> color Gray50 }
light_source { <190, 498, -250> color White } // light_source { <190, 498, -250> color White }
light_source { <160, 99, -250> color Yellow } light_source { <160, 99, -450> color Yellow }
/*------------------------------------------------------------------*/ /*------------------------------------------------------------------*/