156 Commits

Author SHA1 Message Date
0c7bbae4a3 rtchallenge: remove disable-inverse-cache feature. 2021-07-25 14:54:00 -07:00
eaae65712b eoc10: example showing concepts from the chapter. 2021-07-25 14:51:33 -07:00
68709da6c2 patterns: implement checker pattern. 2021-07-25 14:46:26 -07:00
77215193fa patterns: implement ring pattern 2021-07-25 14:37:56 -07:00
74fe69188a patterns: add Gradient pattern. 2021-07-25 14:11:44 -07:00
bdcee49d5a patterns: add builder pattern for creating Patterns. 2021-07-25 13:50:13 -07:00
2e4e8b3dcd patterns: make From for Pattern a little generic. 2021-07-25 13:35:14 -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
3e383c4dbd patters: implemented basic stripe pattern. 2021-07-24 18:20:29 -07:00
c158d92252 eoc9: make width and height CLI flags. 2021-07-23 22:18:20 -07:00
62ad827507 eoc9: implement using prelude and builder pattern.
All checks were successful
continuous-integration/drone/push Build is passing
2021-07-23 22:12:24 -07:00
363f15fb00 camera: implement builder pattern on Camera and add it to prelude. 2021-07-23 22:05:38 -07:00
be2041285c shapes: use a builder pattern with helps in prelude. 2021-07-23 20:56:32 -07:00
958c4c3ee8 prelude: add PointLight and PointLightBuilder. 2021-07-23 20:30:14 -07:00
62cb5e4ec4 prelude: add World and WorldBuilder. 2021-07-23 20:17:31 -07:00
4680c97adc shapes:: helpers for creating Shapes added to the prelude. 2021-07-23 20:03:34 -07:00
0965ac9ddf matrics: create helpers for Matrix4x4 and add it to prelude. 2021-07-23 18:38:35 -07:00
4936839723 prelude: create prelude and add some tuple helpers to it. 2021-07-22 21:34:18 -07:00
c500d56d4d lights: make intensity parameter generic. 2021-07-22 21:33:09 -07:00
c058d043e0 balls: more experimentation. 2021-07-22 20:56:13 -07:00
166c87dfe5 camera: add default implementations. 2021-07-22 20:44:49 -07:00
9389fed84c balls: experiement with builder pattern. 2021-07-21 21:31:04 -07:00
28fe6fe982 shapes: fix inverse_transform on ShapeBuilder. 2021-07-21 21:30:26 -07:00
44b46187a0 world: add builder pattern. 2021-07-21 20:45:33 -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
e041fd1f6a shapes: implement TestShape. 2021-07-21 19:41:40 -07:00
952ed8bf81 intersections: implement a PartialEq that handles floats. 2021-07-21 19:41:14 -07:00
a553786807 tuples: derive Default on Tuple. 2021-07-21 19:40:12 -07:00
b42adcebfc rays: derive Default, Clone and PartialEq on Ray. 2021-07-21 19:39:47 -07:00
d999e8196b eoc9: add ceiling. 2021-07-21 15:15:59 -07:00
fc5ef09cc3 shapes: fix translation handling in intersection test. 2021-07-21 15:06:06 -07:00
e419994fae eoc9: add third light now that the we don't normalize it 2021-07-21 14:51:51 -07:00
ee8ef4e2c5 world: don't normalize light brightness by quantity of lights.
That's not how they work in real life.
2021-07-21 14:47:00 -07:00
41f3b63ad0 eoc9: one less light, and brighter 2021-07-21 14:44:29 -07:00
b2dc0e9509 eoc9: use plane in a scene. 2021-07-21 14:40:44 -07:00
2d8a3927f4 shapes: lint cleanup. 2021-07-21 14:40:27 -07:00
5600d6c561 shapes: name space helper implementations in a sub module.
All checks were successful
continuous-integration/drone/push Build is passing
2021-07-21 13:17:25 -07:00
0e8a0e4163 shapes: implement plane geometry.
All checks were successful
continuous-integration/drone/push Build is passing
2021-07-21 12:57:16 -07:00
2f85697b88 rays: derive Debug on Ray. 2021-07-21 12:53:19 -07:00
c0e422a7eb shapes: create generic Shape object with Sphere implementation.
All checks were successful
continuous-integration/drone/push Build is passing
2021-07-20 22:17:50 -07:00
3799f93393 eoc8: add third light for effect 2021-07-18 21:15:38 -07:00
1629b2cbfa Add multiple light support. 2021-07-18 21:10:04 -07:00
839642b886 camera: make supersampling configurable, wire it up in eoc8.
All checks were successful
continuous-integration/drone/push Build is passing
2021-07-18 20:30:06 -07:00
7a8ed15017 eoc8: zoom the fov. 2021-07-18 20:01:40 -07:00
5d8024a485 features: rename s/_/-/g and make double sizes Floats default. 2021-07-18 17:29:30 -07:00
ecf7cd7bdc eoc: Updates to work with new Float abstraction. 2021-07-18 17:27:52 -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