Commit Graph

585 Commits

Author SHA1 Message Date
Savanni D'Gerinel fa4ec059f7 Calculate the normal of the transformed sphere 2024-06-23 17:09:06 -04:00
Savanni D'Gerinel 4f47d65ba5 Add a sphere ray tracer 2024-06-23 16:20:10 -04:00
Savanni D'Gerinel f15fa9dd48 Fix warnings 2024-06-23 15:53:41 -04:00
Savanni D'Gerinel af75bc20c8 Extract Intersections into a dedicated file 2024-06-23 15:44:02 -04:00
Savanni D'Gerinel b07925a2c3 Scale a sphere and ray with respect to one another 2024-06-23 15:34:08 -04:00
Savanni D'Gerinel 40bfe6d74f Add addtional ops declarations to reduce cloning 2024-06-23 15:07:41 -04:00
Savanni D'Gerinel af7d8680a0 Translate and scale a ray 2024-06-23 14:13:02 -04:00
Savanni D'Gerinel 8e4f6b06e6 Start building the intersection tests 2024-06-14 09:33:30 -04:00
Savanni D'Gerinel bd899e3a2e Clippy warnings 2024-06-10 09:46:58 -04:00
Savanni D'Gerinel 7be0baba53 Test chained transformations 2024-06-10 09:40:15 -04:00
Savanni D'Gerinel a2aa132886 Matrix transformations 2024-06-10 09:34:59 -04:00
Savanni D'Gerinel 971206d325 Calculate the inverse of matrices 2024-06-10 07:54:58 -04:00
Savanni D'Gerinel c2777e2a70 Basic matrix operations 2024-06-09 23:21:16 -04:00
Savanni D'Gerinel 2569a48792 Finish PPM conversions and plot the projectile 2024-06-09 15:58:24 -04:00
Savanni D'Gerinel 15d87fbde6 Create the converter to PPM 2024-06-09 15:45:13 -04:00
Savanni D'Gerinel 3c8536deb6 Create the color and the canvas 2024-06-09 14:57:33 -04:00
Savanni D'Gerinel d0a8be63e9 Change the Tuple to a tuple without field names
This helps out when I go to use the same data structure as the backing
for colors.
2024-06-09 14:36:23 -04:00
Savanni D'Gerinel 2a38ca38e1 Extract the types into separate files
Not for any reason other than clarity. The number of operations that are
declared for each type is making it difficult to find operations and
difficult to keep the order consistent.
2024-06-09 14:18:46 -04:00
Savanni D'Gerinel 39c947b461 Implement the remaining operations and the projectile simulator 2024-06-09 14:08:01 -04:00
Savanni D'Gerinel e23a4aacab Add primitive math operations 2024-06-09 13:19:47 -04:00
Savanni D'Gerinel 01f3e05235 Create the basic Tuple, Point, and Vector types 2024-06-09 12:24:41 -04:00
Savanni D'Gerinel 15c4ae9bad Update the review tree when navigating 2024-05-07 08:49:49 -04:00
Savanni D'Gerinel 7dd531b493 It is now possible to move backwards and forwards on the mainline of a tree 2024-05-07 07:53:15 -04:00
Savanni D'Gerinel cbfb3f2e37 Clean up tests 2024-05-01 09:36:48 -04:00
Savanni D'Gerinel 9540a2c5bb Highlight the current node and make all nodes a bit larger 2024-04-30 23:34:16 -04:00
Savanni D'Gerinel 6165d65977 Make the review tree scrollable 2024-04-30 23:28:12 -04:00
Savanni D'Gerinel 4f8a1636c1 Set up a view model for the game review and highlight current node 2024-04-30 23:27:05 -04:00
Savanni D'Gerinel 20b02fbd90 Update the Nix derivation 2024-04-30 22:26:12 -04:00
Savanni D'Gerinel 278ec27b4e Linting 2024-04-30 22:25:01 -04:00
Savanni D'Gerinel 8b7add37c1 Switch from slab_tree to nary_tree 2024-04-30 22:25:01 -04:00
Savanni D'Gerinel 5441a3c441 Adapt the app to the new slab tree 2024-04-30 22:25:01 -04:00
Savanni D'Gerinel b1374229f3 Calculate out the depth and width of each node 2024-04-30 22:25:01 -04:00
Savanni D'Gerinel bc5042c004 Start propogating the slab_tree up to OTG 2024-04-30 22:25:01 -04:00
Savanni D'Gerinel 0534143d6b Finish implementing GameTree.Clone and PartialEq 2024-04-30 22:25:01 -04:00
Savanni D'Gerinel d7f5269e15 Begin implementing traits for a game record 2024-04-30 22:25:01 -04:00
Savanni D'Gerinel c913e9da37 Convert the recursive parse tree to a slab GameTree 2024-04-30 22:25:01 -04:00
Savanni D'Gerinel c50bd652f1 Switch from my custom Tree setup to a slab tree in GameRecord 2024-04-30 22:25:01 -04:00
Savanni D'Gerinel 093e1f7f8a Start writing functions for finding a node within the tree 2024-04-30 22:25:01 -04:00
Savanni D'Gerinel 3c94f906a6 Update Cargo.nix 2024-04-19 12:27:17 -04:00
Savanni D'Gerinel 0aecaee760 Use pre-loaded images 2024-04-05 10:47:16 -04:00
Savanni D'Gerinel baeb458126 Create a resource manager that preloads the images 2024-04-05 10:06:52 -04:00
Savanni D'Gerinel da144a58ec Revise the graphics 2024-04-05 09:15:20 -04:00
Savanni D'Gerinel f09af67193 Add images for fancier stones 2024-04-01 00:14:15 -04:00
Savanni D'Gerinel 32391a46e7 Render the board in the background 2024-03-31 19:59:44 -04:00
Savanni D'Gerinel 0a62c96b0f Clippy 2024-03-31 19:36:44 -04:00
Savanni D'Gerinel 78863ee709 Cleanups 2024-03-31 18:16:41 -04:00
Savanni D'Gerinel 5cdcf0499c Improve ident calculation to help with tree drawing 2024-03-31 16:19:09 -04:00
Savanni D'Gerinel b982f2c1cc Start doing a bare basic rendering of nodes in a game tree 2024-03-31 14:09:48 -04:00
Savanni D'Gerinel 46b25cc6c5 Set up a BFS iterator over the node tree 2024-03-31 13:35:23 -04:00
Savanni D'Gerinel 9fbc630500 Game tree becomes a tree of UUIDs, not GameNodes
Doing this avoids reference lifetime hell
2024-03-30 11:00:54 -04:00