Commit graph

39 commits

Author SHA1 Message Date
4a3a1b9d76 Fix: ImplicitSurface.operator() is pure virtual 2018-02-11 20:19:26 +01:00
8d11d49b81 Marching: add compilation process
Also fix minor bugs
2018-02-11 18:34:00 +01:00
3100ef520f Marching: implement algorithm, still untested 2018-02-11 17:54:44 +01:00
998c77f643 Marching: add dichitomic search of intersection 2018-02-11 16:46:55 +01:00
4804309182 Marching: write C++ data structures 2018-02-11 14:50:41 +01:00
62730a03b4 March gen: add some testing and viz capabilities
This allows to visualize easily a generated configuration, thus allowing
testing
2018-02-09 20:07:54 +01:00
fc2f17b453 March gen: refactor for easier testing 2018-02-09 20:07:38 +01:00
f15151ff57 March gen: refactor for easier testing 2018-02-09 01:52:00 +01:00
0f60c717f0 March gen: symmetries do not seem to be needed
This would be backed by the base cases 10 and 15 being the same up to
planar symmetry with a plane of normal vector x.
2018-02-09 01:39:49 +01:00
b5ae4b5463 March generator: fix pretty printing
Fix various display/valid C++ generation problems.
2018-02-09 01:31:18 +01:00
65cb03487d March generator: enhance error handling 2018-02-09 01:31:18 +01:00
1dece061a3 march generator: add reverse activated points 2018-02-09 01:31:06 +01:00
39d12ef8a4 Marching cubes: tentative configurations generator
First attempt to generate the configurations of the marching cubes
algorithm, following naively the definition — using the 15 base cases
and generating all rotations and symmetries. This implementation does
not try to be parcimonious, it bruteforces the configurations, since the
search space is quite small anyway.

The plan is to implement a python generator that outputs a valid .cpp
file containing the pre-computed (at compile time) array for
configurations.
2018-02-09 00:29:16 +01:00
776303b18d Make operator() const for implicit surfaces 2018-02-08 12:22:19 +01:00
8b98f373bc Add a context to implement marching cubes 2018-02-07 18:00:48 +01:00
4e41e88462 Add a cuboid structure 2018-02-07 18:00:48 +01:00
6c095dba0b Fix missing semicolon 2018-02-07 17:57:49 +01:00
b614979c7a GlutRender.cpp: fix tab indentation 2018-02-06 22:15:35 +01:00
7e797980ac Enable depth buffering 2018-02-06 22:15:19 +01:00
ae95da9cd8 Fancify scene, adding a tet 2018-02-06 21:29:32 +01:00
66d6d89aeb Randomizing face colour for each face
Allows to easily identify each face.
2018-02-06 21:26:18 +01:00
6e89298950 Use mesh center everywhere else 2018-02-06 21:08:37 +01:00
8655e39fba Add center to a mesh to allow easy translation 2018-02-06 20:45:23 +01:00
c179b1049f Make basic glut renderer work 2018-02-06 19:10:08 +01:00
739d1da36f Enrich test meshes 2018-02-06 19:09:26 +01:00
7e3df70df6 Fix compilation process 2018-02-06 19:09:02 +01:00
804031dc81 Fix obj file parser 2018-02-06 19:08:17 +01:00
d1c3cbe498 Add missing pragma once on headers 2018-02-06 19:07:07 +01:00
4d944d0e75 Add basic main for a glut visualization 2018-01-28 23:05:31 +01:00
6c55d262ed Add parser for obj mesh format 2018-01-28 23:04:26 +01:00
5c19700e42 Create a basic glut renderer — yet untested 2018-01-28 23:03:36 +01:00
1375560cb4 Add first version of a Makefile 2018-01-28 23:03:11 +01:00
e63aa18c58 Remove useless hashtable over doubles
(wtf was I thinking?)
2018-01-27 16:39:08 +01:00
a1347434e7 Implement basic mesh functions 2018-01-27 16:28:36 +01:00
ba7245eeea Rename .h to .hpp 2018-01-27 15:24:41 +01:00
003c50443e Add a structure representing an explicit mesh 2018-01-27 15:23:40 +01:00
016b0e1b6d Rename .h to .hpp 2018-01-27 15:23:23 +01:00
5d243e4cde Basic implicit surfaces interface definition 2018-01-25 11:40:39 +01:00
0775926122 Initial commit 2018-01-25 11:01:41 +01:00