|
|
e529710d5d
|
spheres: fix normal_at for transformed spheres.
|
2021-07-17 08:44:26 -07:00 |
|
|
|
ac4f5eb9a6
|
git-hooks: remove debug printing.
continuous-integration/drone/push Build is passing
|
2021-07-17 08:14:51 -07:00 |
|
|
|
f846da18ad
|
envmap: cargo fmt.
|
2021-07-17 08:14:35 -07:00 |
|
|
|
e59029a94a
|
git-hooks: add pre-commit hook for fmt and testing checks.
|
2021-07-17 08:14:08 -07:00 |
|
|
|
339ce84903
|
tuples: whitespace cleanup for consistency.
|
2021-07-17 07:58:15 -07:00 |
|
|
|
6e7bd1c136
|
spheres: implement normal_at.
|
2021-07-17 07:57:59 -07:00 |
|
|
|
e430e3769e
|
canvas: add parameter to constructor to set background color.
continuous-integration/drone/push Build is passing
|
2021-07-16 22:33:22 -07:00 |
|
|
|
7609201c16
|
canvas: use ugly pink for default color to ease in debugging.
|
2021-07-16 22:28:05 -07:00 |
|
|
|
4bb6a72e4b
|
eoc5: implement suggestiong at end of chapter 5.
continuous-integration/drone/push Build is passing
|
2021-07-16 22:25:48 -07:00 |
|
|
|
cb1b3ec801
|
sphere: use Intersections as the return type from intersect.
|
2021-07-16 22:25:26 -07:00 |
|
|
|
ad7b10322f
|
spheres: enable intersect w/ transformed spheres.
|
2021-07-16 22:06:37 -07:00 |
|
|
|
6e73bab37f
|
s/translate/translation/g to match book.
|
2021-07-16 21:49:49 -07:00 |
|
|
|
87bf924094
|
spheres: add transform member to Sphere
|
2021-07-16 21:48:12 -07:00 |
|
|
|
9f22d820e7
|
rays: implement Ray::transform
|
2021-07-16 21:38:04 -07:00 |
|
|
|
324a26212a
|
intersections: implement Intersections::hit
|
2021-07-16 21:28:28 -07:00 |
|
|
|
c9b42d94b3
|
intersections: now store object in Intersection.
|
2021-07-16 21:14:23 -07:00 |
|
|
|
0ce1e8f7af
|
intersections: create inters module and initial functionality.
|
2021-07-16 21:06:57 -07:00 |
|
|
|
8b451a2395
|
rays: lint cleanup
|
2021-07-16 21:06:23 -07:00 |
|
|
|
da98744288
|
spheres: implement basic unit sphere and intersect.
|
2021-07-16 20:42:46 -07:00 |
|
|
|
f44d671573
|
rays: basic ray with construction and position methods
|
2021-07-16 20:13:20 -07:00 |
|
|
|
191760fa13
|
eoc4: lint cleanup.
|
2021-07-16 20:12:51 -07:00 |
|
|
|
12c2382327
|
eoc4: use Matrix4x4 to perform world to canvas scaling.
continuous-integration/drone/push Build is passing
|
2021-07-16 19:59:42 -07:00 |
|
|
|
5df2917668
|
eoc4: implement suggestion at the end of chapter 4
|
2021-07-16 17:12:48 -07:00 |
|
|
|
af5e61136c
|
matrices: doctest for matrix multiplication ordering.
|
2021-07-16 16:51:55 -07:00 |
|
|
|
4b0d882b84
|
lib & tuples: use crate specific EPSILON definition.
|
2021-07-16 16:49:55 -07:00 |
|
|
|
83799a02a9
|
matrices: implement Matrix4x4::shearing
|
2021-07-16 16:38:40 -07:00 |
|
|
|
b8df830460
|
tuples & matrices: remove float-cmp use.
continuous-integration/drone/push Build is passing
Implement PartialEq on `Tuple` and `Matrix4x4` using a local `EPSILON`
large enough for our unit tests to pass.
|
2021-07-06 08:44:21 -07:00 |
|
|
|
245b02b443
|
matrices: implement Matrix4x4:rotation_[xyz]
|
2021-07-05 18:36:43 -07:00 |
|
|
|
f792d1a626
|
matrices: implement Matrix4x4::scaling
|
2021-07-05 17:51:17 -07:00 |
|
|
|
117d7185e4
|
matrices: implement Matrix4x4::translate
|
2021-07-05 17:42:19 -07:00 |
|
|
|
462c90e8c8
|
matrices: benchmark Matrix::inverse & inverse_old
continuous-integration/drone/push Build is passing
|
2021-07-05 16:44:06 -07:00 |
|
|
|
ac3a18a864
|
matrices: implement Matrix4x4::inverse.
|
2021-07-05 16:26:27 -07:00 |
|
|
|
656f1c3a94
|
Small whitespace change.
|
2021-07-05 16:26:21 -07:00 |
|
|
|
762cd45f63
|
implement determinant on 3x3 and 4x4 matrices
|
2021-07-05 15:27:32 -07:00 |
|
|
|
d6ad12e344
|
implement cofactor of 3x3 matrix
|
2021-07-05 15:07:18 -07:00 |
|
|
|
f5d79908f6
|
implement minor for matrix3x3
|
2021-07-01 21:29:58 -07:00 |
|
|
|
a69e404817
|
implement submatrix for matrix4x4
|
2021-07-01 21:20:40 -07:00 |
|
|
|
43d95041af
|
implement submatrix for matrix3x3
|
2021-07-01 21:12:43 -07:00 |
|
|
|
c97bc25323
|
Implement 2x2 determinant
|
2021-07-01 20:54:00 -07:00 |
|
|
|
dda29eb836
|
test identity transpose
|
2021-07-01 20:47:29 -07:00 |
|
|
|
fa5971faa4
|
Test identity multiplication
|
2021-07-01 20:46:05 -07:00 |
|
|
|
4d649c735b
|
Implement 4x4 * 4x1
|
2021-06-30 21:02:42 -07:00 |
|
|
|
3d2d763a3b
|
test 4x4 multiplication
|
2021-06-29 20:56:08 -07:00 |
|
|
|
ea6114b9ae
|
test 4x4 equality and inequality
|
2021-06-29 20:51:38 -07:00 |
|
|
|
ec0331b88b
|
constructor/index methods for Matrix2x2 and Matrix3x3
|
2021-06-29 20:48:41 -07:00 |
|
|
|
72b15e5516
|
Copy Matrix4x4 impl from pbrt and start on tests
|
2021-06-29 20:12:23 -07:00 |
|
|
|
3cf580f607
|
Fix tests after recent refactor
|
2021-06-29 19:52:57 -07:00 |
|
|
|
78a360ae89
|
More idiomatic constructors.
continuous-integration/drone/push Build is passing
|
2021-06-27 10:20:21 -07:00 |
|
|
|
f24a90b77b
|
eoc2: print filename before saving.
continuous-integration/drone/push Build is passing
|
2021-06-24 16:44:45 -07:00 |
|
|
|
c9ec19c3cd
|
eoc2: update with initial values from the book.
|
2021-06-24 16:43:12 -07:00 |
|