Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
branch: master
Commits on Mar 12, 2013
Commits on Dec 27, 2011
  1. Tests: scripted tests improvment

    Scripted tests and raytracer program improvment to increase tests
Commits on Dec 26, 2011
  1. Git: ignoring ~ files

  2. Tests: scripted test suite for functionnal testing

    A scripted test suite have been added to test program parameters.
Commits on Dec 23, 2011
  1. Displays: ouput configurable by command line switchs

    Command line paramters introduced to allow the user to configure the
    scene file and the output he wants to use.
    Use littleray --help to get details about options.
Commits on Dec 21, 2011
  1. Displays: flexible scene and display creation.

    A context creation allows us to abstract the parsing of program
    parameters and ensure we mask the choice of a display.
Commits on Dec 20, 2011
  1. Build: fix directory creation

    Directory creation was wrong with some make implementations. Dependency
    files need directories and a dependency is the rule was not enough.
Commits on Dec 19, 2011
  1. Partial revert "Performances: AVX instruction set introduced."

    The introduced AVX wasa performance mistake. The compiler is better to
    optimization than us. Nevertheless, we keep the coords table
    implementation to improve vetorization by the compiler himself.
    This partially reverts commit 4b5b133.
  2. Displays: Modularization of the displays

    The displays are now modular. It is possible to choose on display or
    another simply modifying the factory. There's always the SDL display
    implementation, but a new implementation have been added. This new
    implementation is like the /dev/null hole and does not display anything.
Commits on Dec 18, 2011
  1. Tools: profiling target added to Makefile.

    The profiling target compiles the raytracer with the right options,
    runs the sample file and write the profile output to:
    You can use it with "make profiling".
  2. Performances: AVX instruction set introduced.

    To improve vector computation performances, the AVX instruction set
    have been used. To compile with the improvment use the "avx" Makefile
    Vector test also improved.
Commits on Dec 16, 2011
Commits on Dec 15, 2011
  1. Example: bigger sample scene

Commits on Dec 14, 2011
Commits on Dec 13, 2011
  1. Test: coverage tool based on lcov

    A new target, make coverage creates a build with a tools to build
    a coverage report. Call the coverage target automatically clean
    the build directory.
Commits on Dec 11, 2011
  1. Build: tests build based on library build

    The tests suite is now built following the new library based build
Commits on Dec 10, 2011
  1. Build: creating a Maths library

    Moving Vector and Point management to a Maths library.
  2. Build: library based build mechanism

    The build process is based on a library structure. Each directory is
    built as a library as it eases testing purposes.
Commits on Dec 5, 2011
  1. Build: simplifying build process.

    Damien Dejean authored committed
    First step of moving the build process to a library based linking.
    Build chain changed to accept includes only from the root of the
    project. You need to specify the directory for includes of
    Objects, Materials, etc.
  2. Tree: moving factories to their objects directories.

    Damien Dejean authored
    All factories are moved to the directories of the objects they
Commits on Dec 4, 2011
  1. Tests: test framework setup

    A test framework based on cxxtest is set up in the tests directory.
    A test suite runs every compilation to ensure integration and
Commits on Dec 3, 2011
  1. Build chain: xml parser compiled as a static library.

    The embedded XML parser is compiled as a static library and
    linked with the raytracer at link edition time.
Commits on Dec 2, 2011
Commits on Dec 1, 2011
  1. Life cycle: cleaning program life cycle.

    Allocating and de-allocating objects when needed.
  2. Build: Modularizing compile flags.

    Optimization flags are now optionnal to let us compile for coverage
    without optimization (avoid inlining, etc ...).
  3. Tools: code coverage toolchain added.

    The code coverage can be computed using the coverage Makefile target.
    A html report is generated into buid/coverage/index.html.
Commits on Nov 29, 2011
  1. Material properties: new material properties mechanism

    A material has two properties that define its behavior with incoming
    light. The diffuse property describe how it reflects light: how we
    see it, and the specular property describe how it shines. Each
    property has a type ("lambert" for diffuse and "phong" or "blinn"
    for specular) that defines the underlaying algorithm and a color.
    Blinn and Phong properties also have a power property to describe
    the impact of the effect.
    Now a material use the following syntax in the scene file:
    <material reflection="0.5>
        <diffuse type="lambert" red="0.5" green="0.8" blue="0.2" />
        <specular type="phong" red="1.0" green="0.7" blue="0.4" power="30" />
Commits on Nov 12, 2011
  1. Antialiasing: null antialiaser.

    A non-antialiaser have been added. The FakeAntialiaser behaves like
    the were no antialiaser, so the image is not smooth. Use "none" or
    nothing as value of "antiliaser" attribute in the scene tag.
Commits on Nov 11, 2011
  1. Build: quiet Makefile.

  2. Antialiaser: modularization

    The antiliaser is now delivered by a special factory to the scene
    object. The scene file syntax is always the same. See commit
Something went wrong with that request. Please try again.