forked from Danny02/OpenCTM
-
Notifications
You must be signed in to change notification settings - Fork 1
/
README.txt
152 lines (101 loc) · 4.73 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
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
1. INTRODUCTION
===============
Welcome to OpenCTM!
OpenCTM is a file format, a software library and a tool set for compression of
3D triangle meshes. The geometry is compressed to a fraction of comparable file
formats (3DS, STL, COLLADA, VRML...), and the format is easily accessible
through a simple, portable API.
The library is written in portable C (C99), and should compile nicely on any
32/64-bit system regardless of endianity (big endian or little endian).
2. LICENSE
==========
The OpenCTM API and the OpenCTM tools are released under the zlib/libpng
license (see LICENSE.txt).
3. CREDITS
==========
Many people have helped out in the development process of OpenCTM, with
valuable feedback, programming efforts, test models and conceptual ideas.
Also, OpenCTM relies heavily on many other open source projects.
Here is an incomplete list of persons that deserve credit:
- Igor Pavlov (LZMA library)
- Jonas Innala (COLLADA importer, Maya exporter plugin)
- Ilian Dinev (help with the OpenCTM file format design and the LWO loader)
- Lee Thomason (TinyXML)
- Diego Nehab (RPly - for loading PLY files)
- Lev Povalahev, Marcelo E. Magallon, Milan Ikits (GLEW)
- Thomas G. Lane, Guido Vollbeding (libjpeg)
- Jean-loup Gailly, Mark Adler (zlib)
- Daniel Karling (pnglite)
During the development of OpenCTM, the following software has been used
extensively:
- Ubuntu (www.ubuntu.com)
- Blender (www.blender.org)
- GCC (gcc.gnu.org)
- SciTE (www.scintilla.org/SciTE.html)
- Notepad++ (notepad-plus.sourceforge.net)
- Smultron (smultron.sourceforge.net)
Legal notices:
- This software is based in part on the work of the Independent JPEG Group.
4. CHANGES
==========
v1.0.3 - 2010.01.15
-------------------
- Added support for PNG format textures (ctmviewer).
- Added support for LightWave LWO files (ctmconv and ctmviewer).
- Added support for Geomview OFF files, e.g. as used by the Princeton Shape
Benchmark (ctmconv and ctmviewer).
- Improved the OBJ file loader (ctmviewer and ctmconv).
- Experimental support for VRML 2.0 files - export only (ctmconv and ctmviewer).
- Made it possible to run ctmviewer without command line arguments.
- Improved the normal calculation algorithm (ctmviewer and ctmconv).
- Normals are no longer exported if no normals were present in the input file
(ctmviewer).
v1.0.2 - 2009.12.13
-------------------
- Added an OpenCTM exporter plugin for Maya [Jonas Innala].
- Added the possiblity to save and load files from ctmviewer, effectively
turning it into a quick and simple converter tool (without all the options
in the ctmconv program, though).
- Added a function to load texture files from ctmviewer.
- Improved the camera control in ctmviewer (panning with the right mouse
button, zooming with the middle mouse button and the mouse wheel, feature
focusing by double clicking, Y/Z up axis selection and "fit to screen"
function).
- Added a GUI dialog for showing errors in ctmviewer (this is especially useful
under Windows, where console output is disabeled).
- Added an option for calculating the normals in ctmconv (if the input file
does not have normals).
- Added options for turning off normals, texture coordinates and/or vertex
colors for the output file in ctmconv.
- Added manuals for ctmviewer and ctmconv (man pages).
- Added a "make install" build target for Mac OS X and Linux for simple system
wide installation (see COMPILING.txt).
- NOTE: The Linux/X11 version of ctmviewer now reqires GTK+ 2.0.
v1.0.1 - 2009.11.15
-------------------
- Notable reduction of the memory footprint by tuning of the LZMA compression
parameters.
- Added a Wavefront OBJ file importer/exporter.
- Some improvements to ctmviewer and ctmconv.
- Some directory structure and build system cleanups.
v1.0 - 2009.11.09
-----------------
- Added a COLLADA converter module to the ctmconv program [Jonas Innala].
- Added Python bindings and a demo Python program.
- Improved the internal mesh integrity checking, to minimize the risk of invalid
data processing.
- Improved the file format specification document.
v0.8 (beta) - 2009.09.14
------------------------
- Introduced a new API function for controlling the compression level
(ctmCompressionLevel), and set the default compression level to 5 (rather
than 9, which would eat a lot of memory, usally without much difference).
- Changed the name "texture map" in the API to "UV map" (and all
corresponding constant and function names). This is more in line with
the nomenclature of most 3D authoring software, and avoids the confusion
with the term texture mapping in 3D hardware (which is not limited to
2D UV mapping coordinates).
- A few updates to the documentation.
v0.7 (beta) - 2009.08.29
------------------------
- This was the first public release of OpenCTM.