author | Radek Brich <radek.brich@devl.cz> |
Wed, 09 Apr 2008 00:29:11 +0200 | |
branch | pyrit |
changeset 61 | 7006036eb0db |
parent 60 | a23b5089b9c3 |
child 62 | 07c2f8084719 |
permissions | -rwxr-xr-x |
26 | 1 |
#!/usr/bin/python |
2 |
||
3 |
# this demo needs bunny model from |
|
4 |
# http://graphics.stanford.edu/data/3Dscanrep/ |
|
5 |
||
38
5d043eeb09d9
realtime_dragon demo: now fullsize model + octree
Radek Brich <radek.brich@devl.cz>
parents:
34
diff
changeset
|
6 |
from raytracer import Raytracer, Light, Box, Triangle, Material |
29
574c34441a1c
new C++ demo: realtime_bunny
Radek Brich <radek.brich@devl.cz>
parents:
28
diff
changeset
|
7 |
from plyreader import LoadStanfordPlyFile |
26 | 8 |
import Image |
9 |
||
10 |
rt = Raytracer() |
|
31 | 11 |
#rt.ambientocclusion(samples=100, distance=16.0, angle=0.5) |
12 |
||
26 | 13 |
mat = Material(colour=(0.9, 0.9, 0.9)) |
31 | 14 |
mat.setTransmissivity(0.8) |
29
574c34441a1c
new C++ demo: realtime_bunny
Radek Brich <radek.brich@devl.cz>
parents:
28
diff
changeset
|
15 |
LoadStanfordPlyFile(rt, "../models/bunny/bun_zipper.ply", |
31 | 16 |
mat, smooth=True, scale=(-29.0, 29.0, 29.0), trans=(-1,-2.5,-3)) |
17 |
||
46 | 18 |
mat0 = Material(colour=(0.1, 0.2, 0.6)) |
31 | 19 |
box1 = Box(L=(-20.0, -1.7, -20.0), H=(20.0, -1.5, 20.0), material=mat0) |
20 |
rt.addshape(box1) |
|
26 | 21 |
|
46 | 22 |
mat1 = Material(colour=(0.5, 0.5, 0.2)) |
31 | 23 |
mat1.setReflectivity(0.0) |
24 |
box2 = Box(L=(-20.0, -20.0, -10.0), H=(20.0, 20.0, -12.0), material=mat1) |
|
25 |
rt.addshape(box2) |
|
26 |
||
46 | 27 |
light = Light(position=(-5.0, 3.0, 10.0), colour=(0.8, 0.5, 0.6)) |
40
929aad02c5f2
Makefile: added help and distclean target, plus small fixes
Radek Brich <radek.brich@devl.cz>
parents:
38
diff
changeset
|
28 |
#light.castshadows(0) |
26 | 29 |
rt.addlight(light) |
30 |
||
46 | 31 |
light2 = Light(position=(4.0, 1.0, 10.0), colour=(0.5, 0.55, 0.7)) |
40
929aad02c5f2
Makefile: added help and distclean target, plus small fixes
Radek Brich <radek.brich@devl.cz>
parents:
38
diff
changeset
|
32 |
#light2.castshadows(0) |
26 | 33 |
rt.addlight(light2) |
34 |
||
35 |
imagesize = (800, 600) |
|
36 |
data = rt.render(imagesize) |
|
37 |
img = Image.fromstring("RGB", imagesize, data) |
|
38 |
img.save('bunny.png') |