README
author Radek Brich <radek.brich@devl.cz>
Mon, 05 May 2008 15:31:14 +0200
branchpyrit
changeset 92 9af5c039b678
parent 66 c5b89d16497a
child 94 4c8abb8977dc
permissions -rw-r--r--
add MSVC compiler support, make it default for Windows new header file simd.h for SSE abstraction and helpers add mselect pseudo instruction for common or(and(...), andnot(...)) replace many SSE intrinsics with new names new MemoryPool class (mempool.h) for faster KdNode allocation remove setMaxDepth() from Octree and KdTree, make max_depth const, it should be defined in constructor and never changed, change after building tree would cause error in traversal modify DefaultSampler to generate nice 2x2 packets of samples for packet tracing optimize Box and BBox::intersect_packet add precomputed invdir attribute to RayPacket scons build system: check for pthread library on Windows check for SDL generate include/config.h with variables detected by scons configuration move auxiliary files to build/ add sanity checks add writable operator[] to Vector
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
-----------------
3763b26244f0 MIT license for sources
Radek Brich <radek.brich@devl.cz>
parents: 14
diff changeset
     8
/bin      -- output directory for binary objects
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
3763b26244f0 MIT license for sources
Radek Brich <radek.brich@devl.cz>
parents: 14
diff changeset
    15
3763b26244f0 MIT license for sources
Radek Brich <radek.brich@devl.cz>
parents: 14
diff changeset
    16
Classes organization throughout header files is explained in DEVNOTES.
3763b26244f0 MIT license for sources
Radek Brich <radek.brich@devl.cz>
parents: 14
diff changeset
    17
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
Building
3763b26244f0 MIT license for sources
Radek Brich <radek.brich@devl.cz>
parents: 14
diff changeset
    20
--------
66
c5b89d16497a fixed ICC detection
Radek Brich <radek.brich@devl.cz>
parents: 44
diff changeset
    21
Type 'scons all' to build everything and 'scons -h' for list of targets.
44
3763b26244f0 MIT license for sources
Radek Brich <radek.brich@devl.cz>
parents: 14
diff changeset
    22
3763b26244f0 MIT license for sources
Radek Brich <radek.brich@devl.cz>
parents: 14
diff changeset
    23
Requirements:
66
c5b89d16497a fixed ICC detection
Radek Brich <radek.brich@devl.cz>
parents: 44
diff changeset
    24
    SCons
44
3763b26244f0 MIT license for sources
Radek Brich <radek.brich@devl.cz>
parents: 14
diff changeset
    25
    pthreads (see bellow)
3763b26244f0 MIT license for sources
Radek Brich <radek.brich@devl.cz>
parents: 14
diff changeset
    26
    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
    27
    PIL (Python Imaging Library) for Python demos
3763b26244f0 MIT license for sources
Radek Brich <radek.brich@devl.cz>
parents: 14
diff changeset
    28
    SDL for interactive C++ demos
3763b26244f0 MIT license for sources
Radek Brich <radek.brich@devl.cz>
parents: 14
diff changeset
    29
    libpng and zlib for rendering to PNG file from C++ demos
3763b26244f0 MIT license for sources
Radek Brich <radek.brich@devl.cz>
parents: 14
diff changeset
    30
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
    31
4
c73bc405ee7a multi-threaded rendering via pthreads
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    32
Pthreads
c73bc405ee7a multi-threaded rendering via pthreads
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    33
--------
c73bc405ee7a multi-threaded rendering via pthreads
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    34
Threads can be used to render rows of picture paralelly. Arbitrary number
c73bc405ee7a multi-threaded rendering via pthreads
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    35
of threads can be used, even numbers like 17 are acceptable.
c73bc405ee7a multi-threaded rendering via pthreads
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    36
c73bc405ee7a multi-threaded rendering via pthreads
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    37
To completely disable this feature just remove "-DPTHREADS -pthreads"
c73bc405ee7a multi-threaded rendering via pthreads
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    38
from flags in makefile.
6
d8d596d26f25 pthreads and other fixes for Windows
Radek Brich <radek.brich@devl.cz>
parents: 4
diff changeset
    39
d8d596d26f25 pthreads and other fixes for Windows
Radek Brich <radek.brich@devl.cz>
parents: 4
diff changeset
    40
For Windows + Mingw32, get pthreads library here:
d8d596d26f25 pthreads and other fixes for Windows
Radek Brich <radek.brich@devl.cz>
parents: 4
diff changeset
    41
http://sources.redhat.com/pthreads-win32/
44
3763b26244f0 MIT license for sources
Radek Brich <radek.brich@devl.cz>
parents: 14
diff changeset
    42
3763b26244f0 MIT license for sources
Radek Brich <radek.brich@devl.cz>
parents: 14
diff changeset
    43
3763b26244f0 MIT license for sources
Radek Brich <radek.brich@devl.cz>
parents: 14
diff changeset
    44
License
3763b26244f0 MIT license for sources
Radek Brich <radek.brich@devl.cz>
parents: 14
diff changeset
    45
-------
3763b26244f0 MIT license for sources
Radek Brich <radek.brich@devl.cz>
parents: 14
diff changeset
    46
This software is published under terms of MIT license.
3763b26244f0 MIT license for sources
Radek Brich <radek.brich@devl.cz>
parents: 14
diff changeset
    47
See COPYING for full text of license.
3763b26244f0 MIT license for sources
Radek Brich <radek.brich@devl.cz>
parents: 14
diff changeset
    48
3763b26244f0 MIT license for sources
Radek Brich <radek.brich@devl.cz>
parents: 14
diff changeset
    49
3763b26244f0 MIT license for sources
Radek Brich <radek.brich@devl.cz>
parents: 14
diff changeset
    50
Website
3763b26244f0 MIT license for sources
Radek Brich <radek.brich@devl.cz>
parents: 14
diff changeset
    51
-------
3763b26244f0 MIT license for sources
Radek Brich <radek.brich@devl.cz>
parents: 14
diff changeset
    52
Latest version can be obtained at http://wiki.fiction.cz/Pyrit