Commit Graph

61 Commits

Author SHA1 Message Date
1c660dda13 Generalized the BVH to... pretty much anything.
The BVH is now generic over any kind of data.  The building
function takes in a closure that can bound the given data type
in 3d space, and the rest just works.
2015-12-31 00:32:38 -08:00
7f7870534c Implemented a very basic BVH for lists of triangles.
This isn't a good implementation by any means.  It's just to get
things started.
2015-12-29 16:56:33 -08:00
a66059d13e Implemented anti-aliasing with permuted halton sequence. 2015-12-29 13:42:40 -08:00
54f4c278ca Added triangle/ray intersection code.
As a test, the image written out is now a raytraced triangle,
with its color representing its UV coordinates.
2015-12-28 14:43:30 -08:00
539dc47b4e Fixed stupid bug in data tree parsing code. 2015-12-28 00:58:41 -08:00
37f0eb33dd Added basic "data tree" parsing.
The code here is a bit messy right now.  Just did enough to get
it working.  But it needs to be cleaned up and report parse
errors in a human-readable way, among other things.
2015-12-28 00:49:15 -08:00
b20910a252 Created BBox, an axis-aligned 3d bounding box type. 2015-12-27 00:44:59 -08:00
3f614f3728 Added command line parsing and PPM image writing.
Also the beginnings of a Ray struct.
2015-12-27 00:13:35 -08:00
e239f5aaaf Moved all the 3d math stuff into its own module. 2015-12-26 19:27:32 -08:00
ff10e696c8 Finished vector/point/normal/matrix code.
Sans bugs, optimization, and possibly convenience functions down
the line.
2015-12-26 17:50:37 -08:00
aa6b72493b First commit.
WIP basic 3d math code.
2015-12-26 00:38:29 -08:00