Compare commits

...

29 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
le vieux
752e11c226 more tweaking on the project 2021-03-13 18:56:21 +01:00
le vieux
4a752d0732 experiment for the futur 2021-03-13 18:47:14 +01:00
le vieux
1790a5a3df bla bla 2021-03-13 18:16:15 +01:00
41 changed files with 579 additions and 624 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,17 +1,16 @@
#-------------------------------------------------------- #--------------------------------------------------------
MOYEN=+w1280 +h1024 PETIT = +w800 +h600
GRAND=+w1600 +h1200 MOYEN = +w1152 +h900
PETIT=+w800 +h600 GRAND = +w1600 +h1200
DIMS=$(MOYEN) DIMS=$(MOYEN)
OPTS = +a +q9 -d OPTS = +a0.01 +q9 -d
LOWR = -a +q5 -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
@@ -20,17 +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 plancher.inc ${INCS}/poteaux.inc \ GLOBDEPS=${INCS}/train.inc ${INCS}/poteaux.inc \
${INCS}/rails.inc ${INCS}/grue.inc \ ${INCS}/electric.inc ${INCS}/voiture.inc \
${INCS}/constantes.inc \ ${INCS}/rails.inc ${INCS}/grue.inc ${INCS}/ridelles.inc \
contexte.inc ${INCS}/instruments.inc ${INCS}/corail.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
#-------------------------------------------------------- #--------------------------------------------------------
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,3 +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.
Et qui revient en forme pour attaquer **2025** ?
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"
/*------------------------------------------------------------------*/ /*------------------------------------------------------------------*/
@@ -25,31 +22,14 @@ object { Wagon_Benne translate y*2 }
/*------------------------------------------------------------------*/ /*------------------------------------------------------------------*/
#include "plancher.inc" #include "monde.inc"
object { Plancher_0 scale <.5, 1, .5> }
sky_sphere {
pigment
{
gradient y
color_map
{
[0 color Green]
[0.33 color Gray50 ]
[1 color Blue]
}
}
scale 0.33333333
rotate <10, 0, 10>
translate -1
}
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,28 +5,12 @@
*/ */
#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 */
}
/*------------------------------------------------------------------*/ /*------------------------------------------------------------------*/
background { color Gray40 } #include "monde.inc"
plane {
y, 0
pigment
{
hexagon Gray55, rgb<0.55, 0.65, 0.30>, Gray75
scale 20
}
finish { reflection 0.42 }
}
#include "incs/rails.inc" #include "incs/rails.inc"
#include "incs/train.inc" #include "incs/train.inc"
@@ -42,15 +26,14 @@ union
camera camera
{ {
spherical
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,7 +3,10 @@
* Une citerne de St Chinian * Une citerne de St Chinian
*/ */
//----------------------------------------------------------------- //-----------------------------------------------------------------
#declare Diam_Citerne = 4.5;
#include "incs/constantes.inc"
#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);
#declare Larg_Cerclage = 0.6; #declare Larg_Cerclage = 0.6;
@@ -40,11 +43,8 @@ union {
} }
} }
scale <1, 0.882, 1> scale <1, 0.882, 1>
translate y*10.5 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 }
} }
pigment { color Gray60 } texture {
finish { phong 0.5 } pigment { color Gray60 }
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

@@ -7,24 +7,26 @@
#declare Ridelle_Cote = object #declare Ridelle_Cote = object
{ {
union { union {
cylinder { <0, 4.5, -11>, <0, 4.5, 11>, 0.5 } cylinder { <0, 4.5, -11>, <0, 4.5, 11>, 0.25 }
box { <-.5, 4, -11>, <.5, 4.5, 11> } box { <-.25, 4, -11>, <.25, 4.5, 11> }
#declare foo=0; #declare foo=0;
#while (foo<6) #while (foo<6)
box { <-.4, 0, foo*4-10-.3>, <.4, 4, foo*4-10+.3> } box { <-.4, 0, foo*4-10-.2>, <.4, 4, foo*4-10+.2> }
#declare foo=foo+1; #declare foo=foo+0.5;
#end #end
} }
texture { texture {
pigment { color MediumWood } pigment { color MediumWood }
finish { roughness .83 } finish { roughness .83 }
} }
translate y*5.75 translate y*5.85
} }
/* avant et arriere */
#declare Ridelle_Bout = object #declare Ridelle_Bout = object
{ {
box { <-4, 6.2, -0.3>, <4, 9.7, 0.3> } box { <-4, 6.2, -0.1>, <4, 9.7, 0.1> }
texture { texture {
pigment { color MediumWood } pigment { color MediumWood }
finish { roughness .73 } finish { roughness .73 }

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 { <-1, 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

@@ -1,6 +1,6 @@
/* /*
* experiment for the futur
*/ */
#declare Roue = object #declare Roue = object

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,34 +4,44 @@
*/ */
/*------------------------------------------------------------------*/ /*------------------------------------------------------------------*/
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 <30, 1, 30> 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
{ {
gradient y gradient y
color_map color_map
{ {
[0 color Khaki] [0 color Khaki ]
[0.1 color Gray20 ] [0.2 color Gray20 ]
[0.4 color Orange] [0.87 color LightBlue ]
[0.5 color Blue] [1 color Khaki ]
[.97 color LightBlue]
[1 color Khaki]
} }
turbulence 0.25
} }
rotate 50 rotate 50
scale 0.5 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.7, 0.3, 0.5> ]
[0.44 color <0.7, 0.3, 0.1> ]
[0.66 color Blue]
[1 color Black]
}
turbulence 0.42
}
scale .042
rotate 42
}
#include "incs/train.inc" #include "incs/train.inc"
#include "incs/locomotive.inc" #include "incs/locomotive.inc"
@@ -96,10 +66,10 @@ union {
camera camera
{ {
location <94, 24, -170> location <44, 4, -110>
right image_width/image_height*x right image_width/image_height*x
look_at <10, 0, 0> look_at <10, 1.9, 0>
angle 42 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 */
}
/*------------------------------------------------------------------*/ /*------------------------------------------------------------------*/
@@ -30,14 +21,13 @@ object { Wagon_Ridelles translate <0, 2, 0> }
camera camera
{ {
spherical location <40, 15, -50>
location <100, 35, -90>
right x*image_width/image_height right x*image_width/image_height
look_at <0, 5, 0> look_at <0, 5, 0>
angle 20 angle ANGLE_CAM
} }
light_source { <20, 70, -200> color White } light_source { < 200, 70, -200> color Gray50 }
light_source { <-20, 170, -150> color White } light_source { <-200, 170, -150> color White }
/*------------------------------------------------------------------*/ /*------------------------------------------------------------------*/

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,16 +10,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"
/*------------------------------------------------------------------*/ /*------------------------------------------------------------------*/
#include "plancher.inc" #include "monde.inc"
object { Plancher_0 scale <.5, 1, .5> }
/*------------------------------------------------------------------*/ /*------------------------------------------------------------------*/
@@ -33,20 +28,20 @@ object { Wagon_Citerne rotate y*50 translate x*16 }
#include "incs/poteaux.inc" #include "incs/poteaux.inc"
object { Poteau_0 } object { Poteau_0 }
object { Poteau_1 translate -z*9.34567 } object { Poteau_1 translate -z*12 }
/*------------------------------------------------------------------*/ /*------------------------------------------------------------------*/
camera camera
{ {
location <12, 20, -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 White } // 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 }
/*------------------------------------------------------------------*/ /*------------------------------------------------------------------*/