Commit Graph

26 Commits

Author SHA1 Message Date
5dd8eb919b Changed ray batch data access to be through methods.
This is (potentially) just temporary.  It's to make it a bit easier
to play with data layout to see how that affects performance.
2019-06-25 17:31:51 +09:00
eef29c2b2f Type alias for the ray index type.
Makes things easier to play with.
2019-06-23 19:26:30 +09:00
630a79aca5 Initial implementation of ORST traversal.
This is a "just get it working" implementation.  Performance
optimizations still need to be done.
2019-06-23 18:40:52 +09:00
28a07de456 Improve module path usage and remove extern crate declarations where possible. 2018-12-16 13:02:49 -08:00
178c0bd6cb Third step transitioning to Rust 2018. 2018-12-16 12:17:21 -08:00
8deb1e87bb First step transitioning to Rust 2018. 2018-12-16 12:02:20 -08:00
6d21a30840 Formatting with newer cargo fmt.
No meaningful code change, only formatting.
2018-06-24 21:18:10 -07:00
c990672dfe Fix compiler warnings. 2018-03-04 13:06:22 -08:00
97d3304149 Run new rustfmt on codebase. 2018-03-04 13:00:55 -08:00
c0a26819c6 Bunch of code quality improvements based on running clippy.
None of them change behavior, just make the code cleaner.
2017-07-22 17:21:11 -07:00
f371e0643a Instrument code to count ray/node tests during BVH traversal. 2017-07-06 22:17:36 -07:00
09daf617ef Implemented a non-SIMD BVH4. Perf appears to be identical to BVH. 2017-07-01 15:08:05 -07:00
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
b135e8beb8 Fixed bug in new BVH4 traversal code. 2017-04-22 22:32:36 -07:00
fdf2b4babf Print stats for BVH and BVH4 traversal, and working on speeding up BVH4 traversal. 2017-04-22 11:18:29 -07:00
725bbca6a1 Eliminated some unnecessary left drift in BVH4 code.
IMO this is much easier to read.
2017-04-16 17:27:29 -07:00
92fd83a766 Actually using the None match arm in BVH4 traversal now.
It seems to maybe be just a hair faster.  But, also, it sets the
code up to try some more optimizations.
2017-04-16 17:22:51 -07:00
2c4f103db5 Factored some calculations into the outer loop of BVH4 traversal.
Provides a small but noticable speed boost.
2017-04-16 00:51:13 -07:00
a6d8de43d7 Make BVH4 calculate and store its node count.
Useful for debugging.
2017-04-14 22:14:52 -07:00
44e3ee8b4b Fixed nasty bug in BVH4 building.
In practice it worked fine, but only by accident.  NaN's were
being passed to the lerp_slice function, which led to the
correct result in this case but is icky and dependant
on how lerp_slice is implemented.
2017-04-14 20:25:12 -07:00
7f761a9489 Added custom aligned allocations to MemArena.
Used in BVH4.
2017-04-13 23:06:56 -07:00
8b1e3a3cdb Added some dev printing info. 2017-04-13 22:50:47 -07:00
573c5da5ab Got BVH4 working. Woo hoo! 2017-04-13 22:44:34 -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
e0c6dfbd76 Beginnings of BVH4 implementation.
- Created a traversal-order table.
- Created a function to help index into that table.
2017-04-11 23:10:54 -07:00
a2d7f9e149 Added BBox4 and BVH4 types.
BVH4 is just a skeleton (duplicated BVH) right now.  But BBox4
is complete (pending testing).
2017-04-11 14:22:11 -07:00