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 |
Matthew Gordon
|
d98144ab74
|
Minor cleanup and tidying; no change in functionality.
|
2019-12-07 10:58:04 -05:00 |
Matthew Gordon
|
2b3d350fbb
|
Add intersection test for triangle; not quite working yet though
|
2019-12-07 09:28:11 -05:00 |
Matthew Gordon
|
b61a089869
|
Add test output image to README.md
|
2019-12-02 21:37:15 -05:00 |
Matthew Gordon
|
434a285625
|
Enable optimization in debug builds; it's basically unusable without
|
2019-11-30 11:29:30 -05:00 |
Matthew Gordon
|
1a3d41e6d4
|
Enable LTO for release builds
|
2019-11-30 11:29:07 -05:00 |
Matthew Gordon
|
6f1663f616
|
Fix issue with noise in refrections
The BSDF for Reflective material had rounding issues that would
sometimes make the reflection strength NaN.
|
2019-11-30 11:26:18 -05:00 |
Matthew Gordon
|
d19d5200b0
|
Add another light to test scene, to fill shadows in a little
|
2019-11-29 22:30:31 -05:00 |
Matthew Gordon
|
8b0b8c59ba
|
Add ReflectiveMaterial material type
Although there's still some issues with rendering the reflections.
|
2019-11-29 22:30:08 -05:00 |
Matthew Gordon
|
5cd80ae05c
|
Add sample funtion to Material trait, with default implementation
|
2019-11-29 22:27:43 -05:00 |
Matthew Gordon
|
dcee4fb716
|
Add missing normalization of tangent vectors
This was required to get reflection working but also fixes
issues with the PhongMaterial parameters.
|
2019-11-29 22:25:50 -05:00 |
Matthew Gordon
|
ad6e1c1b4a
|
Add guthub build badge to README
|
2019-11-28 11:29:11 -05:00 |