18 Commits

Author SHA1 Message Date
926fffa29f patterns: add ability to nest patterns 2021-08-01 19:08:36 -07:00
1d5e5a164b materials: move tests from doctest to unit. 2021-07-30 21:21:51 -07:00
1d61f59935 materials: add transparency and refractive_index to Material. 2021-07-25 16:33:03 -07:00
7f36aecf5e world: add reflection to ray tracer. 2021-07-25 16:28:34 -07:00
bdcee49d5a patterns: add builder pattern for creating Patterns. 2021-07-25 13:50:13 -07:00
b9f2c3f0ec patterns: create generic Pattern modeled after StripePattern.
Add TestPattern to validate generic implementation.
Make Material.color use Pattern.
2021-07-25 13:30:40 -07:00
8b79876aee patterns: implement object and pattern transformation awareness. 2021-07-25 11:22:36 -07:00
bfa3282a37 materials: add StripePattern as a Material color option. 2021-07-24 19:36:32 -07:00
de898f0b0a Add builder pattern to a few core types.
Add a From<[3;Float]> impl for Color to make things nicer.
2021-07-21 20:42:08 -07:00
1c06833658 Fixes for test when using Float == f64. 2021-07-18 17:27:31 -07:00
95de5863cc all: s/f32/Float/g now using customer Float alias. 2021-07-18 17:18:08 -07:00
1065702a5d materials: make lighting calculation shadow aware 2021-07-18 12:46:49 -07:00
9f00485256 Use WHITE and BLACK constants where appropriate 2021-07-17 16:41:22 -07:00
86d052d38b materials: use crate definition for BLACK. 2021-07-17 16:12:04 -07:00
6863b4ecd6 materials: small correction to specular computation. 2021-07-17 10:09:46 -07:00
d8e5476806 materials: implement Phong lighting. 2021-07-17 09:31:23 -07:00
1cbfbc8641 spheres: add material to Sphere. 2021-07-17 09:07:08 -07:00
b4428f924c lights & materials: implement the default light and material types. 2021-07-17 08:59:02 -07:00