-
Notifications
You must be signed in to change notification settings - Fork 89
/
README.txt
128 lines (73 loc) · 5.17 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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
# Nexus
Nexus is a c++/javascript library for creation and visualization of a batched multiresolution 3D model structure.
[Nexus](http://vcg.isti.cnr.it/nexus/) by [Visual Computing Laboratory](http://vcg.isti.cnr.it) - ISTI - CNR
Contact me @ federico.ponchio@isti.cnr.it
See [INSTALL.MD](INSTALL.md) for compilation instructions.
### Main features
* Multiresolution
* Large models
* Textures or color per vertex
* Streaming
* Compression
* WebGL
### Basic usage
Starting from a 3D model (.ply), drag and drop it on the **nxsbuild** executable, and it will be converted into a multiresolution nexus model (.nxs). Drag the multiresolution nexus model (.nxs) onto the **nxscompress** executable to compress it, and the result will be a compressed multiresolution nexus model (.nxz).
gargo.ply --> **nxsbuild** --> gargo.nxs --> **nxscompress.exe** --> gargo.nxz
Drag and drop either .nxs or .nxz files on **nxsview** to interactively inspect the generated 3D multiresolution model.
-----------------------------------------------------------------------------------------
### Create the .nxs model
Use [nxsbuild](doc/nxsbuild.md) to create a multiresolution nexus model (.nxs) out of your 3D model (.ply):
$ nxsbuild gargo.ply
The result will be gargo.nxs. For large files this may take quite some time. See the [man](doc/nxsbuild.md) page for all the options, supported input files etc.
### Compress the multiresolution model
The model can be compressed, saving aroung 90% of the size. This is most useful for streaming applications:
$ nxcompress gargo.nxs
The result will be gargo.nxz.
Detailed information about the compression parameters can be found in the [man](doc/nxcompress.md) page.
### Edit, Info and Simplify
[Nxsedit](doc/nxsedit.md) can be used for many editing operations on the multiresolution model.
For instance, you can get some statistics on the created model (bounding sphere, list of patches, etc.):
$ nxsedit gargo.nxs -i
Or also, you can simplify the .nxs file (pruning the lowest level of the multiresolution tree):
$ nxsedit gargo.nxs -l -o simplified_gargo.nxs
Detailed information about the editing parameters can be found in the [man](doc/nxedit.md) page.
### Inspect your model.
[Nxsview](doc/nxsview.md) is a simple program for inspecting a .nxs file:
$ nxsview gargo.nxs
You can tune various parameters through the interface, but be sure to read the available options in the [man](doc/nxsview.md) page.
### WebGL
The easiest way to publish the model on the web is to use [3DHOP](http://3dhop.net) interface.
Alternatively you can use Three.js: there is a minimal example in the HTML directory of the GitHub [Nexus repository](https://github.com/cnr-isti-vclab/nexus).
It is strongly recommended to use compression for the models (nxscompress).
### Library
The visualization algorithm can be easily used as library inside your engine, both in C++ or in JavaScript,
basically the algorithm job is to send geometry to the GPU.
### Dependencies and Licenses
All C++ Nexus software is free and released under the GPL license (it depends on Qt and VCG lib).
All Javascript Nexus software is free and release under the MIT license.
### Publications
[Multiresolution and fast decompression for optimal web-based rendering](http://vcg.isti.cnr.it/Publications/2016/PD16/FastDec_Ponchio.pdf)
Federico Ponchio, Matteo Dellepiane
Graphical Models, Volume 88, pp. 1-11, November 2016
[Fast decompression for web-based view-dependent 3D rendering](http://vcg.isti.cnr.it/Publications/2015/PD15/Ponchio_Compressed.pdf)
Federico Ponchio, Matteo Dellepiane
Web3D 2015. Proceedings of the 20th International Conference on 3D Web Technology , pp. 199-207, June 2015
[Multiresolution structures for interactive visualization of very large 3D datasets](http://vcg.isti.cnr.it/~ponchio/download/ponchio_phd.pdf)
Federico Ponchio
Phd Thesis
[Interactive Rendering of Dynamic Geometry](http://vcg.isti.cnr.it/Publications/2008/PH08/dynamic.pdf)
F. Ponchio, K. Hormann
IEEE Transaction on Visualization and Computer Graphics, Volume 14, Number 4, pp. 914-925, July 2008
[Batched Multi Triangulation](http://vcg.isti.cnr.it/Publications/2005/CGGMPS05/BatchedMT_Vis05.pdf)
Paolo Cignoni, Fabio Ganovelli, Enrico Gobbetti, Fabio Marton, Federico Ponchio, Roberto Scopigno
Proceedings IEEE Visualization, pp. 207-214, October 2005
[Adaptive TetraPuzzles: Efficient Out-of-Core Construction and Visualization of Gigantic Multiresolution Polygonal Models](http://vcg.isti.cnr.it/publications/papers/vbdam_sig04.pdf)
P. Cignoni, F. Ganovelli, E. Gobbetti, F. Marton, F. Ponchio, R. Scopigno
ACM Trans. on Graphics, vol. 23(3), pp. 796-803, August 2004 (Siggraph '04)
[BDAM: Batched Dynamic Adaptive Meshes for High Performance Terrain Visualization](http://vcg.isti.cnr.it/publications/papers/bdam.pdf)
P.Cignoni, F.Ganovelli, E. Gobbetti, F.Marton, F. Ponchio, R. Scopigno
Computer Graphics Forum, 22(3), pp. 505-514, September 2003
### Feedback
For documented and repeatable bugs, feature requests, etc., please use the [GitHub issues](https://github.com/cnr-isti-vclab/nexus/issues).
### Support and thanks
Thanks, support: VCL Informatic department in TU Clausthal, 3D-COFORM. Also to Kai Hormann for having me write the thesis :)