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 -------  |