Skip to content

Twinklebear/micro-packet

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
src
 
 
 
 
 
 
 
 

μPacket - A micro packet ray tracer

An extremely simple packet based ray tracer, uses AVX2 to trace eight rays at once through the scene. Currently only supports spheres and planes with Lambertian BRDFs illuminated by a single point light. Illumination is computed with Whitted ray tracing, although recursion only goes as far as computing shadows since there are no reflective or transmissive materials.

Building

The AVX2 instruction set is required, along with a relatively modern C++ compiler (some C++11/14 features are used), you should also compile a 64 bit executable. The program should compile and run on VS 2015 Community on Windows and gcc 4.8.1+ on Linux. MinGW is not supported on Windows as it's unable to align the stack to 32 bytes, see bug. I haven't tested on clang but it might work. Beyond that only CMake is required to generate build files for your build system.

Running

Running the executable built will produce the image below and save it to out.bmp.

Render output

About

A micro packet ray tracer

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published