POV-Ray 6 - Uniwersytet Śląski

Transkrypt

POV-Ray 6 - Uniwersytet Śląski
Podstawy POV-Ray’a
Diana Domańska
Uniwersytet Śląski
Pliki konfiguracyjne (*.ini)
W plikach konfiguracyjnych możemy ustawić różne właściwości
dotyczące renderingu. Przykładowe właściwości:
1
2
3
4
5
6
7
Input_File_Name = "nazwa.pov"
Height = 512
Width = 512
Output_File_Type = N
Output_File_Name = "nazwa"
Quality = 10
Antialias = on
– nazwa skryptu, którego dotyczy plik ini,
– wysokość/szerokość wynikowego obrazu,
Oputput_File_Type – typ obrazu wynikowego (C – TGA z kompresją,
T – TGA bez kompresji, N – PNG, P – PPM, S – BMP),
Output_File_Name – nazwa wynikowego obrazu, Quality – jakość
renderingu liczba ze zbioru {0, . . . , 11} (domyślnie 9), Antialias –
wygładzanie krawędzi.
Input_File_Name
Height/Width
Generowanie klatek animacji
W celu automatycznego generowania kolejnych klatek animacji
należy użyć zmiennej clock, która zmienia się od 0.0 do 1.0.
Zmiennej tej używamy w skrypcie z opisem sceny, umieszczając ją
przy obiektach, które mają się poruszać z klatki na klatkę.
Generowanie klatek animacji
W celu automatycznego generowania kolejnych klatek animacji
należy użyć zmiennej clock, która zmienia się od 0.0 do 1.0.
Zmiennej tej używamy w skrypcie z opisem sceny, umieszczając ją
przy obiektach, które mają się poruszać z klatki na klatkę.
W pliku konfiguracyjnym dla naszego skryptu musimy dodać linie
definiujące liczbę klatek do wyrenderowania
1
2
Initial_Frame = 1
Final_Frame = 20
Jeśli chcemy zmienić zakres zmienności zmiennej
linie
1
2
Initial_Clock = 0.0
Final_Clock = 2.0
clock
dodajemy
Jeśli chcemy zmienić zakres zmienności zmiennej
linie
1
2
clock
dodajemy
Initial_Clock = 0.0
Final_Clock = 2.0
Jeżeli któreś ramki źle się wyrenderują, to możemy je ponownie
wyrenderować bez konieczności renderowania wszystkich klatek
1
2
Subset_Start_Frame = 5
Subset_End_Frame = 10
Płaty Béziera
1
2
3
4
5
6
7
8
9
10
bicubic_patch {
type t
//
[u_steps nu] //
[v_steps nv] //
[flatness f] //
<x1, y1, z1> //
...
<x16, y16, z16>
[(opt.)]
}
typ = 0 lub 1 (0 - mniej pamieci)
liczba wierszy w siatce koncowej
liczba kolumn w siatce koncowej
test gładkości
punkty kontrolne
P3
P2
P1
P4
P6
P7
P5
P10
P11
P9
P14
P13
P8
P12
P15
P16
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include "colors.inc"
#include "textures.inc"
camera {
location <-4, 3, -9>
look_at
<0, 0, 0>
angle 50
}
light_source {
<0, 10, 0>
color White
}
bicubic_patch {
type 0
u_steps 4
v_steps 4
<-2, -1, 2>, <-1, 0, 2>, <1, 0, 2>, <2,
-1, 2>,
<-2, 0, 1>, <-1, 2, 1>, <1, 2, 1>, <2,
0, 1>,
<-2, 0, -1>, <-1, 2, -1>, <1, 2, -1>,
<2, 0, -1>,
<-2, -1, -2>, <-1, 0, -2>, <1, 0, -2>,
<2, -1, -2>
texture{Cork}
}
Siatki
1
2
3
4
5
6
7
8
9
10
11
12
13
mesh {
triangle {
<x1, y1, z1>, <x2, y2, z2>, <x3, y3, z3>
[(opt.)]
}
triangle {
<x1, y1, z1>, <x2, y2, z2>, <x3, y3, z3>
[(opt.)]
}
...
[inside_vector <x, y, z>]
[(opt.)]
}
Siatki
1
2
3
4
5
6
7
8
9
10
11
12
13
mesh {
triangle {
<x1, y1, z1>, <x2, y2, z2>, <x3, y3, z3>
[(opt.)]
}
triangle {
<x1, y1, z1>, <x2, y2, z2>, <x3, y3, z3>
[(opt.)]
}
...
[inside_vector <x, y, z>]
[(opt.)]
}
W przypadku gdy siatka jest zamknięta to możemy jej użyć do
CSG, ale musimy podać inside_vector (wektor definiujący kierunek
do wewnątrz).
Drugi rodzaj siatki stosowany jest najczęściej przy wczytywaniu
siatki z zewnętrznego pliku
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
mesh2 {
vertex_vectors {
n, // liczba wierzcholkow
<x1, y1, z1>,
...
<xn, yn, zn>
}
texture_list {
n, // liczba tekstur
texture { tex1 },
...
texture { texn }
}
face_indices {
n, // liczba scianek
<ind1_a, ind1_b, ind1_c> [, tex_ind [, tex_ind, tex_ind]],
...
<indn_a, indn_b, indn_c> [, tex_ind [, tex_ind, tex_ind]]
}
[inside_vector <x, y, z>]
[(opt.)]
}
Mapa wysokości
Mapa wysokości służy do tworzenia m.in. terenów. Wczytywany jest
plik z mapą wysokości (kolor piksela jest przeliczany na wysokość
czyli liczbę z [0, 1]).
1
2
3
4
5
6
7
8
9
height_field {
[typ]
// exr, gif, hdr, iff, jpeg, pgm, png, pot,
// ppm, sys, tga, tiff
"nazwa" // nazwa pliku z mapa wysokosci
[smooth] // wygladzanie siatki
[water_level w] // poziom ponizej ktorego teren bedzie
// uznawany pod woda (liczba z [0, 1])
[(opt.)]
}
Mapa wysokości
Wyrenderowany teren

Podobne dokumenty