3 ================== |
3 ================== |
4 |
4 |
5 |
5 |
6 File Organization |
6 File Organization |
7 ----------------- |
7 ----------------- |
8 /bin -- output directory for binary objects |
8 /build -- output directory for binaries and other generated files |
9 /ccdemos -- ray tracer demos in C++ |
9 /ccdemos -- ray tracer demos in C++ |
10 /demos -- ray tracer demos in Python |
10 /demos -- ray tracer demos in Python |
11 /include -- header files |
11 /include -- header files |
12 /models -- common models for use by demos |
12 /models -- common models for use by demos |
13 /src -- ray tracing library source code |
13 /src -- ray tracing library source code |
14 /tests -- test programs for classes |
14 /tests -- test programs for classes |
|
15 /tools -- auxiliary programs |
15 |
16 |
16 Classes organization throughout header files is explained in DEVNOTES. |
17 Classes organization throughout header files is explained in DEVNOTES. |
17 |
18 |
18 |
19 |
19 Building |
20 Building |
20 -------- |
21 -------- |
21 Type 'scons all' to build everything and 'scons -h' for list of targets. |
22 Type 'scons pyrit' to build and 'scons -h' for list of targets. |
22 |
23 |
23 Requirements: |
24 Requirements: |
24 SCons |
25 SCons |
25 pthreads (see bellow) |
26 pthreads (see bellow) |
|
27 libpng, zlib |
26 Python 2.4 or newer for Python module and demos |
28 Python 2.4 or newer for Python module and demos |
27 PIL (Python Imaging Library) for Python demos |
|
28 SDL for interactive C++ demos |
29 SDL for interactive C++ demos |
29 libpng and zlib for rendering to PNG file from C++ demos |
30 |
|
31 It should build with these compilers: GCC, IntelC, MSVC |
|
32 GCC is default in Linux, MSVC is default in Windows. |
|
33 |
|
34 |
|
35 Downloading model files |
|
36 ----------------------- |
|
37 Not all models are included in distribution. To download the large |
|
38 Stanford models, type 'scons download-models', which will download |
|
39 end extract the archives to appropriate location. |
|
40 |
|
41 The download script uses 'tar' and 'wget' utilities. |
|
42 |
|
43 For Windows, these are available here: |
|
44 http://gnuwin32.sourceforge.net/packages/wget.htm |
|
45 http://gnuwin32.sourceforge.net/packages/libarchive.htm |
30 |
46 |
31 |
47 |
32 Pthreads |
48 Pthreads |
33 -------- |
49 -------- |
34 Threads can be used to render rows of picture paralelly. Arbitrary number |
50 Threads can be used to render rays paralelly. Arbitrary number |
35 of threads can be used, even numbers like 17 are acceptable. |
51 of threads can be used. |
36 |
52 |
37 To completely disable this feature just remove "-DPTHREADS -pthreads" |
53 For Windows, get pthreads library here: |
38 from flags in makefile. |
|
39 |
|
40 For Windows + Mingw32, get pthreads library here: |
|
41 http://sources.redhat.com/pthreads-win32/ |
54 http://sources.redhat.com/pthreads-win32/ |
42 |
55 |
43 |
56 |
44 License |
57 License |
45 ------- |
58 ------- |