|
|
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.
continuous-integration/drone/push Build is passing
|
2021-07-21 13:17:25 -07:00 |
|
|
|
0e8a0e4163
|
shapes: implement plane geometry.
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.
continuous-integration/drone/push Build is passing
|
2021-07-20 22:17:50 -07:00 |
|
|
|
7741766635
|
drone: add build config for rtchallenge
continuous-integration/drone/push Build is passing
|
2021-07-18 21:17:56 -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.
continuous-integration/drone/push Build is passing
|
2021-07-18 20:30:06 -07:00 |
|
|
|
c4f10126e3
|
git-hooks: build and test with --no-default-features too.
Stores output in separate target/ subdir, so it shouldn't get clobbered.
|
2021-07-18 20:16:34 -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 |
|
|
|
5d57304d95
|
eoc8: implement the end of chapter 8 challenge. Note:
This implementation looks like crap and I'm not sure why.
|
2021-07-18 16:55:29 -07:00 |
|
|
|
599f484dff
|
camera: protoype supersampling for rayon render pass.
|
2021-07-18 16:31:36 -07:00 |
|
|
|
ce998c68eb
|
matrices: rename inverse_old to inverse_rtiow to indicate origin.
|
2021-07-18 16:30:38 -07:00 |
|
|
|
37048ddd52
|
spheres: implement rtiow Sphere::intersect for comparison.
|
2021-07-18 16:29:45 -07:00 |
|
|
|
19b2ef6ded
|
intersections: derive Debug for PrecomputedData.
|
2021-07-18 16:29:21 -07:00 |
|
|
|
7e450d664e
|
world & intersections: handle shadows.
|
2021-07-18 13:08:03 -07:00 |
|
|
|
09047eb713
|
world: implement World::is_shadowed.
|
2021-07-18 12:54:18 -07:00 |
|
|
|
1065702a5d
|
materials: make lighting calculation shadow aware
|
2021-07-18 12:46:49 -07:00 |
|
|
|
efdc963a48
|
camera: update default render strategy to match CLI default
|
2021-07-18 12:37:29 -07:00 |
|
|
|
02ef8634c3
|
camera: update docstring to reflect new findings
|
2021-07-18 12:36:15 -07:00 |
|
|
|
7e19d7e61b
|
camera: lint cleanup
|
2021-07-18 12:14:13 -07:00 |
|
|
|
dbf5451070
|
eoc7: make command flag for choosing rendering strategy.
continuous-integration/drone/push Build is passing
|
2021-07-18 11:49:56 -07:00 |
|
|
|
4f88d2c101
|
camera: make rendering strategy configurable, add workerpool version.
|
2021-07-18 11:48:58 -07:00 |
|
|
|
94ea724344
|
lights & world: derive Clone for PointLight and World.
|
2021-07-18 11:14:44 -07:00 |
|
|
|
967920e1fa
|
eoc7: show elapsed time out to milliseconds.
|
2021-07-18 11:12:19 -07:00 |
|
|
|
2eeeb2013b
|
camera & spheres: add feature tag disable_inverse_cache
|
2021-07-18 08:51:51 -07:00 |
|
|
|
538b8ad364
|
camera: cache inverse tranform for huge speed up on ray_for_pixel.
WIP parallel render function.
|
2021-07-17 23:16:50 -07:00 |
|
|
|
2395c96e01
|
spheres: cache inverse transform to accelerate normal_at.
|
2021-07-17 23:10:54 -07:00 |
|
|
|
5f3bfd744e
|
eoc7: implement end of chapter 7 challenge.
continuous-integration/drone/push Build is passing
|
2021-07-17 22:05:54 -07:00 |
|
|
|
e752536430
|
camera: correct x/y calculations in Camera::render.
|
2021-07-17 21:52:11 -07:00 |
|
|
|
059f710706
|
camera: implement Camera::render.
|
2021-07-17 21:45:15 -07:00 |
|
|
|
ad02d7e945
|
canvas: remove unnecessary mut on Canvas::get's self parameter.
|
2021-07-17 21:44:48 -07:00 |
|
|
|
5911610064
|
camera: implement Camera::ray_for_pixel.
|
2021-07-17 21:34:09 -07:00 |
|
|
|
39f7f77b74
|
camera: add basic Camera object.
|
2021-07-17 21:22:07 -07:00 |
|
|
|
125c96c25f
|
transformations: implement view_transform.
|
2021-07-17 17:40:35 -07:00 |
|
|
|
249a2915d9
|
matrices: minor tweaks to make debugging easier.
|
2021-07-17 17:40:14 -07:00 |
|
|
|
9f00485256
|
Use WHITE and BLACK constants where appropriate
|
2021-07-17 16:41:22 -07:00 |
|
|
|
b37398ac40
|
world: implement World::color_at
|
2021-07-17 16:12:30 -07:00 |
|