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 |
Matthew Gordon
|
b2b3c7c978
|
GitHub build action (#1)
Add Github action to build and test
|
2019-11-28 11:01:14 -05:00 |
Matthew Gordon
|
dbbd855c73
|
Add Phong material
|
2019-11-27 17:05:51 -05:00 |
Matthew Gordon
|
0a7963097c
|
Add (co)tangent to IntersectionInfo and redid sphere intersection
|
2019-11-27 17:02:23 -05:00 |
Matthew Gordon
|
015625ff20
|
Add utility function to create change-of-basis matrices
|
2019-11-27 17:00:44 -05:00 |
Matthew Gordon
|
e7bcc9cc62
|
Add diffuse strength term to LambertianMaterial
|
2019-11-26 07:17:27 -05:00 |
Matthew Gordon
|
430053c134
|
Fix bug rendering images with dimensinos not multiples of tile size
|
2019-11-26 07:03:45 -05:00 |
Matthew Gordon
|
d9912c42dd
|
Fix bug where non-square images would not be completely rendered
|
2019-11-26 06:59:26 -05:00 |
Matthew Gordon
|
86ef364ed2
|
Render image a tile at a time, so user can see progress
|
2019-11-25 09:04:20 -05:00 |
Matthew Gordon
|
20d3e9ba8d
|
Add some more objects to the test scene
|
2019-11-25 08:34:04 -05:00 |