Compare commits

...

31 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
le vieux
46defccb32 wipi wip wip 2021-03-11 23:33:35 +01:00
le vieux
8441d5ebe9 first complete run 2021-03-08 14:35:37 +01:00
42 changed files with 793 additions and 586 deletions

8
.gitignore vendored
View File

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

117
Makefile
View File

@@ -1,124 +1,105 @@
#--------------------------------------------------------
MOYEN=+w1280 +h1024
GRAND=+w1600 +h1200
PETIT=+w800 +h600
DIMS=$(PETIT)
PETIT = +w800 +h600
MOYEN = +w1152 +h900
GRAND = +w1600 +h1200
DIMS=$(MOYEN)
OPTS=+a +q9 -d
LOWR=-a +q5 -d
OPTS = +a0.01 +q9 -d
POVRAY=povray
POVRAY = povray
# nouveau mars 2001
INCS = incs/
# nouveau mars 2021
INCS = incs
# CJPEGOPT=-quality 88 -progressive -dct float -targa
CJPEGOPT = -progressive -dct float -quality 88
PNGOPT = -interlace -compression 9 -text png.txt
all: loco.png parking.png corail.png train.png \
inside.png benne.png electric.png truc.png wagons.png \
ridelles.png rotonde.png grue.png t1.jpg t2.jpg t3.jpg \
citerne.png
echo "on a fait les images" >> log.toto
all: loco.png parking.png corail.png train.png essai.png \
inside.png benne.png electric.png truc.png wagons.png \
ridelles.png rotonde.png grue.png \
citerne.png voiture.png gare.png
targa: tmp/ridelles.tga tmp/electric.tga tmp/citerne.tga \
tmp/corail.tga tmp/voiture.tga
echo "on a fait les targas" >> log.toto
GLOBDEPS=${INCS}/train.inc ${INCS}/plancher.inc ${INCS}/poteaux.inc \
${INCS}/rails.inc ${INCS}/grue.inc \
${INCS}/constantes.inc
GLOBDEPS=${INCS}/train.inc ${INCS}/poteaux.inc \
${INCS}/electric.inc ${INCS}/voiture.inc \
${INCS}/rails.inc ${INCS}/grue.inc ${INCS}/ridelles.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)
$(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
#-----------------------------------------------------------------------
#
# le grand garage de tout les wagons
#
tmp/rotonde.tga: rotonde.pov rotonde.inc
$(POVRAY) +Irotonde +FT +Otmp/ $(DIMS) $(OPTS) +v
rotonde.jpg: tmp/rotonde.tga
cjpeg $(CJPEGOPT) tmp/rotonde.tga > rotonde.jpg
#-----------------------------------------------------------------------
rotonde.png: rotonde.pov Makefile $(GLOBDEPS)
$(POVRAY) +Irotonde $(DIMS) $(OPTS) +v
parking.png: parking.pov Makefile $(GLOBDEPS)
$(POVRAY) +Iparking $(DIMS) $(OPTS) +v
loco.png: loco.pov ${DEPS} Makefile
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
$(POVRAY) +Iloco $(DIMS) $(OPTS) +v
train.png: train.pov ${DEPS} Makefile
train.png: train.pov ${GLOBDEPS} Makefile
$(POVRAY) +Itrain $(DIMS) $(OPTS) +v
corail.png: corail.pov Makefile $(GLOBDEPS)
$(POVRAY) +Icorail $(DIMS) $(OPTS) +v
gare.tga: gare.pov gare.inc plancher.tga plancher.inc \
enseigne.inc Makefile
$(POVRAY) +Igare +FT $(DIMS) $(OPTS) +v
#-----------------------------------------------------------------------
tmp/wagons.tga: wagons.pov plancher.inc ridelles.inc \
train.inc poteaux.inc Makefile
$(POVRAY) +Iwagons +ft +Otmp/ $(DIMS) $(OPTS) +v
wagons.jpg: tmp/wagons.tga
cjpeg $(CJPEGOPT) tmp/wagons.tga > wagons.jpg
inside.png: inside.pov $(GLOBDEPS) Makefile
$(POVRAY) +Iinside $(DIMS) $(OPTS) +v
benne.png: benne.pov $(GLOBDEPS) Makefile
$(POVRAY) +Ibenne $(DIMS) $(OPTS) +v
tmp/citerne.tga: citerne.pov citerne.inc $(GLOBDEPS)
$(POVRAY) +Iciterne +Otmp/citerne +FT $(DIMS) $(OPTS) +v
citerne.jpg: tmp/citerne.tga
cjpeg $(CJPEGOPT) tmp/citerne.tga > citerne.jpg
electric.png: electric.pov $(GLOBDEPS) Makefile
$(POVRAY) +Ielectric $(DIMS) $(OPTS) +v
citerne.png: citerne.pov $(GLOBDEPS) Makefile
$(POVRAY) +Iciterne $(DIMS) $(OPTS) +v
truc.png: truc.pov $(GLOBDEPS) Makefile
$(POVRAY) +Itruc $(DIMS) $(OPTS) +v
ridelles.png: ridelles.pov $(GLOBDEPS) Makefile
$(POVRAY) +Iridelles $(DIMS) $(OPTS) +v
tmp/ridelles.tga: ridelles.pov ridelles.inc $(GLOBDEPS)
$(POVRAY) +Iridelles +ft +Otmp/ridelles $(DIMS) $(OPTS) +v
ridelles.jpg: tmp/ridelles.tga
cjpeg $(CJPEGOPT) tmp/ridelles.tga > ridelles.jpg
tmp/grue.tga: grue.pov train.inc grue.inc rails.inc \
poteaux.inc Makefile
$(POVRAY) +Igrue +ft +otmp/ $(DIMS) $(OPTS) +v
grue.jpg: tmp/grue.tga
cjpeg $(CJPEGOPT) tmp/grue.tga > grue.jpg
grue.png: grue.pov $(GLOBDEPS) Makefile
$(POVRAY) +Igrue $(DIMS) $(OPTS) +v
#--------------------------------------------------------
# les trucs en travaux
tmp/voiture.tga: voiture.inc voiture.pov $(GLOBDEPS)
$(POVRAY) +Ivoiture +FT +Otmp/ $(DIMS) $(OPTS) +v
voiture.png: voiture.pov $(GLOBDEPS) Makefile
$(POVRAY) +Ivoiture $(DIMS) $(OPTS) +v
#--------------------------------------------------------
SRCFILES = *.inc *.pov *.txt Makefile *.sh
SRCFILES = *.inc incs/*.inc *.pov *.txt Makefile tools/*.sh
lines:
wc $(SRCFILES) | sort -n
@@ -127,7 +108,7 @@ tarball: $(SRCFILES)
ls $^ > MANIFEST ; \
( cd .. ; \
tar zcvf jouets-tth.tar.gz \
`sed 's/^/Jouets\//' Jouets/MANIFEST` )
`sed 's/^/PovJouets\//' PovJouets/MANIFEST` )
date >> tarball
#--------------------------------------------------------

View File

@@ -1,3 +1,12 @@
# 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;
global_settings { assumed_gamma 1.0 }
#include "colors.inc"
#include "metals.inc"
#include "contexte.inc"
/*------------------------------------------------------------------*/
@@ -25,30 +22,14 @@ object { Wagon_Benne translate y*2 }
/*------------------------------------------------------------------*/
#include "incs/plancher.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
}
#include "monde.inc"
camera
{
location <35.5, 13, 20>
location <35.5, 21, 40>
right image_width/image_height*x
look_at <0, 6, 0>
angle 51
angle ANGLE_CAM
}
light_source { <90, 131, 190> color White }

33
citerne.pov Normal file
View File

@@ -0,0 +1,33 @@
/*
* une citerne pour transporter le pinard
*/
#version 3.7;
#include "contexte.inc"
/*------------------------------------------------------------------*/
#include "incs/train.inc"
#include "incs/rails.inc"
#include "incs/citerne.inc"
#include "incs/decor.inc"
object { Un_Rail_Droit }
object { Wagon_Citerne translate y*2 }
/*------------------------------------------------------------------*/
#include "monde.inc"
camera
{
location <46, 13, -41>
right image_width/image_height*x
look_at <0, 5.8, 0>
angle ANGLE_CAM
}
light_source { <290, 131, -190> color White }
light_source { <290, 111, -250> color White }
/*------------------------------------------------------------------*/

View File

@@ -0,0 +1,49 @@
/*
* 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

@@ -5,37 +5,12 @@
*
*/
#include "colors.inc"
#include "metals.inc"
#include "textures.inc"
#version 3.7;
#include "contexte.inc"
/*------------------------------------------------------------------*/
plane {
y, 0
pigment
{
brick Gray35, rgb<0.50, 0.40, 0.20>
rotate z*90
}
}
sky_sphere {
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 "monde.inc"
#include "incs/train.inc"
#include "incs/rails.inc"
@@ -64,12 +39,13 @@ union
camera
{
location <18, 10, -45>
look_at <0, 6, 0>
angle 62
location <38, 10, -45>
right image_width/image_height*x
look_at <-5.3, 7, 0>
angle ANGLE_CAM
}
light_source { <550, 725, -900> color Gray60 }
// light_source { <550, 725, -900> color Gray60 }
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;
#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 }
plane {
y, 0
pigment
{
hexagon Gray55, rgb<0.55, 0.65, 0.30>, Gray75
scale 20
}
finish { reflection 0.42 }
}
#include "monde.inc"
#include "incs/rails.inc"
#include "incs/train.inc"
@@ -42,16 +26,14 @@ union
camera
{
spherical
right x*image_width/image_height
right x*image_width/image_height
location <11, 11.1, -54>
look_at <0, 8, -10>
angle 38
right x*image_width/image_height
location <39, 11.1, -44>
look_at <0, 8, 0>
angle ANGLE_CAM
}
light_source { <7, 8, -54> color Gray80 }
light_source { <150, 130, -150> color Green }
light_source { <17, 8, -54> color Gray80 }
// light_source { <150, 130, -150> color Green }
light_source { <270, 130, 250> color Gray50 }
/*------------------------------------------------------------------*/

View File

@@ -1,30 +1,29 @@
/*
un fichier de test.
essai.pov -- un fichier de test.
*/
#version 3.7;
global_settings { assumed_gamma 1.0 }
#include "contexte.inc"
#include "colors.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 }
// object { Boogie }
// object { Grande_Roue }
#include "incs/enseigne.inc"
object { Enseigne_Corail_texte }
camera {
location <15.5, 8, 9>
location <17.5, 3, 10>
right image_width/image_height*x
look_at <0, 0, 0>
angle 42
angle ANGLE_CAM
}
cylinder { <-100, 0, 0>, <100, 0, 0>, 0.1 pigment { color Red } }
cylinder { <0, -100, 0>, <0, 100, 0>, 0.1 pigment { color Green } }
cylinder { <0, 0, -100>, <0, 0, 100>, 0.1 pigment { color Blue } }
object { Repere scale 0.5 }
light_source { <90, 131, 190> 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 }
/*------------------------------------------------------------------*/

41
grue.pov Normal file
View File

@@ -0,0 +1,41 @@
/*
* un gros chantier, vraiment gros (cTMr)
*/
#version 3.7;
#include "contexte.inc"
/*------------------------------------------------------------------*/
#include "monde.inc"
#include "incs/train.inc"
#include "incs/rails.inc"
#include "incs/grue.inc"
object
{
union
{
object { Wagon_Grue translate y*2 }
object { Un_Rail_Droit }
object { Un_Rail_Droit translate z*100 }
object { Un_Rail_Droit translate z*200 }
}
}
/*------------------------------------------------------------------*/
camera
{
location <42, 12, 25>
right image_width/image_height*x
look_at <0, 6, 3>
angle 42
}
light_source { <350, 425, -500> color Green }
light_source { <70, 38, 40> color White }
/*------------------------------------------------------------------*/

View File

@@ -18,10 +18,7 @@ union {
cylinder { <0, 4.5, 9.75>, <0, 4.5, 12>, .8 }
}
translate y*6
texture {
pigment { color Green }
finish { phong 0.5 }
}
texture { Vert_Train_1 }
}
//-----------------------------------------------------------------
@@ -94,7 +91,7 @@ texture {
union
{
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 { Piston_Benne }

View File

@@ -3,7 +3,10 @@
* 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 Diam_Cerclage = (Diam_Citerne+Epp_Cerclage);
#declare Larg_Cerclage = 0.6;
@@ -40,11 +43,8 @@ union {
}
}
scale <1, 0.882, 1>
translate y*10.5
texture {
pigment { color rgb <0.96, 0.25, 0.2> }
finish { phong 0.6 }
}
translate y*10.7 // ???
texture { Rouge_Train_1 }
}
//-----------------------------------------------------------------

View File

@@ -1,11 +1,11 @@
/*
LES JOUETS DE TONTON TH
LES POVJOUETS DE TONTON TH
Quelque constantes utiles
*/
#ifdef(Jouets_Constantes)
// do nothing
#error "constantes deja definies\n"
// #warning "*** constantes deja definies\n"
#else
#declare Jouets_Constantes=version;
@@ -18,11 +18,57 @@
/* generateur de nombres pseudo-aleatoires.
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' */
#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

View File

@@ -6,27 +6,22 @@
#declare Chassis_Corail = object
{
union
{
union {
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> }
}
texture {
pigment { color Yellow }
finish { phong 0.7 }
}
texture { Jaune_Corail }
}
#declare Base_Corail = object
{
union
{
union {
object { Chassis_Corail }
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
{
difference
{
difference {
box { <-1, -HAUT_FEN, -LARG_FEN>,
<1, HAUT_FEN, LARG_FEN> }
box { <-2, -HAUT_FEN+E_FEN, -LARG_FEN+E_FEN>,
<2, HAUT_FEN-E_FEN, LARG_FEN-E_FEN> }
}
texture { T_Chrome_2C }
}
#declare Cabine_Corail = object
{
difference
{
difference {
box { <-4.5, 6.6, -20>, <4.5, 15, 20> }
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> }
}
pigment { color Orange }
finish { phong 0.5 }
texture { Orange_Corail }
}
#declare Toit_Corail = object
{
intersection
{
intersection {
box { <-4.7, 0, -21>, <4.7, 14, 21> }
cylinder { <0, -11, -22>, <0, -11, 22>, 12.5 }
}
translate y*15
texture
{
texture {
pigment { color Red }
finish { phong 0.6 }
}
@@ -90,28 +79,33 @@ texture
//
// 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
{
#local posX = 4.8;
#local diametre = 1.2;
union
{
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 }
union {
object { Citerne_Corail translate -x* Etc }
object { Citerne_Corail translate x* Etc }
}
texture { T_Chrome_4C }
}
// ------------------------------------------
#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 }
@@ -134,15 +128,13 @@ texture { T_Chrome_2C }
#declare Coussins_Siege_Corail = object
{
union
{
union {
box { <-2, 1.75, -1>, <2, 1.40, 1> }
box { <-2, 1.95, 1>, <2, 3.10, 0.8> }
cylinder { <-2, 3.38, 0.9>, <2, 3.38, 0.9>, 0.2 }
}
texture
{
texture {
pigment { color Brown }
normal { bumps 0.6 scale 0.42 }
finish { phong 0.4 diffuse 0.3 }
@@ -151,8 +143,7 @@ texture
#declare Siege_Corail = object
{
union
{
union {
object { Armature_Siege_Corail }
object { Coussins_Siege_Corail }
}
@@ -164,27 +155,25 @@ union
//
#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
{
union
{
union {
#declare foo = -2;
#while (foo <= 2)
#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 {
<0, 0, px> color Gray35
fade_distance 6 fade_power 1
looks_like { Ampoule_Corail }
translate y*13.8
translate y*13.85
}
#declare foo = foo + 1;
@@ -195,8 +184,7 @@ union
#declare Interieur_Corail = object
{
union
{
union {
#declare foo = -4;
#while (foo <= 4)
#declare px = foo * 4.16;
@@ -206,14 +194,12 @@ union
}
}
// ------------------------------------------
/*
* MAIS CETTE RAMPE EST COMPLETEMENT FAUSSE !!!
*/
#declare Rampe = object
{
union
{
union {
#declare foo = -2;
#while (foo <= 2)
#declare px = foo * 6.97;
@@ -235,15 +221,14 @@ union
#declare Wagon_Corail = object
{
union
{
union {
object { Base_Corail }
object { Cabine_Corail }
object { Toit_Corail }
object { Tuyaux_Corail }
object { Tuyaux_Corail translate y*4.16 }
object { Interieur_Corail }
object { Lumieres_Corail }
object { Rampe }
// object { Rampe }
}
}

View File

@@ -8,16 +8,16 @@
#declare Base_Loco_Electric = object
{
union
{
object { Petite_Roue scale <-1, 1, 1> translate <-5.5, 0, -12> }
object { Petite_Roue translate < 5.5, 0, -12> }
object { Petite_Roue scale <-1, 1, 1> translate <-5.5, 0, -5> }
object { Petite_Roue translate < 5.5, 0, -5> }
object { Petite_Roue scale <-1, 1, 1> translate <-5.5, 0, 5> }
object { Petite_Roue translate < 5.5, 0, 5> }
object { Petite_Roue scale <-1, 1, 1> translate <-5.5, 0, 12> }
object { Petite_Roue translate < 5.5, 0, 12> }
#local DYR = 3;
union {
object { Petite_Roue scale <-1, 1, 1> translate <-5.5, DYR, -12> }
object { Petite_Roue translate < 5.5, DYR, -12> }
object { Petite_Roue scale <-1, 1, 1> translate <-5.5, DYR, -5> }
object { Petite_Roue translate < 5.5, DYR, -5> }
object { Petite_Roue scale <-1, 1, 1> translate <-5.5, DYR, 5> }
object { Petite_Roue translate < 5.5, DYR, 5> }
object { Petite_Roue scale <-1, 1, 1> translate <-5.5, DYR, 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
{

View File

@@ -1,54 +1,55 @@
/*
*/
#include "chars.inc"
#declare Enseigne = object
/* ===========================================================*/
/*
* see 'gare.inc' for usage
*/
#declare Enseigne_Hello = object
{
union
{
object {
char_H
translate x*-27.5
}
object {
char_E
translate x*-22.5
}
object {
char_L
translate x*-17.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
}
object { char_H translate x*-27.5 }
object { char_E translate x*-22.5 }
object { char_L translate x*-17.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 }
}
/* ===========================================================*/
#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 }
}
#include "decor.inc"
#include "enseigne.inc"
#include "rails.inc"
#include "incs/enseigne.inc"
#declare Gare = object
{
@@ -43,7 +43,7 @@ union
{
object { Corps_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)
// on fait quedalle
#debug "instruments deja inclus\r\n"
#warning "*** instruments deja inclus ***\r\n"
#else
#declare Jouets_Instruments = version;

View File

@@ -10,17 +10,19 @@
#declare Base_Loco_Vapeur = object
{
#local HGR = 4;
#local HPR = 3;
union
{
object { Chassis_Long }
object { Petite_Roue scale <-1, 1, 1> translate <-5.5, 0, -13> }
object { Petite_Roue translate < 5.5, 0, -13> }
object { Grande_Roue scale <-1, 1, 1> translate <-5.5, 0, -5> }
object { Grande_Roue translate < 5.5, 0, -5> }
object { Grande_Roue scale <-1, 1, 1> translate <-5.5, 0, 5> }
object { Grande_Roue translate < 5.5, 0, 5> }
object { Petite_Roue scale <-1, 1, 1> translate <-5.5, 0, 13> }
object { Petite_Roue translate < 5.5, 0, 13> }
object { Petite_Roue scale <-1, 1, 1> translate <-5.5, HPR, -13> }
object { Petite_Roue translate < 5.5, HPR, -13> }
object { Grande_Roue scale <-1, 1, 1> translate <-5.5, HGR, -5> }
object { Grande_Roue translate < 5.5, HGR, -5> }
object { Grande_Roue scale <-1, 1, 1> translate <-5.5, HGR, 5> }
object { Grande_Roue translate < 5.5, HGR, 5> }
object { Petite_Roue scale <-1, 1, 1> translate <-5.5, HPR, 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, -1>, .6 }
}
pigment { color Gray60 }
finish { phong 0.5 }
texture {
pigment { color Gray60 }
finish { phong 0.5 }
}
translate y*10
}
@@ -59,7 +63,7 @@ difference {
cylinder { <0, 3, -8>, <0, 6.2, -8>, .95 }
}
texture {
pigment { color Gray40 }
pigment { color Gray30 }
finish { phong 0.65 }
}
translate y*10
@@ -102,8 +106,8 @@ union
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

View File

@@ -1,39 +0,0 @@
/*
*
*
*/
/*------------------------------------------------------------------*/
plane {
y, 0
pigment {
image_map {
png "picz/plancher.png" interpolate 2
}
rotate x*90
translate <-0.5, 0, -0.5>
scale <30, 1, 30>
}
}
sky_sphere {
pigment
{
gradient y
color_map
{
[0 color Khaki]
[0.1 color Gray20 ]
[0.4 color Orange]
[0.5 color Blue]
[.97 color LightBlue]
[1 color Khaki]
}
}
rotate 50
scale 0.5
translate -1
}
/*------------------------------------------------------------------*/

View File

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

View File

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

View File

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

View File

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

View File

@@ -6,43 +6,19 @@
*/
#version 3.7;
global_settings { assumed_gamma 1.0 }
#include "colors.inc"
#include "metals.inc"
#include "contexte.inc"
/*------------------------------------------------------------------*/
sky_sphere {
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 "monde.inc"
#include "incs/train.inc"
#include "incs/corail.inc"
object { Wagon_Corail }
camera {
location <-1.6, 10, -19>
location <-1.6, 12, -19>
right image_width/image_height*x
look_at <1, 4, 10>
angle 80
}
@@ -50,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 { <120, 11, -185> color White }

View File

@@ -1,85 +1,47 @@
/*
*
*
* LOCO.POV
*/
#version 3.7;
#include "colors.inc"
#include "metals.inc"
global_settings {
ambient_light <0.18, 0.25, 0.35>
assumed_gamma 1.0 /* pour povray 3.7 */
}
#include "contexte.inc"
/*------------------------------------------------------------------*/
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 {
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 "monde.inc"
#include "incs/rails.inc"
#include "incs/train.inc"
#include "incs/locomotive.inc"
// #include "electric.inc"
#include "incs/electric.inc"
union {
object { Un_Rail_Droit }
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
}
#if (0)
union {
object { Un_Rail_Droit }
object { Un_Rail_Droit translate z*-100 }
// object { Locomotive_Electric translate y*2 }
object { Locomotive_Electric translate y*2 }
translate x*42
}
#end
/*------------------------------------------------------------------*/
camera {
location <-42, 17.5, 32>
location <-72, 17.5, 32>
right image_width/image_height*x
look_at <5, 9.7, 18>
angle 42
angle ANGLE_CAM
}
light_source { <150, 118, -150> color Gray70 }
light_source { <-170, 298, -250> color Gray70 }
light_source { <-700, 200, 150> color White }
/*------------------------------------------------------------------*/

48
monde.inc Normal file
View File

@@ -0,0 +1,48 @@
/*
*
*
*/
/*------------------------------------------------------------------*/
#declare R_monde = 290; /* le rayon du monde */
cylinder {
<0, -0.2, 0>, 0, R_monde
pigment {
image_map {
png "picz/plancher.png" interpolate 2
}
rotate x*90
translate <-0.5, 0, -0.5>
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 {
pigment
{
gradient y
color_map
{
[0 color Khaki ]
[0.2 color Gray20 ]
[0.87 color LightBlue ]
[1 color Khaki ]
}
turbulence 0.25
}
rotate 50
scale 0.15
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
*
*/
#version 3.7;
global_settings { assumed_gamma 1.0 }
#include "colors.inc"
#include "metals.inc"
#include "contexte.inc"
/*------------------------------------------------------------------*/
disc {
<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 "monde.inc"
#include "incs/train.inc"
#include "incs/locomotive.inc"
@@ -96,9 +66,10 @@ union {
camera
{
location <94, 24, -170>
look_at <10, 0, 0>
angle 42
location <44, 4, -110>
right image_width/image_height*x
look_at <10, 1.9, 0>
angle ANGLE_CAM
}
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 {
y, 0
pigment {
image_map
{
png "picz/plancher.png" interpolate 4
}
image_map { png "picz/plancher.png" interpolate 4 }
rotate x*90
translate <-0.5, 0, -0.5>
scale <30, 1, 30>
@@ -25,10 +22,7 @@ plane {
plane {
y, 0
pigment {
image_map
{
png "picz/plancher.png" interpolate 4
}
image_map { png "picz/plancher.png" interpolate 4 }
rotate x*90
translate <-0.5, 0, -0.5>
scale <30, 1, 30>

View File

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

33
ridelles.pov Normal file
View File

@@ -0,0 +1,33 @@
#version 3.7;
#include "contexte.inc"
/*------------------------------------------------------------------*/
#include "monde.inc"
#include "incs/train.inc"
#include "incs/rails.inc"
object { Un_Rail_Droit }
object { Un_Rail_Droit translate z*-100 }
object { Un_Rail_Droit translate z* 100 }
#include "incs/ridelles.inc"
object { Wagon_Ridelles translate <0, 2, 0> }
/*------------------------------------------------------------------*/
camera
{
location <40, 15, -50>
right x*image_width/image_height
look_at <0, 5, 0>
angle ANGLE_CAM
}
light_source { < 200, 70, -200> color Gray50 }
light_source { <-200, 170, -150> color White }
/*------------------------------------------------------------------*/

30
rotonde.pov Normal file
View File

@@ -0,0 +1,30 @@
/*
* le grand garage des trains
*/
#version 3.7;
#include "contexte.inc"
/*------------------------------------------------------------------*/
#include "incs/poteaux.inc"
object { Poteau_1 }
#include "incs/rotonde.inc"
object { Rotonde_0 }
#include "incs/rails.inc"
object { Un_Rail_Droit translate z*-100}
/*------------------------------------------------------------------*/
camera
{
location <20, 70, 240>
right image_width/image_height*x
look_at <0, 24, 0>
angle ANGLE_CAM
}
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"
#include "metals.inc"
#include "textures.inc"
#version 3.7;
#include "contexte.inc"
/*------------------------------------------------------------------*/
global_settings { ambient_light Gray10 }
#include "monde.inc"
#include "incs/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/electric.inc"
#include "incs/rails.inc"
#include "incs/benne.inc"
#include "incs/citerne.inc"
#include "incs/ridelles.inc"
#include "incs/corail.inc"
#include "incs/locomotive.inc"
union
{
#declare Trois_rails = object
{
union {
object { Un_Rail_Droit }
object { Un_Rail_Droit translate z*-100 }
object { Un_Rail_Droit translate z* 100 }
}
}
object { Locomotive_Vapeur translate <0, 2, -56> }
object { Wagon_Citerne translate <0, 2, -25> }
object { Wagon_Benne translate <0, 2, 2> }
object { Wagon_Corail translate <0, 2, 39> }
object { Wagon_Ridelles translate <0, 2, 78> }
#declare Train_Electric = object
{
union {
object { Locomotive_Electric translate <0, 2, -10> }
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"
@@ -67,13 +67,14 @@ union
camera
{
location <130, 18, 15>
look_at <0, 3, 10>
angle 70
location <260, 38, 25>
right image_width/image_height*x
look_at <0, 3, 12>
angle ANGLE_CAM
}
light_source { <150, 98, -150> color Orange }
light_source { <170, 88, -170> color Yellow }
light_source { <150, 98, -150> color Orange }
light_source { <170, 128, -170> color Yellow }
// light_source { <100, 100, 50> color White }

View File

@@ -3,11 +3,7 @@
*/
#version 3.7;
global_settings { assumed_gamma 1.0 }
#include "colors.inc"
#include "metals.inc"
#include "textures.inc"
#include "contexte.inc"
/*------------------------------------------------------------------*/
@@ -22,23 +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
{
location <-15, 11.333, 35>
right image_width/image_height*x
look_at <0, 9, 0>
angle 42
angle ANGLE_CAM
}
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 }
/*------------------------------------------------------------------*/

47
wagons.pov Normal file
View File

@@ -0,0 +1,47 @@
/*
* tous les petits jouets ensembles
* --------------------------------
*
* les dimensions sont en centimetres, et on regardera
* les choses a une hauteur de 40 cm.
*
* pour plus de details: oulala@chez.com
*
*/
#version 3.7;
#include "contexte.inc"
/*------------------------------------------------------------------*/
#include "monde.inc"
/*------------------------------------------------------------------*/
#include "incs/train.inc"
#include "incs/citerne.inc"
#include "incs/ridelles.inc"
object { Wagon_Ridelles rotate y*-10 translate x*-14 }
object { Wagon_Citerne rotate y*50 translate x*16 }
#include "incs/poteaux.inc"
object { Poteau_0 }
object { Poteau_1 translate -z*12 }
/*------------------------------------------------------------------*/
camera
{
location <14, 10, -80>
right image_width/image_height*x
look_at <0, 7, 0>
angle ANGLE_CAM
}
// light_source { <-50, 120, -330> color Gray50 }
// light_source { <190, 498, -250> color White }
light_source { <160, 99, -450> color Yellow }
/*------------------------------------------------------------------*/