-
Notifications
You must be signed in to change notification settings - Fork 21
/
Copy pathreadme.txt
73 lines (50 loc) · 2.23 KB
/
readme.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
------------------------------------
Anders github fork readme
https://github.com/aewallin/dualcontouring
------------------------------------
To test:
$ mkdir bld
$ cd bld
$ cmake ..
$ make
$ ./dualcontour ../mechanic.dcf test.ply
Options:
--simplify 0.01 (octree simplification)
--nointer (intersection-free algorithm)
--test (run intersection tests after contouring)
This produces a test.ply file that can be viewed with meshlab.
$ meshlab test.ply
When running with --nointer the --test should obviously(?) return zero
intersections.
-------------------------------------
Original readme:
http://www1.cse.wustl.edu/~taoju/
http://sourceforge.net/projects/dualcontouring/
-------------------------------------
Dual Contouring Implementation in C++
Author: Tao Ju (with QEF code written by Scott Schaefer)
Updated: February 2011
I. What's included
/code Source code and Microsoft Visualt Studio 6.0 project/workspace files
/data A test file (mechanical part), in both .dcf and .ply formats
II. How to run
The dc.exe in the /code/release can be run by calling:
>dc.exe mechanic.dcf out.ply
where out.ply stores the polygonal output.
III. File formats
The code can take in two kinds of input: .dcf (Dual Contouring Format) and
.sog (Signed Octree with Geometry). Both formats store an octree grid with
inside/outside signs. DCF contains intersection points and normals on
grid edges, whereas SOG contains a single point location within each
non-empty grid cell. Both formats can be produced from a polygonal
model, via scan-conversion, using the Polymender software on my website:
http://www1.cse.wustl.edu/~taoju/code/polymender.htm
The detail formats are documented in the readme file of Polymender.
IV. Other notes.
Two algorithms are implemented in this code: the original dual contouring
algorithm [Ju et al., Siggraph 2002] and the intersection-free
extension [Ju et al., Pacific Graphics 2006]. You can switch between
them in the main() function in dc.cpp. In addition, octree
simplification (guided by QEF errors) is also implemented, and can be
turned on in the main() function.
The use of all code is limited to non-profit research purposes only.