Commit Graph

  • 8570e08923 Implement Transform trait for Triangle Matthew Gordon 2020-04-03 22:58:00 -0400
  • 5df3f81359 Implement Transform trait for Plane Matthew Gordon 2020-04-03 22:57:28 -0400
  • a856fcbc21 Make Transform triat use Affine3 instead of the more general Tramsform3 Matthew Gordon 2020-04-03 22:56:28 -0400
  • 9904d3f06e Fix test model path in benchmark Matthew Gordon 2020-04-03 21:23:38 -0400
  • 36a4c6f951 Add "stanford bunny" model to repository (for testing) Matthew Gordon 2020-04-03 21:18:16 -0400
  • cf8f5e646b Use Box instead of Arc in BoundingVolumeHierarchy Matthew Gordon 2020-03-27 21:18:47 -0400
  • bbeb39ba5d Replace unnecessary Arcs with Boxes. Matthew Gordon 2020-03-27 20:34:19 -0400
  • 50d9848faa Enable debug symbols in benchmarks Matthew Gordon 2020-03-19 22:37:13 -0400
  • 3afbc600e6 Switch to Criterion for benchmarks Matthew Gordon 2020-03-19 22:36:46 -0400
  • 4042b266ae Update benchmark Matthew Gordon 2020-03-16 19:54:08 -0400
  • b13cbe316d Add Transform trait and implement for Sphere Matthew Gordon 2020-03-12 21:26:22 -0400
  • fa43552c6f Remove stray debug print Matthew Gordon 2020-02-28 23:27:32 -0500
  • ad2b9247b8 Use BoundingVolumeHierarchy to accelerate rendering Matthew Gordon 2020-02-28 23:26:56 -0500
  • 2b8794c884 Add recursion limit to ray tracing Matthew Gordon 2020-02-28 23:25:51 -0500
  • 0574dff685 Threads pass back small images instead of sharing large image Matthew Gordon 2020-02-28 21:42:19 -0500
  • a04f51998c Make main rendering loop multithreaded again. Matthew Gordon 2020-02-28 20:51:06 -0500
  • 254957c5c3 Add another image to README.md Matthew Gordon 2020-02-22 19:51:00 -0500
  • bdd05f3527 Refactor main rendering loop to use TileIterator Matthew Gordon 2020-02-20 16:47:15 -0500
  • d21d288013 Add TileIterator struct Matthew Gordon 2020-02-19 08:04:41 -0500
  • e52c0772b4 Remove unused import Matthew Gordon 2020-02-19 08:03:16 -0500
  • 87b2f2835a Rename morton_order_value() to morton_order_value_3d() Matthew Gordon 2020-02-19 08:02:36 -0500
  • 3c813c4526 More work on BoundingVolumeHierarchy Matthew Gordon 2020-02-13 20:24:35 -0500
  • 7bd45c8ad2 First pass at bounding volume hierarchy Matthew Gordon 2020-02-10 22:23:38 -0500
  • e411f4abb4 Start working on morton (z-order sorting) Matthew Gordon 2020-02-10 17:45:12 -0500
  • 8508ac1072 Add trait for converting real type tu u32 Matthew Gordon 2020-02-10 17:15:02 -0500
  • 079e02e059 Remove some dbg!s Matthew Gordon 2020-02-10 16:54:42 -0500
  • d6b5c87759 Create Real trait to replace nalgebra::RealField Matthew Gordon 2020-02-10 16:52:09 -0500
  • a15eeccdfb Fix code formatting. No change of functionality. Matthew Gordon 2020-02-07 17:05:07 -0500
  • 23e8a878c5 Move algebra_utils.rs into util module Matthew Gordon 2020-02-07 17:04:42 -0500
  • 49bef6f0f4 Add Point3Normalizer Matthew Gordon 2020-02-07 17:00:46 -0500
  • 259505e93f Add RealFieldNormalizer Matthew Gordon 2020-02-06 17:36:36 -0500
  • c3f3fffc0e Move axis_aligned_bounding_box to util module Matthew Gordon 2020-02-06 17:06:46 -0500
  • 65b5e3c45d Create util module and move Interval struct to it Matthew Gordon 2020-02-06 16:49:11 -0500
  • 8c527d34fc Add Primitive trait Matthew Gordon 2020-01-30 17:01:23 -0500
  • a0de9c18ba Implement HasBoundingBox trait for Plane Matthew Gordon 2020-01-30 16:43:48 -0500
  • 89aed89b85 Add derive(Debug) for BoundingBox Matthew Gordon 2020-01-30 16:43:21 -0500
  • 1044fc3986 Implement HasBoundingBox for Tirangle Matthew Gordon 2020-01-29 16:50:26 -0500
  • e67204b96e Make BoundingBox::from_points accept any IntoIterator<Point3<T>> Matthew Gordon 2020-01-29 16:49:30 -0500
  • e5d7a1098d Add more methods for constructing BoundingBoxes Matthew Gordon 2020-01-29 08:09:58 -0500
  • 30a5a9dd0f Add Interval::expand_to_value(); other minor changes Matthew Gordon 2020-01-12 12:13:31 -0500
  • 25ac0bad7f Fixed bug with empty intervals Matthew Gordon 2020-01-12 10:45:39 -0500
  • 75611d47d3 Add HasBoundingBox trait with implementation for Sphere Matthew Gordon 2020-01-10 17:15:35 -0500
  • abf71658b6 Add axis_aligned_bounding_box::BoundingBox::union() Matthew Gordon 2020-01-10 17:00:09 -0500
  • da2208f3f8 Add Interval::union() Matthew Gordon 2020-01-10 16:46:17 -0500
  • 5f6733fdb0 Move some declarations around within struct, no change in functionality Matthew Gordon 2020-01-10 16:21:38 -0500
  • ffcfa0009c Move import that was only used in tests into test module Matthew Gordon 2020-01-10 16:20:19 -0500
  • 5e0e2bad06 Make build and test work with stable rust (nightly needed for benchmarks) Matthew Gordon 2020-01-10 16:16:27 -0500
  • 4ee7338711 Add axis_aligned_bounding_box module Matthew Gordon 2019-12-31 22:17:15 -0500
  • 5c8903107a Add IntersectP trait Matthew Gordon 2019-12-31 22:16:06 -0500
  • 6639ed813b Remove some old code that was already commented out Matthew Gordon 2019-12-31 22:15:13 -0500
  • a785eb796f Only enable benchmark when benchmarking, not as regular test Matthew Gordon 2019-12-31 22:14:24 -0500
  • 1653174ef6 Make triangle a submodule of raycasting. Matthew Gordon 2019-12-21 15:29:52 -0500
  • c35735f117 Move Plane into it's own submodule Matthew Gordon 2019-12-21 15:19:16 -0500
  • 91579745cb Move Sphere to a submodule Matthew Gordon 2019-12-21 15:06:48 -0500
  • 4e7565638a Move raycsating module into subdirectory Matthew Gordon 2019-12-21 10:50:59 -0500
  • 2c4e951767 Add Linux perf output to .gitignore Matthew Gordon 2019-12-21 10:45:48 -0500
  • 08484306fd Move load_obj() into submudule Matthew Gordon 2019-12-21 10:42:52 -0500
  • 12e26887c1 Make output image smaller. Matthew Gordon 2019-12-21 10:07:02 -0500
  • 1b9cf2cbca Add benchmark Matthew Gordon 2019-12-21 10:06:47 -0500
  • 7cdcdb145a Remove unused function. Matthew Gordon 2019-12-21 09:57:30 -0500
  • e1de889d3a Quick-and-dirty multithreading Matthew Gordon 2019-12-21 09:55:34 -0500
  • 3618636c42 First quick pass at loading OBJ files. Matthew Gordon 2019-12-21 09:11:30 -0500
  • 199b33f944 Remove unused function Matthew Gordon 2019-12-12 13:01:02 -0500
  • 777580be17 Fix triangle intersection passing when triangle is behind ray Matthew Gordon 2019-12-12 08:57:46 -0500
  • 9096ff67b6 Remove some debug prints that I committed by accident Matthew Gordon 2019-12-12 08:56:31 -0500
  • 365b6063e0 Tweak test scene Matthew Gordon 2019-12-12 08:45:15 -0500
  • c05eba391b Add more tests for triangle intersection and fix a couple of bugs Matthew Gordon 2019-12-12 07:51:26 -0500
  • 9eca3a4cfe Replace Vector3 with Point3 where appropriate Matthew Gordon 2019-12-07 10:56:01 -0500
  • a7e1f1c134 Add type alias for the return type of Material::bsdf() Matthew Gordon 2019-12-07 10:31:55 -0500
  • 52da1bc952 Clean up a long if-else sequence. No change in functionality. Matthew Gordon 2019-12-07 10:31:14 -0500
  • c0d0f81335 Replace ClampingToneMapper::new() with derive(Default) Matthew Gordon 2019-12-07 10:28:49 -0500
  • d98144ab74 Minor cleanup and tidying; no change in functionality. Matthew Gordon 2019-12-07 10:24:38 -0500
  • 2b3d350fbb Add intersection test for triangle; not quite working yet though Matthew Gordon 2019-12-07 09:25:11 -0500
  • b61a089869 Add test output image to README.md Matthew Gordon 2019-12-02 21:30:46 -0500
  • 509cf95aeb Add test output image to README.md #2 Matthew Gordon 2019-12-02 21:30:46 -0500
  • 434a285625 Enable optimization in debug builds; it's basically unusable without Matthew Gordon 2019-11-30 11:29:30 -0500
  • 1a3d41e6d4 Enable LTO for release builds Matthew Gordon 2019-11-30 11:29:07 -0500
  • 6f1663f616 Fix issue with noise in refrections Matthew Gordon 2019-11-30 11:26:18 -0500
  • d19d5200b0 Add another light to test scene, to fill shadows in a little Matthew Gordon 2019-11-29 22:28:55 -0500
  • 8b0b8c59ba Add ReflectiveMaterial material type Matthew Gordon 2019-11-29 22:28:27 -0500
  • 5cd80ae05c Add sample funtion to Material trait, with default implementation Matthew Gordon 2019-11-29 22:27:43 -0500
  • dcee4fb716 Add missing normalization of tangent vectors Matthew Gordon 2019-11-29 22:25:50 -0500
  • ad6e1c1b4a
    Add guthub build badge to README Matthew Gordon 2019-11-28 11:29:11 -0500
  • b2b3c7c978
    GitHub build action (#1) Matthew Gordon 2019-11-28 11:01:14 -0500
  • 8c4a0002fe
    WIP #1 github-build-action Matthew Gordon 2019-11-28 10:49:21 -0500
  • a700a28d9c
    Github build action WIP Matthew Gordon 2019-11-28 10:39:04 -0500
  • f52d201ffd
    Github build action: WIP Matthew Gordon 2019-11-28 10:34:35 -0500
  • ea5e9c3870
    Github build action: Install SDL2 Matthew Gordon 2019-11-28 10:33:09 -0500
  • 32f5939458
    Add github action to build and test Matthew Gordon 2019-11-28 10:21:53 -0500
  • dbbd855c73 Add Phong material Matthew Gordon 2019-11-27 17:05:51 -0500
  • 0a7963097c Add (co)tangent to IntersectionInfo and redid sphere intersection Matthew Gordon 2019-11-27 17:02:23 -0500
  • 015625ff20 Add utility function to create change-of-basis matrices Matthew Gordon 2019-11-27 17:00:44 -0500
  • e7bcc9cc62 Add diffuse strength term to LambertianMaterial Matthew Gordon 2019-11-26 07:11:11 -0500
  • 430053c134 Fix bug rendering images with dimensinos not multiples of tile size Matthew Gordon 2019-11-26 07:03:45 -0500
  • d9912c42dd Fix bug where non-square images would not be completely rendered Matthew Gordon 2019-11-26 06:59:26 -0500
  • 86ef364ed2 Render image a tile at a time, so user can see progress Matthew Gordon 2019-11-25 09:04:20 -0500
  • 20d3e9ba8d Add some more objects to the test scene Matthew Gordon 2019-11-25 08:34:04 -0500
  • 5a0646aaa2 Bias shadow rays to fix noise in image Matthew Gordon 2019-11-23 22:08:50 -0500
  • 77cf877210 Factor out Sampler struct and add shadow casting Matthew Gordon 2019-11-23 21:36:59 -0500
  • cefbc2873b Refactor, adding Material trait that returns a BSDF Matthew Gordon 2019-11-23 20:53:45 -0500