author | Radek Brich <radek.brich@devl.cz> |
Tue, 26 Jul 2016 18:19:37 +0200 | |
branch | pyrit |
changeset 104 | 2274a07510c1 |
parent 103 | 3b3257a410fe |
permissions | -rw-r--r-- |
4
c73bc405ee7a
multi-threaded rendering via pthreads
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
1 |
================== |
c73bc405ee7a
multi-threaded rendering via pthreads
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
2 |
Pyrit Ray Tracer |
c73bc405ee7a
multi-threaded rendering via pthreads
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
3 |
================== |
c73bc405ee7a
multi-threaded rendering via pthreads
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
4 |
|
44 | 5 |
|
6 |
File Organization |
|
7 |
----------------- |
|
94 | 8 |
/build -- output directory for binaries and other generated files |
44 | 9 |
/ccdemos -- ray tracer demos in C++ |
10 |
/demos -- ray tracer demos in Python |
|
96
9eb71e76c7fd
added Python binding for material.h classes
Radek Brich <radek.brich@devl.cz>
parents:
94
diff
changeset
|
11 |
/docs -- Doxygen generated documentation |
44 | 12 |
/include -- header files |
13 |
/models -- common models for use by demos |
|
14 |
/src -- ray tracing library source code |
|
15 |
/tests -- test programs for classes |
|
94 | 16 |
/tools -- auxiliary programs |
44 | 17 |
|
18 |
||
19 |
Building |
|
20 |
-------- |
|
94 | 21 |
Type 'scons pyrit' to build and 'scons -h' for list of targets. |
44 | 22 |
|
23 |
Requirements: |
|
66 | 24 |
SCons |
44 | 25 |
pthreads (see bellow) |
94 | 26 |
libpng, zlib |
44 | 27 |
Python 2.4 or newer for Python module and demos |
28 |
SDL for interactive C++ demos |
|
94 | 29 |
|
104
2274a07510c1
Cleanup, dropped Windows support
Radek Brich <radek.brich@devl.cz>
parents:
103
diff
changeset
|
30 |
It should build with these compilers: GCC, Clang, IntelC |
94 | 31 |
|
32 |
||
33 |
Downloading model files |
|
34 |
----------------------- |
|
35 |
Not all models are included in distribution. To download the large |
|
36 |
Stanford models, type 'scons download-models', which will download |
|
98
64638385798a
add sections about demos to README
Radek Brich <radek.brich@devl.cz>
parents:
96
diff
changeset
|
37 |
and extract the archives to appropriate location. |
94 | 38 |
|
103 | 39 |
The download script uses 'tar' and 'curl' utilities. |
44 | 40 |
|
14
fc18ac4833f2
replace Plane with axis-aligned Box (because infinite Plane is not usable with kd-tree)
Radek Brich <radek.brich@devl.cz>
parents:
6
diff
changeset
|
41 |
|
4
c73bc405ee7a
multi-threaded rendering via pthreads
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
42 |
Pthreads |
c73bc405ee7a
multi-threaded rendering via pthreads
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
43 |
-------- |
98
64638385798a
add sections about demos to README
Radek Brich <radek.brich@devl.cz>
parents:
96
diff
changeset
|
44 |
Threads are used to render rays paralelly. Arbitrary number |
94 | 45 |
of threads can be used. |
4
c73bc405ee7a
multi-threaded rendering via pthreads
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
46 |
|
44 | 47 |
|
98
64638385798a
add sections about demos to README
Radek Brich <radek.brich@devl.cz>
parents:
96
diff
changeset
|
48 |
Python Demos |
64638385798a
add sections about demos to README
Radek Brich <radek.brich@devl.cz>
parents:
96
diff
changeset
|
49 |
------------ |
64638385798a
add sections about demos to README
Radek Brich <radek.brich@devl.cz>
parents:
96
diff
changeset
|
50 |
All demos render images and write the result to PNG file |
64638385798a
add sections about demos to README
Radek Brich <radek.brich@devl.cz>
parents:
96
diff
changeset
|
51 |
named with same base name as the script. |
64638385798a
add sections about demos to README
Radek Brich <radek.brich@devl.cz>
parents:
96
diff
changeset
|
52 |
Scene is constructed using classes imported from pyrit |
64638385798a
add sections about demos to README
Radek Brich <radek.brich@devl.cz>
parents:
96
diff
changeset
|
53 |
Python module. |
64638385798a
add sections about demos to README
Radek Brich <radek.brich@devl.cz>
parents:
96
diff
changeset
|
54 |
|
64638385798a
add sections about demos to README
Radek Brich <radek.brich@devl.cz>
parents:
96
diff
changeset
|
55 |
boxes.py |
64638385798a
add sections about demos to README
Radek Brich <radek.brich@devl.cz>
parents:
96
diff
changeset
|
56 |
512 cubes with reflections and refractions |
64638385798a
add sections about demos to README
Radek Brich <radek.brich@devl.cz>
parents:
96
diff
changeset
|
57 |
4x oversampling, two lights, octree |
64638385798a
add sections about demos to README
Radek Brich <radek.brich@devl.cz>
parents:
96
diff
changeset
|
58 |
|
64638385798a
add sections about demos to README
Radek Brich <radek.brich@devl.cz>
parents:
96
diff
changeset
|
59 |
bunny.py |
64638385798a
add sections about demos to README
Radek Brich <radek.brich@devl.cz>
parents:
96
diff
changeset
|
60 |
glass bunny, ~70k polygons |
64638385798a
add sections about demos to README
Radek Brich <radek.brich@devl.cz>
parents:
96
diff
changeset
|
61 |
4x oversampling, two lights, kd-tree |
64638385798a
add sections about demos to README
Radek Brich <radek.brich@devl.cz>
parents:
96
diff
changeset
|
62 |
|
64638385798a
add sections about demos to README
Radek Brich <radek.brich@devl.cz>
parents:
96
diff
changeset
|
63 |
car.py |
64638385798a
add sections about demos to README
Radek Brich <radek.brich@devl.cz>
parents:
96
diff
changeset
|
64 |
low poly car model, LWOB format |
64638385798a
add sections about demos to README
Radek Brich <radek.brich@devl.cz>
parents:
96
diff
changeset
|
65 |
9x oversampling, two lights, kd-tree |
64638385798a
add sections about demos to README
Radek Brich <radek.brich@devl.cz>
parents:
96
diff
changeset
|
66 |
|
64638385798a
add sections about demos to README
Radek Brich <radek.brich@devl.cz>
parents:
96
diff
changeset
|
67 |
spheres_shadow.py |
64638385798a
add sections about demos to README
Radek Brich <radek.brich@devl.cz>
parents:
96
diff
changeset
|
68 |
three spheres, sharp shadows |
64638385798a
add sections about demos to README
Radek Brich <radek.brich@devl.cz>
parents:
96
diff
changeset
|
69 |
4x oversampling, two lights, kd-tree |
64638385798a
add sections about demos to README
Radek Brich <radek.brich@devl.cz>
parents:
96
diff
changeset
|
70 |
|
64638385798a
add sections about demos to README
Radek Brich <radek.brich@devl.cz>
parents:
96
diff
changeset
|
71 |
spheres_ao.py |
64638385798a
add sections about demos to README
Radek Brich <radek.brich@devl.cz>
parents:
96
diff
changeset
|
72 |
three spheres, ambient occlussion |
64638385798a
add sections about demos to README
Radek Brich <radek.brich@devl.cz>
parents:
96
diff
changeset
|
73 |
|
64638385798a
add sections about demos to README
Radek Brich <radek.brich@devl.cz>
parents:
96
diff
changeset
|
74 |
spheres_glass.py |
64638385798a
add sections about demos to README
Radek Brich <radek.brich@devl.cz>
parents:
96
diff
changeset
|
75 |
row of glass spheres |
64638385798a
add sections about demos to README
Radek Brich <radek.brich@devl.cz>
parents:
96
diff
changeset
|
76 |
4x oversampling, three lights, kd-tree |
64638385798a
add sections about demos to README
Radek Brich <radek.brich@devl.cz>
parents:
96
diff
changeset
|
77 |
|
64638385798a
add sections about demos to README
Radek Brich <radek.brich@devl.cz>
parents:
96
diff
changeset
|
78 |
render_nff.py [input.nff] [output.png] |
64638385798a
add sections about demos to README
Radek Brich <radek.brich@devl.cz>
parents:
96
diff
changeset
|
79 |
renders nff files (http://tog.acm.org/resources/SPD/) |
64638385798a
add sections about demos to README
Radek Brich <radek.brich@devl.cz>
parents:
96
diff
changeset
|
80 |
reads stdin if no args given |
64638385798a
add sections about demos to README
Radek Brich <radek.brich@devl.cz>
parents:
96
diff
changeset
|
81 |
|
64638385798a
add sections about demos to README
Radek Brich <radek.brich@devl.cz>
parents:
96
diff
changeset
|
82 |
triangles_*.py |
64638385798a
add sections about demos to README
Radek Brich <radek.brich@devl.cz>
parents:
96
diff
changeset
|
83 |
older examples using OBJ file format |
64638385798a
add sections about demos to README
Radek Brich <radek.brich@devl.cz>
parents:
96
diff
changeset
|
84 |
|
64638385798a
add sections about demos to README
Radek Brich <radek.brich@devl.cz>
parents:
96
diff
changeset
|
85 |
|
64638385798a
add sections about demos to README
Radek Brich <radek.brich@devl.cz>
parents:
96
diff
changeset
|
86 |
C++ Demos |
64638385798a
add sections about demos to README
Radek Brich <radek.brich@devl.cz>
parents:
96
diff
changeset
|
87 |
--------- |
64638385798a
add sections about demos to README
Radek Brich <radek.brich@devl.cz>
parents:
96
diff
changeset
|
88 |
Compiled interactive demos. Camera can move freely in the scene. |
64638385798a
add sections about demos to README
Radek Brich <radek.brich@devl.cz>
parents:
96
diff
changeset
|
89 |
|
64638385798a
add sections about demos to README
Radek Brich <radek.brich@devl.cz>
parents:
96
diff
changeset
|
90 |
realtime.exe |
64638385798a
add sections about demos to README
Radek Brich <radek.brich@devl.cz>
parents:
96
diff
changeset
|
91 |
one hundred spheres with reflections |
64638385798a
add sections about demos to README
Radek Brich <radek.brich@devl.cz>
parents:
96
diff
changeset
|
92 |
|
64638385798a
add sections about demos to README
Radek Brich <radek.brich@devl.cz>
parents:
96
diff
changeset
|
93 |
realtime_bunny.exe |
64638385798a
add sections about demos to README
Radek Brich <radek.brich@devl.cz>
parents:
96
diff
changeset
|
94 |
bunny model (it loads silently, so be patient) |
64638385798a
add sections about demos to README
Radek Brich <radek.brich@devl.cz>
parents:
96
diff
changeset
|
95 |
|
64638385798a
add sections about demos to README
Radek Brich <radek.brich@devl.cz>
parents:
96
diff
changeset
|
96 |
spheres_shadow.exe |
64638385798a
add sections about demos to README
Radek Brich <radek.brich@devl.cz>
parents:
96
diff
changeset
|
97 |
"interactive" version of spheres_shadow.py |
64638385798a
add sections about demos to README
Radek Brich <radek.brich@devl.cz>
parents:
96
diff
changeset
|
98 |
|
64638385798a
add sections about demos to README
Radek Brich <radek.brich@devl.cz>
parents:
96
diff
changeset
|
99 |
textures.exe |
64638385798a
add sections about demos to README
Radek Brich <radek.brich@devl.cz>
parents:
96
diff
changeset
|
100 |
demo of different texture mappings |
64638385798a
add sections about demos to README
Radek Brich <radek.brich@devl.cz>
parents:
96
diff
changeset
|
101 |
|
64638385798a
add sections about demos to README
Radek Brich <radek.brich@devl.cz>
parents:
96
diff
changeset
|
102 |
|
64638385798a
add sections about demos to README
Radek Brich <radek.brich@devl.cz>
parents:
96
diff
changeset
|
103 |
Control keys: |
64638385798a
add sections about demos to README
Radek Brich <radek.brich@devl.cz>
parents:
96
diff
changeset
|
104 |
|
64638385798a
add sections about demos to README
Radek Brich <radek.brich@devl.cz>
parents:
96
diff
changeset
|
105 |
Up, Down, Left, Right look around |
64638385798a
add sections about demos to README
Radek Brich <radek.brich@devl.cz>
parents:
96
diff
changeset
|
106 |
w/s forward, backward |
64638385798a
add sections about demos to README
Radek Brich <radek.brich@devl.cz>
parents:
96
diff
changeset
|
107 |
c print camera coordinates |
64638385798a
add sections about demos to README
Radek Brich <radek.brich@devl.cz>
parents:
96
diff
changeset
|
108 |
|
64638385798a
add sections about demos to README
Radek Brich <radek.brich@devl.cz>
parents:
96
diff
changeset
|
109 |
spheres_shadow demo supports also: |
64638385798a
add sections about demos to README
Radek Brich <radek.brich@devl.cz>
parents:
96
diff
changeset
|
110 |
r/t, f/g, v/b move the light (-x/+x, -y/+y, -z/+z) |
64638385798a
add sections about demos to README
Radek Brich <radek.brich@devl.cz>
parents:
96
diff
changeset
|
111 |
z/x change camera focal length (-/+) |
64638385798a
add sections about demos to README
Radek Brich <radek.brich@devl.cz>
parents:
96
diff
changeset
|
112 |
|
64638385798a
add sections about demos to README
Radek Brich <radek.brich@devl.cz>
parents:
96
diff
changeset
|
113 |
|
44 | 114 |
License |
115 |
------- |
|
116 |
This software is published under terms of MIT license. |
|
117 |
See COPYING for full text of license. |
|
118 |
||
119 |
||
120 |
Website |
|
121 |
------- |
|
102
de3e9ea18f56
Migrate sources to Mercurial. Update links etc.
Radek Brich <radek.brich@devl.cz>
parents:
98
diff
changeset
|
122 |
Latest version can be obtained at http://wiki.devl.cz/Pyrit |