README
author Radek Brich <radek.brich@devl.cz>
Sat, 10 May 2008 14:29:37 +0200
branchpyrit
changeset 95 ca7d4c665531
parent 94 4c8abb8977dc
child 96 9eb71e76c7fd
permissions -rw-r--r--
build script fixes, add ldflags build option update and enhance demos fix bug in 4x grid oversampling warn if writePNG called while compiled without libpng make shapes in ShapeList const and add many other const needed due to snowball effect slightly optimize Camera::makeRayPacket using _mm_shuffle_ps make Vector SIMD vectorization disabled by default (causes problems) fix bug in implicit reflection of transmissive surfaces, when surface's reflection parameter is set to zero
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
3763b26244f0 MIT license for sources
Radek Brich <radek.brich@devl.cz>
parents: 14
diff changeset
     5
3763b26244f0 MIT license for sources
Radek Brich <radek.brich@devl.cz>
parents: 14
diff changeset
     6
File Organization
3763b26244f0 MIT license for sources
Radek Brich <radek.brich@devl.cz>
parents: 14
diff changeset
     7
-----------------
94
4c8abb8977dc update README
Radek Brich <radek.brich@devl.cz>
parents: 66
diff changeset
     8
/build    -- output directory for binaries and other generated files
44
3763b26244f0 MIT license for sources
Radek Brich <radek.brich@devl.cz>
parents: 14
diff changeset
     9
/ccdemos  -- ray tracer demos in C++
3763b26244f0 MIT license for sources
Radek Brich <radek.brich@devl.cz>
parents: 14
diff changeset
    10
/demos    -- ray tracer demos in Python
3763b26244f0 MIT license for sources
Radek Brich <radek.brich@devl.cz>
parents: 14
diff changeset
    11
/include  -- header files
3763b26244f0 MIT license for sources
Radek Brich <radek.brich@devl.cz>
parents: 14
diff changeset
    12
/models   -- common models for use by demos
3763b26244f0 MIT license for sources
Radek Brich <radek.brich@devl.cz>
parents: 14
diff changeset
    13
/src      -- ray tracing library source code
3763b26244f0 MIT license for sources
Radek Brich <radek.brich@devl.cz>
parents: 14
diff changeset
    14
/tests    -- test programs for classes
94
4c8abb8977dc update README
Radek Brich <radek.brich@devl.cz>
parents: 66
diff changeset
    15
/tools    -- auxiliary programs
44
3763b26244f0 MIT license for sources
Radek Brich <radek.brich@devl.cz>
parents: 14
diff changeset
    16
3763b26244f0 MIT license for sources
Radek Brich <radek.brich@devl.cz>
parents: 14
diff changeset
    17
Classes organization throughout header files is explained in DEVNOTES.
3763b26244f0 MIT license for sources
Radek Brich <radek.brich@devl.cz>
parents: 14
diff changeset
    18
3763b26244f0 MIT license for sources
Radek Brich <radek.brich@devl.cz>
parents: 14
diff changeset
    19
3763b26244f0 MIT license for sources
Radek Brich <radek.brich@devl.cz>
parents: 14
diff changeset
    20
Building
3763b26244f0 MIT license for sources
Radek Brich <radek.brich@devl.cz>
parents: 14
diff changeset
    21
--------
94
4c8abb8977dc update README
Radek Brich <radek.brich@devl.cz>
parents: 66
diff changeset
    22
Type 'scons pyrit' to build and 'scons -h' for list of targets.
44
3763b26244f0 MIT license for sources
Radek Brich <radek.brich@devl.cz>
parents: 14
diff changeset
    23
3763b26244f0 MIT license for sources
Radek Brich <radek.brich@devl.cz>
parents: 14
diff changeset
    24
Requirements:
66
c5b89d16497a fixed ICC detection
Radek Brich <radek.brich@devl.cz>
parents: 44
diff changeset
    25
    SCons
44
3763b26244f0 MIT license for sources
Radek Brich <radek.brich@devl.cz>
parents: 14
diff changeset
    26
    pthreads (see bellow)
94
4c8abb8977dc update README
Radek Brich <radek.brich@devl.cz>
parents: 66
diff changeset
    27
    libpng, zlib
44
3763b26244f0 MIT license for sources
Radek Brich <radek.brich@devl.cz>
parents: 14
diff changeset
    28
    Python 2.4 or newer for Python module and demos
3763b26244f0 MIT license for sources
Radek Brich <radek.brich@devl.cz>
parents: 14
diff changeset
    29
    SDL for interactive C++ demos
94
4c8abb8977dc update README
Radek Brich <radek.brich@devl.cz>
parents: 66
diff changeset
    30
4c8abb8977dc update README
Radek Brich <radek.brich@devl.cz>
parents: 66
diff changeset
    31
It should build with these compilers: GCC, IntelC, MSVC
4c8abb8977dc update README
Radek Brich <radek.brich@devl.cz>
parents: 66
diff changeset
    32
GCC is default in Linux, MSVC is default in Windows.
4c8abb8977dc update README
Radek Brich <radek.brich@devl.cz>
parents: 66
diff changeset
    33
4c8abb8977dc update README
Radek Brich <radek.brich@devl.cz>
parents: 66
diff changeset
    34
4c8abb8977dc update README
Radek Brich <radek.brich@devl.cz>
parents: 66
diff changeset
    35
Downloading model files
4c8abb8977dc update README
Radek Brich <radek.brich@devl.cz>
parents: 66
diff changeset
    36
-----------------------
4c8abb8977dc update README
Radek Brich <radek.brich@devl.cz>
parents: 66
diff changeset
    37
Not all models are included in distribution. To download the large
4c8abb8977dc update README
Radek Brich <radek.brich@devl.cz>
parents: 66
diff changeset
    38
Stanford models, type 'scons download-models', which will download
4c8abb8977dc update README
Radek Brich <radek.brich@devl.cz>
parents: 66
diff changeset
    39
end extract the archives to appropriate location.
4c8abb8977dc update README
Radek Brich <radek.brich@devl.cz>
parents: 66
diff changeset
    40
4c8abb8977dc update README
Radek Brich <radek.brich@devl.cz>
parents: 66
diff changeset
    41
The download script uses 'tar' and 'wget' utilities.
4c8abb8977dc update README
Radek Brich <radek.brich@devl.cz>
parents: 66
diff changeset
    42
4c8abb8977dc update README
Radek Brich <radek.brich@devl.cz>
parents: 66
diff changeset
    43
For Windows, these are available here:
4c8abb8977dc update README
Radek Brich <radek.brich@devl.cz>
parents: 66
diff changeset
    44
http://gnuwin32.sourceforge.net/packages/wget.htm
4c8abb8977dc update README
Radek Brich <radek.brich@devl.cz>
parents: 66
diff changeset
    45
http://gnuwin32.sourceforge.net/packages/libarchive.htm
44
3763b26244f0 MIT license for sources
Radek Brich <radek.brich@devl.cz>
parents: 14
diff changeset
    46
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
    47
4
c73bc405ee7a multi-threaded rendering via pthreads
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    48
Pthreads
c73bc405ee7a multi-threaded rendering via pthreads
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    49
--------
94
4c8abb8977dc update README
Radek Brich <radek.brich@devl.cz>
parents: 66
diff changeset
    50
Threads can be used to render rays paralelly. Arbitrary number
4c8abb8977dc update README
Radek Brich <radek.brich@devl.cz>
parents: 66
diff changeset
    51
of threads can be used.
4
c73bc405ee7a multi-threaded rendering via pthreads
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    52
94
4c8abb8977dc update README
Radek Brich <radek.brich@devl.cz>
parents: 66
diff changeset
    53
For Windows, get pthreads library here:
6
d8d596d26f25 pthreads and other fixes for Windows
Radek Brich <radek.brich@devl.cz>
parents: 4
diff changeset
    54
http://sources.redhat.com/pthreads-win32/
44
3763b26244f0 MIT license for sources
Radek Brich <radek.brich@devl.cz>
parents: 14
diff changeset
    55
3763b26244f0 MIT license for sources
Radek Brich <radek.brich@devl.cz>
parents: 14
diff changeset
    56
3763b26244f0 MIT license for sources
Radek Brich <radek.brich@devl.cz>
parents: 14
diff changeset
    57
License
3763b26244f0 MIT license for sources
Radek Brich <radek.brich@devl.cz>
parents: 14
diff changeset
    58
-------
3763b26244f0 MIT license for sources
Radek Brich <radek.brich@devl.cz>
parents: 14
diff changeset
    59
This software is published under terms of MIT license.
3763b26244f0 MIT license for sources
Radek Brich <radek.brich@devl.cz>
parents: 14
diff changeset
    60
See COPYING for full text of license.
3763b26244f0 MIT license for sources
Radek Brich <radek.brich@devl.cz>
parents: 14
diff changeset
    61
3763b26244f0 MIT license for sources
Radek Brich <radek.brich@devl.cz>
parents: 14
diff changeset
    62
3763b26244f0 MIT license for sources
Radek Brich <radek.brich@devl.cz>
parents: 14
diff changeset
    63
Website
3763b26244f0 MIT license for sources
Radek Brich <radek.brich@devl.cz>
parents: 14
diff changeset
    64
-------
3763b26244f0 MIT license for sources
Radek Brich <radek.brich@devl.cz>
parents: 14
diff changeset
    65
Latest version can be obtained at http://wiki.fiction.cz/Pyrit