Commit Graph

40 Commits

Author SHA1 Message Date
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 8f0a7d0cfd Add Vec2, Vec3 and Vec4 structs 2020-08-14 22:41:36 -04:00
Matthew Gordon 9160251d10 Start adding custom matrix and vector types 2020-08-13 23:16:56 -04:00
Matthew Gordon 1d9baf1f05 Add some documentation for mesh module 2020-04-24 00:31:15 -04:00
Matthew Gordon 8ee1f3a004 Add a bunch of documentation to the raycasting module 2020-04-23 23:58:35 -04:00
Matthew Gordon 63afdfa36e Make the camera module private and just re-export partial_render_scene() 2020-04-23 23:16:50 -04:00
Matthew Gordon 2a77bac0cc Add a proper description to the README.md and include it in lib.rs 2020-04-23 21:44:01 -04:00
Matthew Gordon 3afbc600e6 Switch to Criterion for benchmarks 2020-03-19 22:40:17 -04:00
Matthew Gordon 4042b266ae Update benchmark 2020-03-19 22:40:17 -04: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 65b5e3c45d Create util module and move Interval struct to it 2020-02-06 16:49:11 -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 a785eb796f Only enable benchmark when benchmarking, not as regular test 2019-12-31 22:14:24 -05:00
Matthew Gordon 1b9cf2cbca Add benchmark 2019-12-21 10:43:33 -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 dbbd855c73 Add Phong material 2019-11-27 17:05:51 -05:00
Matthew Gordon 77cf877210 Factor out Sampler struct and add shadow casting
There are now bad rendering artifacts which I believe are caused
by precision issues.
2019-11-23 21:36:59 -05:00
Matthew Gordon ad7d0b5f17 Started materials module. 2019-11-17 20:26:39 -05:00
Matthew Gordon 86e0b04a46 Add some code for dealing with colours. 2019-11-15 09:02:00 -05:00
Matthew Gordon f4bbe75cf8 Sort modules in lib.rs. No change in functionality. 2019-11-14 07:16:11 -05:00
Matthew Gordon d9af6dad94 Added Phong integrator (actually only computing lambertion yet) 2019-11-12 22:11:06 -05:00
Matthew Gordon 1eb3741b7d Render a basic scene 2019-11-12 08:03:29 -05:00
Matthew Gordon 326caf151a Start camera module 2019-11-11 12:11:10 -05:00
Matthew Gordon c059aebe11 Move OutputImage into it's own module 2019-11-08 07:52:38 -05:00
Matthew Gordon eaf9ba7b2f Create raycasting module 2019-11-08 07:38:24 -05:00
Matthew Gordon 192857eead Add Sphere struct, Intersect trait, and sphere-ray intersection 2019-11-08 07:25:15 -05:00
Matthew Gordon 78ea2b2e64 Add another unit test for Ray struct 2019-11-08 07:24:50 -05:00
Matthew Gordon 3244181a08 Add some missing "pub" qualifiers 2019-11-08 07:23:01 -05:00
Matthew Gordon 76a7299fb9 Add more unit tests for Ray 2019-11-06 17:32:47 -05:00
Matthew Gordon 9ebfae5898 Add Ray constructor that ensures direction vector is normalized 2019-11-06 17:32:02 -05:00
Matthew Gordon ff046808da Throw out my own vector functions and add Ray type with nalgebra 2019-11-06 12:56:43 -05:00
Matthew Gordon 5a44984779 Add Point2D and Point3D 2019-10-24 21:08:58 -04:00
Matthew Gordon 7bc7b3520a Implement Mul for f64 * Vector3D 2019-10-24 21:00:34 -04:00
Matthew Gordon 423be7700d Implement Mul for Vector3D * scalar 2019-10-24 20:56:52 -04:00
Matthew Gordon 14bae21b80 Implement Mul for f64 * Vector2D 2019-10-24 20:51:51 -04:00
Matthew Gordon 0cb1157df0 Implement Mul for Vector2D * scalar 2019-10-24 20:42:58 -04:00
Matthew Gordon 7e5c9d5231 Add Sub trait for Vector2D; add Vector3D with Add and Sub traits. 2019-10-24 20:32:46 -04:00
Matthew Gordon daee8af0ea Start adding vector types 2019-10-23 22:21:32 -04:00