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 |
Matthew Gordon
|
e411f4abb4
|
Start working on morton (z-order sorting)
|
2020-02-10 17:45:12 -05:00 |
Matthew Gordon
|
8508ac1072
|
Add trait for converting real type tu u32
|
2020-02-10 17:15:02 -05:00 |
Matthew Gordon
|
079e02e059
|
Remove some dbg!s
|
2020-02-10 16:54:42 -05:00 |
Matthew Gordon
|
d6b5c87759
|
Create Real trait to replace nalgebra::RealField
Real inherits RealField, but I want to add more to it.
|
2020-02-10 16:52:09 -05:00 |
Matthew Gordon
|
a15eeccdfb
|
Fix code formatting. No change of functionality.
|
2020-02-07 17:05:07 -05:00 |
Matthew Gordon
|
23e8a878c5
|
Move algebra_utils.rs into util module
|
2020-02-07 17:04:42 -05:00 |
Matthew Gordon
|
49bef6f0f4
|
Add Point3Normalizer
|
2020-02-07 17:00:46 -05:00 |
Matthew Gordon
|
259505e93f
|
Add RealFieldNormalizer
|
2020-02-06 17:36:36 -05:00 |
Matthew Gordon
|
c3f3fffc0e
|
Move axis_aligned_bounding_box to util module
|
2020-02-06 17:06:46 -05:00 |
Matthew Gordon
|
65b5e3c45d
|
Create util module and move Interval struct to it
|
2020-02-06 16:49:11 -05:00 |
Matthew Gordon
|
8c527d34fc
|
Add Primitive trait
|
2020-01-30 17:22:53 -05:00 |
Matthew Gordon
|
a0de9c18ba
|
Implement HasBoundingBox trait for Plane
|
2020-01-30 16:43:48 -05:00 |
Matthew Gordon
|
89aed89b85
|
Add derive(Debug) for BoundingBox
|
2020-01-30 16:43:21 -05:00 |
Matthew Gordon
|
1044fc3986
|
Implement HasBoundingBox for Tirangle
|
2020-01-29 16:50:26 -05:00 |
Matthew Gordon
|
e67204b96e
|
Make BoundingBox::from_points accept any IntoIterator<Point3<T>>
...instead of only Vec<Point3<T>>
|
2020-01-29 16:49:30 -05:00 |
Matthew Gordon
|
e5d7a1098d
|
Add more methods for constructing BoundingBoxes
|
2020-01-29 08:09:58 -05:00 |
Matthew Gordon
|
30a5a9dd0f
|
Add Interval::expand_to_value(); other minor changes
|
2020-01-12 12:13:31 -05:00 |
Matthew Gordon
|
25ac0bad7f
|
Fixed bug with empty intervals
|
2020-01-12 10:45:39 -05:00 |
Matthew Gordon
|
75611d47d3
|
Add HasBoundingBox trait with implementation for Sphere
|
2020-01-10 17:15:35 -05:00 |
Matthew Gordon
|
abf71658b6
|
Add axis_aligned_bounding_box::BoundingBox::union()
|
2020-01-10 17:00:09 -05:00 |
Matthew Gordon
|
da2208f3f8
|
Add Interval::union()
|
2020-01-10 16:46:17 -05:00 |
Matthew Gordon
|
5f6733fdb0
|
Move some declarations around within struct, no change in functionality
|
2020-01-10 16:21:38 -05:00 |
Matthew Gordon
|
ffcfa0009c
|
Move import that was only used in tests into test module
|
2020-01-10 16:21:28 -05:00 |
Matthew Gordon
|
5e0e2bad06
|
Make build and test work with stable rust (nightly needed for benchmarks)
|
2020-01-10 16:16:27 -05:00 |
Matthew Gordon
|
4ee7338711
|
Add axis_aligned_bounding_box module
|
2019-12-31 22:17:15 -05:00 |
Matthew Gordon
|
5c8903107a
|
Add IntersectP trait
Like Intersect, but the intersect() function only returns a bool,
not a Optional<IntersectionInfo>.
|
2019-12-31 22:16:06 -05:00 |
Matthew Gordon
|
6639ed813b
|
Remove some old code that was already commented out
|
2019-12-31 22:15:13 -05:00 |
Matthew Gordon
|
a785eb796f
|
Only enable benchmark when benchmarking, not as regular test
|
2019-12-31 22:14:24 -05:00 |
Matthew Gordon
|
1653174ef6
|
Make triangle a submodule of raycasting.
|
2019-12-21 15:29:52 -05:00 |
Matthew Gordon
|
c35735f117
|
Move Plane into it's own submodule
|
2019-12-21 15:19:16 -05:00 |
Matthew Gordon
|
91579745cb
|
Move Sphere to a submodule
|
2019-12-21 15:06:48 -05:00 |
Matthew Gordon
|
4e7565638a
|
Move raycsating module into subdirectory
|
2019-12-21 10:50:59 -05:00 |
Matthew Gordon
|
2c4e951767
|
Add Linux perf output to .gitignore
|
2019-12-21 10:45:48 -05:00 |
Matthew Gordon
|
08484306fd
|
Move load_obj() into submudule
|
2019-12-21 10:43:39 -05:00 |
Matthew Gordon
|
12e26887c1
|
Make output image smaller.
|
2019-12-21 10:43:39 -05:00 |
Matthew Gordon
|
1b9cf2cbca
|
Add benchmark
|
2019-12-21 10:43:33 -05:00 |
Matthew Gordon
|
7cdcdb145a
|
Remove unused function.
|
2019-12-21 10:08:00 -05:00 |
Matthew Gordon
|
e1de889d3a
|
Quick-and-dirty multithreading
Not the best multithreading scheme and needs error handling, but
it works.
|
2019-12-21 10:07:53 -05:00 |
Matthew Gordon
|
3618636c42
|
First quick pass at loading OBJ files.
|
2019-12-21 09:11:30 -05:00 |
Matthew Gordon
|
199b33f944
|
Remove unused function
|
2019-12-12 13:01:02 -05:00 |
Matthew Gordon
|
777580be17
|
Fix triangle intersection passing when triangle is behind ray
|
2019-12-12 08:57:46 -05:00 |
Matthew Gordon
|
9096ff67b6
|
Remove some debug prints that I committed by accident
|
2019-12-12 08:56:31 -05:00 |
Matthew Gordon
|
365b6063e0
|
Tweak test scene
|
2019-12-12 08:45:15 -05:00 |
Matthew Gordon
|
c05eba391b
|
Add more tests for triangle intersection and fix a couple of bugs
Still not working properly.
|
2019-12-12 07:51:26 -05:00 |
Matthew Gordon
|
9eca3a4cfe
|
Replace Vector3 with Point3 where appropriate
|
2019-12-07 11:09:07 -05:00 |
Matthew Gordon
|
a7e1f1c134
|
Add type alias for the return type of Material::bsdf()
|
2019-12-07 10:58:04 -05:00 |
Matthew Gordon
|
52da1bc952
|
Clean up a long if-else sequence. No change in functionality.
|
2019-12-07 10:58:04 -05:00 |
Matthew Gordon
|
c0d0f81335
|
Replace ClampingToneMapper::new() with derive(Default)
|
2019-12-07 10:58:04 -05:00 |