172e2f19ef
Removed BVH4 and the related bitstack from AccelRay.
...
I couldn't make the BVH4 faster than the BVH, and the bitstack
was bloating the AccelRay struct. Removing the bitstack gives
a small but noticable speedup in rendering.
2017-05-12 21:07:40 -07:00
53a14996c9
Completed first attempt at implementing BVH4.
...
Completely untested, so almost certainly non-functional. But it
compiles!
2017-04-12 23:33:34 -07:00
c05bae2636
Created a BitStack128 type and added it to Ray.
...
This will be used for BVH4 traversal.
2017-04-11 11:13:23 -07:00
97b5ef77f8
Code cosmetics: organize and alphabetize crate/mod/use statements.
2016-08-20 18:10:55 -07:00
3b85b60a62
Implemented occlusion rays.
...
This is prep for lighting support: occlusion rays are useful for
speedier shadow tests.
2016-06-27 21:01:18 -07:00
18245b725c
All final intersections are now done in world space.
...
BVH traversal still happens in local space, but final actual
surface intersection calculations are done in world space by
transforming the triangle into world space. This is to improve
numerical consistency between intersections.
2016-06-09 01:04:12 -07:00
c3d3145817
Fixed bug in ray intersection code.
...
The max_t was getting overwritten during transforms.
2016-06-02 22:36:02 -07:00
7c5c2e4308
Implemented a Camera type.
2016-01-02 20:27:53 -08:00
eaeec4c207
BVH now works on slices of Rays, taking a breadth-first approach.
2015-12-31 13:12:15 -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
81dc3d14a8
Fleshed out Ray a bit more.
2015-12-27 00:50:18 -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