Commit Graph

72 Commits

Author SHA1 Message Date
David Allemang
2d6dbc6804 Rename "hull" and "fill" to be more descriptive. 2021-01-15 19:44:33 -05:00
David Allemang
a28cc2d8be Add "center" offset to each slice 2020-10-29 20:43:06 -04:00
fbd23aea02 introduce set_union wrapper
also rename set_difference wrapper
2020-10-25 00:55:52 -04:00
a3233c2686 support multiple slices 2020-10-25 00:31:38 -04:00
c1f5163008 reintroduce each_tile and tile.
each_tile produces a vector of mesh parts, and tile produces the merged result.
2020-10-25 00:31:28 -04:00
David Allemang
01043e9bce Replace ComboIterator with std::set<std::vector<int>> via combinations.hpp
Since the number of generators never exceeds 6, the maximum number of combinations is (6, 3) = 20, so the space optimizations of using an iterator is mute.

Doing this way also allows to use set_difference and set_union to deal with collections of subgroups. This is not easily possible otherwise.
2020-10-24 23:06:52 -04:00
David Allemang
6e3ea1900b Convert hull to static method; inline all_sg_gens and exclude parameters for future testing. 2020-10-22 21:52:25 -04:00
David Allemang
9ce626ee64 introduce Mesh class with subgroup context 2020-10-14 17:14:25 -04:00
6ff09dc375 Introduce perspective projection matrix.
Also correct a bug where the view matrix was not being used.
2020-10-13 10:57:30 -04:00
49927568e4 Introduce cgl::Buffer::put<E> for Eigen matrices and other containers.
Make put(std::vector<T>) more generic by specializing the new put<E> method.
2020-10-13 10:56:55 -04:00
David Allemang
6b34694784 Replace Primitive vector with Eigen matrices.
template<unsigned N>
Prims<N> = Eigen::Matrix<unsigned, N, Eigen::Dynamic>

Replaces std::vector<Primitive<N>>
2020-10-12 21:57:18 -04:00
David Allemang
0534c4322c Refactor Slice / SliceRenderer to be less general; get away from "prop" overhead. 2020-10-11 18:55:43 -04:00
David Allemang
c164c319fc Cleanup and tweaks for nanogui
- clean up main-gui.cpp
- Add Primitive constructor from vector
- move ubo bindbufferbase to correct location
2020-10-11 18:00:38 -04:00
David Allemang
916e9a8906 Migrate to NanoGUI / Eigen for GUI and linear algebra.
Also introduce a GUI play/pause button.
2020-10-10 22:59:51 -04:00
ec09506a74 remove glm dependency; split solver and geometry classes 2020-06-28 15:23:27 -04:00
dfea554289 remove broken flipping mechanics 2020-06-28 15:08:46 -04:00
ea3b7a0691 move cgl to separate repo 2020-06-28 12:40:12 -04:00
465f863687 multiple vbos for each prop 2020-06-27 22:37:55 -04:00
7c1f1a8b9f basic 5d rotations; crossview 2020-05-27 17:40:11 -04:00
45584f0621 break into multiple files; remove specialized prop/renderer classes 2020-05-26 22:55:36 -04:00
350ee5652f move scene info to renderer 2020-05-22 20:37:16 -04:00
2606f74f70 load wireframes from files 2020-03-18 17:41:59 -04:00
33501650b2 load wireframes from files 2020-03-18 17:29:12 -04:00
acdc19bbb9 extra scene tweaks 2020-03-15 14:24:13 -04:00
2277036c02 more templates in point 2020-03-15 12:53:14 -04:00
0300e1bfc3 template not a great idea yet; back to vectors but better implementation 2020-03-13 22:12:25 -04:00
2fcb15a14d change combo iterator 2020-03-13 17:49:59 -04:00
2c2b6ef96b random holes 2020-03-11 20:11:03 -04:00
8fbf0ae528 solid wireframes working 2020-03-11 00:55:34 -04:00
65110fe5be 5d working 2020-03-11 00:38:09 -04:00
9120b385c4 remove old "Mesh" class 2020-03-10 22:45:58 -04:00
63692ced17 class names to PascalCase 2020-03-10 15:25:37 -04:00
d29fc033df break render apart into multiple files 2020-03-10 14:11:13 -04:00
b504e5b7c3 vao pointer helper 2020-03-10 13:49:38 -04:00
54ea5dbd53 buffer mesh working 2020-03-10 13:33:32 -04:00
c345e54d02 slices working, broken colors 2020-03-10 00:38:38 -04:00
8dd37de01e binding test 2020-03-09 19:35:07 -04:00
edfe8947a6 tweaking program pipeline construction 2020-03-09 01:06:42 -04:00
bb7dcfd47d tweak shader alias names 2020-03-09 00:49:00 -04:00
219c3f9e32 mode template for shader, shaderprogram, type aliases 2020-03-09 00:32:12 -04:00
e56896db9b tweak raii shader constructors 2020-03-09 00:16:30 -04:00
0c4a6f5eff use raii buffer 2020-03-09 00:10:14 -04:00
5d030ffe65 using raii shaders 2020-03-09 00:00:52 -04:00
e069088437 add some notes and static assertions about template sizes 2020-01-30 19:14:59 -05:00
b5a868c424 remove old code and add docstrings 2020-01-30 19:06:38 -05:00
295c588b40 remove memo todos since templates are faster anyway 2020-01-30 15:54:54 -05:00
f8e55db892 remove old geometry code 2020-01-30 15:31:49 -05:00
3c6949c9c6 fix segfault error from tile gens 2020-01-30 15:31:30 -05:00
3e15fa48da cleanup 2020-01-28 23:39:49 -05:00
cbedab2cb8 some results, but holey, not sure why 2020-01-28 23:26:01 -05:00