goat3d

annotate libs/openctm/README.txt @ 83:57e745dd13c2

almost working
author John Tsiombikas <nuclear@member.fsf.org>
date Mon, 12 May 2014 07:22:52 +0300
parents
children
rev   line source
nuclear@14 1 1. INTRODUCTION
nuclear@14 2 ===============
nuclear@14 3
nuclear@14 4 Welcome to OpenCTM!
nuclear@14 5
nuclear@14 6 OpenCTM is a file format, a software library and a tool set for compression of
nuclear@14 7 3D triangle meshes. The geometry is compressed to a fraction of comparable file
nuclear@14 8 formats (3DS, STL, COLLADA, VRML...), and the format is easily accessible
nuclear@14 9 through a simple, portable API.
nuclear@14 10
nuclear@14 11 The library is written in portable C (C99), and should compile nicely on any
nuclear@14 12 32/64-bit system regardless of endianity (big endian or little endian).
nuclear@14 13
nuclear@14 14
nuclear@14 15 2. LICENSE
nuclear@14 16 ==========
nuclear@14 17
nuclear@14 18 The OpenCTM API and the OpenCTM tools are released under the zlib/libpng
nuclear@14 19 license (see LICENSE.txt).
nuclear@14 20
nuclear@14 21 3. CREDITS
nuclear@14 22 ==========
nuclear@14 23
nuclear@14 24 Many people have helped out in the development process of OpenCTM, with
nuclear@14 25 valuable feedback, programming efforts, test models and conceptual ideas.
nuclear@14 26 Also, OpenCTM relies heavily on many other open source projects.
nuclear@14 27
nuclear@14 28 Here is an incomplete list of persons that deserve credit:
nuclear@14 29
nuclear@14 30 - Igor Pavlov (LZMA library)
nuclear@14 31 - Jonas Innala (COLLADA importer, Maya exporter plugin)
nuclear@14 32 - Ilian Dinev (help with the OpenCTM file format design and the LWO loader)
nuclear@14 33 - Lee Thomason (TinyXML)
nuclear@14 34 - Diego Nehab (RPly - for loading PLY files)
nuclear@14 35 - Lev Povalahev, Marcelo E. Magallon, Milan Ikits (GLEW)
nuclear@14 36 - Thomas G. Lane, Guido Vollbeding (libjpeg)
nuclear@14 37 - Jean-loup Gailly, Mark Adler (zlib)
nuclear@14 38 - Daniel Karling (pnglite)
nuclear@14 39
nuclear@14 40 During the development of OpenCTM, the following software has been used
nuclear@14 41 extensively:
nuclear@14 42
nuclear@14 43 - Ubuntu (www.ubuntu.com)
nuclear@14 44 - Blender (www.blender.org)
nuclear@14 45 - GCC (gcc.gnu.org)
nuclear@14 46 - SciTE (www.scintilla.org/SciTE.html)
nuclear@14 47 - Notepad++ (notepad-plus.sourceforge.net)
nuclear@14 48 - Smultron (smultron.sourceforge.net)
nuclear@14 49
nuclear@14 50 Legal notices:
nuclear@14 51
nuclear@14 52 - This software is based in part on the work of the Independent JPEG Group.
nuclear@14 53
nuclear@14 54
nuclear@14 55 4. CHANGES
nuclear@14 56 ==========
nuclear@14 57
nuclear@14 58 v1.0.3 - 2010.01.15
nuclear@14 59 -------------------
nuclear@14 60 - Added support for PNG format textures (ctmviewer).
nuclear@14 61
nuclear@14 62 - Added support for LightWave LWO files (ctmconv and ctmviewer).
nuclear@14 63
nuclear@14 64 - Added support for Geomview OFF files, e.g. as used by the Princeton Shape
nuclear@14 65 Benchmark (ctmconv and ctmviewer).
nuclear@14 66
nuclear@14 67 - Improved the OBJ file loader (ctmviewer and ctmconv).
nuclear@14 68
nuclear@14 69 - Experimental support for VRML 2.0 files - export only (ctmconv and ctmviewer).
nuclear@14 70
nuclear@14 71 - Made it possible to run ctmviewer without command line arguments.
nuclear@14 72
nuclear@14 73 - Improved the normal calculation algorithm (ctmviewer and ctmconv).
nuclear@14 74
nuclear@14 75 - Normals are no longer exported if no normals were present in the input file
nuclear@14 76 (ctmviewer).
nuclear@14 77
nuclear@14 78
nuclear@14 79 v1.0.2 - 2009.12.13
nuclear@14 80 -------------------
nuclear@14 81 - Added an OpenCTM exporter plugin for Maya [Jonas Innala].
nuclear@14 82
nuclear@14 83 - Added the possiblity to save and load files from ctmviewer, effectively
nuclear@14 84 turning it into a quick and simple converter tool (without all the options
nuclear@14 85 in the ctmconv program, though).
nuclear@14 86
nuclear@14 87 - Added a function to load texture files from ctmviewer.
nuclear@14 88
nuclear@14 89 - Improved the camera control in ctmviewer (panning with the right mouse
nuclear@14 90 button, zooming with the middle mouse button and the mouse wheel, feature
nuclear@14 91 focusing by double clicking, Y/Z up axis selection and "fit to screen"
nuclear@14 92 function).
nuclear@14 93
nuclear@14 94 - Added a GUI dialog for showing errors in ctmviewer (this is especially useful
nuclear@14 95 under Windows, where console output is disabeled).
nuclear@14 96
nuclear@14 97 - Added an option for calculating the normals in ctmconv (if the input file
nuclear@14 98 does not have normals).
nuclear@14 99
nuclear@14 100 - Added options for turning off normals, texture coordinates and/or vertex
nuclear@14 101 colors for the output file in ctmconv.
nuclear@14 102
nuclear@14 103 - Added manuals for ctmviewer and ctmconv (man pages).
nuclear@14 104
nuclear@14 105 - Added a "make install" build target for Mac OS X and Linux for simple system
nuclear@14 106 wide installation (see COMPILING.txt).
nuclear@14 107
nuclear@14 108 - NOTE: The Linux/X11 version of ctmviewer now reqires GTK+ 2.0.
nuclear@14 109
nuclear@14 110
nuclear@14 111 v1.0.1 - 2009.11.15
nuclear@14 112 -------------------
nuclear@14 113 - Notable reduction of the memory footprint by tuning of the LZMA compression
nuclear@14 114 parameters.
nuclear@14 115
nuclear@14 116 - Added a Wavefront OBJ file importer/exporter.
nuclear@14 117
nuclear@14 118 - Some improvements to ctmviewer and ctmconv.
nuclear@14 119
nuclear@14 120 - Some directory structure and build system cleanups.
nuclear@14 121
nuclear@14 122
nuclear@14 123 v1.0 - 2009.11.09
nuclear@14 124 -----------------
nuclear@14 125 - Added a COLLADA converter module to the ctmconv program [Jonas Innala].
nuclear@14 126
nuclear@14 127 - Added Python bindings and a demo Python program.
nuclear@14 128
nuclear@14 129 - Improved the internal mesh integrity checking, to minimize the risk of invalid
nuclear@14 130 data processing.
nuclear@14 131
nuclear@14 132 - Improved the file format specification document.
nuclear@14 133
nuclear@14 134
nuclear@14 135 v0.8 (beta) - 2009.09.14
nuclear@14 136 ------------------------
nuclear@14 137 - Introduced a new API function for controlling the compression level
nuclear@14 138 (ctmCompressionLevel), and set the default compression level to 5 (rather
nuclear@14 139 than 9, which would eat a lot of memory, usally without much difference).
nuclear@14 140
nuclear@14 141 - Changed the name "texture map" in the API to "UV map" (and all
nuclear@14 142 corresponding constant and function names). This is more in line with
nuclear@14 143 the nomenclature of most 3D authoring software, and avoids the confusion
nuclear@14 144 with the term texture mapping in 3D hardware (which is not limited to
nuclear@14 145 2D UV mapping coordinates).
nuclear@14 146
nuclear@14 147 - A few updates to the documentation.
nuclear@14 148
nuclear@14 149
nuclear@14 150 v0.7 (beta) - 2009.08.29
nuclear@14 151 ------------------------
nuclear@14 152 - This was the first public release of OpenCTM.