Commit Graph

20 Commits

Author SHA1 Message Date
Matthew Gordon 6e3a5dd1d8 Replace Aggregate with Primitive and stub Primitive::transform()
All the implemntations of transform are just todo!()
2025-03-29 15:39:02 -03:00
Matthew Gordon e8f9040807 Make vector and matrix classes parameterized by float type 2025-03-28 22:14:03 -03:00
Matthew Gordon fb744258b2 Numerous small changes suggested by clippy 2021-10-08 09:23:16 -04:00
Matthew Gordon f5b0a35635 Replace nalgebra matrix and vector classes with own classes
Nalgebra only used to find matrix inverse now.
2020-08-28 23:08:44 -04:00
Matthew Gordon 99cf127c9f Change a bunch of generics that used with RealType to just use f64 2020-08-18 23:12:28 -04:00
Matthew Gordon 5c2fbf995a Made some minor improvements suggested by clippy 2020-08-15 00:06:06 -04:00
Matthew Gordon 699c308782 Rewrite BoundingVolumeHierarchy
New BVH has much cleaner design and is also using a much better
heuristic for dividing the scene.

Massive speedup (~28x!), presumable from having a heuristic that
actually works. This is still a simple heuristic (sort by
bounding box centres along largest dimension, and then divide into
equal halves) which can definitely be improved.
2020-08-11 23:59:03 -04:00
Matthew Gordon c322981486 Make BHV contain a BinaryTree instead of being one 2020-07-20 21:46:36 -04:00
Matthew Gordon b39c7e89b1 Some cleanup of BVH and BinaryTree 2020-07-04 23:16:22 -04:00
Matthew Gordon 231be6a1a5 Add generic BinaryTree struct and use in BoundingVolumeHierarchy
No change in runtime, as expected.
2020-07-04 22:09:44 -04:00
Matthew Gordon 90bb7d84af Big rijiggering of types 2020-06-11 22:13:51 -04:00
Matthew Gordon ec1ee394a9 Add documentation for BoundingVolumeHierarchy 2020-04-24 00:32:16 -04:00
Matthew Gordon c063ff22a4 Replace anonymous tuple with tuple struct to improve readability 2020-04-03 23:33:06 -04:00
Matthew Gordon 5fbed4a17f Some minor cleanup recommended by clippy 2020-04-03 23:21:38 -04:00
Matthew Gordon cf8f5e646b Use Box instead of Arc in BoundingVolumeHierarchy 2020-03-27 21:18:47 -04:00
Matthew Gordon ad2b9247b8 Use BoundingVolumeHierarchy to accelerate rendering 2020-02-28 23:26:56 -05:00
Matthew Gordon e52c0772b4 Remove unused import 2020-02-19 08:03:16 -05:00
Matthew Gordon 87b2f2835a Rename morton_order_value() to morton_order_value_3d() 2020-02-19 08:02:36 -05:00
Matthew Gordon 3c813c4526 More work on BoundingVolumeHierarchy 2020-02-13 20:24:35 -05:00
Matthew Gordon 7bd45c8ad2 First pass at bounding volume hierarchy 2020-02-10 22:23:38 -05:00