POV-Ray 5 - Uniwersytet Śląski

Transkrypt

POV-Ray 5 - Uniwersytet Śląski
Podstawy POV-Ray’a
Diana Domańska
Uniwersytet Śląski
Kamera
Definicja kamery opisuje pozycję, typ rzutowania oraz właściwości
kamery.
Kamera
Definicja kamery opisuje pozycję, typ rzutowania oraz właściwości
kamery.
Do zdefiniowania pozycji
oraz ułożenia kamery służą
polecenia umieszczone
wewnątrz camera { ... }
1
2
3
4
5
6
7
location <x, y, z>
direction <x, y, z>
right <x, y, z>
up <x, y, z>
sky <x, y, z>
angle k
look_at <x, y, z>
obraz
up
look_at
angle
right
location
direction
Wektory
ratio).
right, up
służą do określenia formatu obrazu (aspect
Wektory
ratio).
right, up
służą do określenia formatu obrazu (aspect
Do zmiany położenia kamery możemy również używać
transformacji: translate, rotate.
Wektory
ratio).
right, up
służą do określenia formatu obrazu (aspect
Do zmiany położenia kamery możemy również używać
transformacji: translate, rotate.
Typy rzutowania (pierwszy parametr w camera { ... }):
Ï perspective – rzutowanie perspektywiczne (domyślne),
parametr angle musi przyjmować wartość większą od 0 i
mniejszą od 180.
Wektory
ratio).
right, up
służą do określenia formatu obrazu (aspect
Do zmiany położenia kamery możemy również używać
transformacji: translate, rotate.
Typy rzutowania (pierwszy parametr w camera { ... }):
Ï perspective – rzutowanie perspektywiczne (domyślne),
parametr angle musi przyjmować wartość większą od 0 i
mniejszą od 180.
Ï orthographic – rzutowanie równoległe.
Wektory
ratio).
right, up
służą do określenia formatu obrazu (aspect
Do zmiany położenia kamery możemy również używać
transformacji: translate, rotate.
Typy rzutowania (pierwszy parametr w camera { ... }):
Ï perspective – rzutowanie perspektywiczne (domyślne),
parametr angle musi przyjmować wartość większą od 0 i
mniejszą od 180.
Ï orthographic – rzutowanie równoległe.
Ï fisheye – rzutowanie sferyczne, wartość 180 parametru angle
daje „standardowe” rzutowanie sferyczne. Otrzymany obraz
powinien być okrągły lub eliptyczny (w zależności od formatu
obrazu).
Wektory
ratio).
right, up
służą do określenia formatu obrazu (aspect
Do zmiany położenia kamery możemy również używać
transformacji: translate, rotate.
Typy rzutowania (pierwszy parametr w camera { ... }):
Ï perspective – rzutowanie perspektywiczne (domyślne),
parametr angle musi przyjmować wartość większą od 0 i
mniejszą od 180.
Ï orthographic – rzutowanie równoległe.
Ï fisheye – rzutowanie sferyczne, wartość 180 parametru angle
daje „standardowe” rzutowanie sferyczne. Otrzymany obraz
powinien być okrągły lub eliptyczny (w zależności od formatu
obrazu).
Ï ultra_wide_angle – działa podobnie jak rzutowanie sferyczne z
tą różnicą, że rzutowanie następuje na prostokąt a nie koło.
– rzutowanie sferyczne z kątem poziomym 180 i
zredukowanym kątem pionowym.
Ï omnimax
– rzutowanie sferyczne z kątem poziomym 180 i
zredukowanym kątem pionowym.
Ï omnimax
– rzutowanie cylindryczne, scena jest rzutowana
na cylinder. Parametr typ określa typ i przyjmuje wartość: 1, 2,
3 lub 4.
Ï cylinder typ
– rzutowanie sferyczne z kątem poziomym 180 i
zredukowanym kątem pionowym.
Ï omnimax
– rzutowanie cylindryczne, scena jest rzutowana
na cylinder. Parametr typ określa typ i przyjmuje wartość: 1, 2,
3 lub 4.
Ï cylinder typ
Ï spherical
– scena rzutowana jest na sferę.
– rzutowanie sferyczne z kątem poziomym 180 i
zredukowanym kątem pionowym.
Ï omnimax
– rzutowanie cylindryczne, scena jest rzutowana
na cylinder. Parametr typ określa typ i przyjmuje wartość: 1, 2,
3 lub 4.
Ï cylinder typ
Ï spherical
– scena rzutowana jest na sferę.
– rzutowanie panoramiczne. Obchodzi problem
degeneracji rzutowania perspektywicznego kiedy kąt patrzenia
zbliża się do 180 stopni.
Ï panoramic
– rzutowanie sferyczne z kątem poziomym 180 i
zredukowanym kątem pionowym.
Ï omnimax
– rzutowanie cylindryczne, scena jest rzutowana
na cylinder. Parametr typ określa typ i przyjmuje wartość: 1, 2,
3 lub 4.
Ï cylinder typ
Ï spherical
– scena rzutowana jest na sferę.
– rzutowanie panoramiczne. Obchodzi problem
degeneracji rzutowania perspektywicznego kiedy kąt patrzenia
zbliża się do 180 stopni.
Ï panoramic
Inne własności kamery:
1
2
3
blur_samples [mins, ] maxs // liczba probek
aperture s
// przeslona (wieksza wartosc =
wieksze rozmycie)
focal_point <x, y, z>
// ogniskowa
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include "colors.inc"
#include "textures.inc"
sphere { <1, 0, -6>, 0.5
pigment { NeonPink }
}
box { <-1, -1, -1>, < 1, 1, 1>
rotate <0, -20, 0>
pigment { Green }
}
cylinder { <-6, 6, 30>, <-6, -1, 30>,
3
pigment {NeonBlue}
}
plane { y, -1.0
pigment { checker color Gray65
color Gray30 }
}
light_source { <5, 30, -30> color
White }
light_source { <-5, 30, -30> color
White }
camera {
location <0.0, 1.0, -10.0>
look_at <0.0, 1.0, 0.0>
focal_point < 1, 1, -6>
aperture 0.4
blur_samples 20
}
Światło
Światło otaczające (ambient light)
Jest to światło emitowane równomiernie we wszystkich kierunkach.
Bez tego światła obszary, które nie byłyby bezpośrednio oświetlone
przez źródło światła mogłyby być zupełnie ciemne.
Domyślnie światło otaczające ma kolor biały (rgb
Zmiana koloru światła otaczającego
1
2
3
global_settings {
ambient_light rgb <r, g, b>
}
<1, 1, 1>).
Światło punktowe (point light)
Nie ma rozmiaru, światło rozchodzi się ze źródła jednakowo we
wszystkich kierunkach. Jest to domyślny rodzaj światła.
1
2
3
4
light_source {
<x, y, z>
// polozenie
color rgb <r, g, b> // kolor
}
Światło punktowe (point light)
Nie ma rozmiaru, światło rozchodzi się ze źródła jednakowo we
wszystkich kierunkach. Jest to domyślny rodzaj światła.
1
2
3
4
light_source {
<x, y, z>
// polozenie
color rgb <r, g, b> // kolor
}
Światło miejscowe (spot light)
Światło miejscowe tworzy stożek światła, który jest jasny w środku i
łagodnie ciemnieje zbliżając się do krawędzi.
1
2
3
4
5
6
7
8
9
10
light_source {
<x, y, z> //
color rgb <r,
spotlight
[radius r]
[falloff f]
[tightness t]
zanikania
[point_at <x,
[(opt.)]
}
location
polozenie
g, b> // kolor
// wspolczynnik
swiatla
y, z>]
falloff
radius
point_at
Światło cylindryczne (cylindrical light)
Światło punktowe, w którym zamiast stożka światła tworzony jest
walec światła. Promienie światła nie są równoległe.
1
2
3
4
5
6
7
8
9
10
light_source {
<x, y, z>
// polozenie
color rbg <r, g, b> // kolor
cylinder
[radius r]
[falloff f]
[tightness t]
[point_at <x, y, z>]
[(opt.)]
}
Światło obszarowe (area light)
Źródło światła obszarowego zajmuje skończony obszar przestrzeni
jedno- lub dwuwymiarowej. Rzucają miękkie cienie.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
light_source {
<x, y, z>
// polozenie
color rgb <r, g, b> // kolor
area_light
<x1, y1, z1>,
// wektory definiujace prostokat
<x2, y2, z2>,
// musza byc prostopadle
s1,
// liczba swiatel w wierszu
s2
// liczba swiatel w kolumnie
[addaptive a]
// adaptacyjne probkowanie swiatel
[jitter]
// losowe przesuwanie swiatel
[circular]
// swiatla organizowane sa w kolo
[orient]
// lepsze tworzenie miekkich cieni
// tylko z circular, wektory musza
// byc jednakowej dlugosci
// liczba swiatel w kol. i wier.
// muszi byc rowna
[(opt.)]
}
W następnych przykładach scena będzie miała następującą postać,
zmieniane będą tylko źródła światła
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include "colors.inc"
#include "textures.inc"
camera {
location <-4, 3, -9>
look_at
<0, 0, 0>
angle 50
}
plane { y, -2 pigment{White}}
torus { 1.5, 0.5
texture { Lightning2 }
rotate <90, 160, 0>
translate <-1, 0, 3>
}
box { <-1, -1, -1>, <1, 1, 1>
texture { EMBWood1 }
translate <2, -1, 2.3>
}
cone { <0,1,0>, 0, <0,0,0>, 1
texture { PinkAlabaster }
scale <1, 3, 1>
translate <-2, -2, -1>
}
sphere { <0,0,0>,1
texture { Blood_Marble }
translate <1.5, -1, -2>
}
1
2
3
4
1
2
3
4
5
6
7
light_source {
<2, 10, -3>
color White
}
light_source {
<2, 10, -3>
color White
area_light <5, 0, 0>, <0, 0,
5>, 5, 5
adaptive 1
jitter
}
1
2
3
4
5
6
7
8
9
1
2
3
4
5
6
7
8
9
light_source {
<0, 10, -3>
color White
spotlight
radius 15
falloff 20
tightness 10
point_at <0, -1, 0>
}
light_source {
<0, 10, -3>
color White
cylinder
radius 15
falloff 20
tightness 10
point_at <0, -1, 0>
}

Podobne dokumenty