-
Notifications
You must be signed in to change notification settings - Fork 8
Expand file tree
/
Copy pathChangeLog
More file actions
204 lines (180 loc) · 10.8 KB
/
ChangeLog
File metadata and controls
204 lines (180 loc) · 10.8 KB
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
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
o-----------------------------------------------------------------------------o
| C h a n g e L o g |
o-----------------------------------------------------------------------------o
o-----------------------------------------------------------------------------o
| Version 0.9.1 ( 29. November 2003)
o-----------------------------------------------------------------------------o
- Modifications to the loader to accomplish the
X axis (Y/Z) rotation from Keith Fulton <keith@paqrat.com>
- Implementation of UV coord inversion from Keith Fulton
- Implemented loading from generic "data sources", which will allow the
loading of Cal3d objects from istreams and memory buffers
- Implementation of mesh morph targets from old_belge
- Switched object constructors to use initializer lists for performance
optimization
- Implementation of Bounding Box calculations
o-----------------------------------------------------------------------------o
| Version 0.9 ( 6. August 2003) |
o-----------------------------------------------------------------------------o
- Experimental tangent/texture space support (from the idea of 'Josh' code)
- XML text file format
- Tiny Xml is used for parsing XML file format
- Update of the C wrapper
- A tutorial and a FAQ
- A better build system:
Put all of libtool's m4 macros into Cal3D's acinclude.m4. This change
allows us to be compatible with both older (2.13) and newer (2.5+)
versions of autoconf.
Added the autogen.sh script
- Removed building of the "dummy app" because there is no need for it.
- Added --with-cxx and --with-cc flags to force the use of a particular
C/C++ compiler
- Added functions to aid in dynamic motion programming :
CalBone::setCoreState() sets a bone's translation and rotation to be the
default values specified by the core bone.
CalBone::setCoreStateRecursive() performs the same operation, but applies
the function recursively to all of a bone's descendents as well.
- Added setRotation and setTranslation functions to the bone to use for
manual overriding of bone transforms.
- Added animation helper functions to CalCoreModel class
- Added a function to create bone "helpers" analogous to the animation
helpers.
- patch from aegis:
Changes the coretrack's map containing keyframes to a vector. This
prevents a crashing problem in Windows.
Quaternion inversion also enhanced.
- Added an == operator for the CalVector class for equality checking.
- FIX : CalSubmesh::Destroy() don't free the objects if springs system
- Functions ::disableInternalData, to disable internal data, this is
used also disable springs systems
- Correct all the warning with VS.NET
- Add a trick to avoid the little pause that can happen at the end of an animation.
This can also be used to modified an animation that don't loop perfectly
you just need to add some time with setDuration function, this extra time
will be used to blend between the last frame and the first frame.
- Added option to NOT normalize the normal vectors when updating the
physique.
- Big/Little endian things
- Added invert() function to CalQuaternion class.
- Added copy constructor for the CalRenderer class.
We need this in order to perform multi-pipe parallel rendering of a model.
- Small optimizations
o-----------------------------------------------------------------------------o
| Version 0.8 (29. August 2002) |
o-----------------------------------------------------------------------------o
- Optional support for 16-bit indices (default 32-bit)
- Added functions, Cal3D is now "D3D friendly"
- Added support for file loading on big endian computers
- Optimized bone transformations with CalMatrix
- New CalMatrix class (Thanks to 'josh'!)
- Completely revamped the automake/autoconf setup.
- Moved the 'cal3d.doxygen' file into the 'docs' subdirectory where it
actually belongs.
- Added a pure C wrapper to Cal3D. This should allow non C++ applications to
link with it now. (Thanks to Tomek Grudzinski!)
- Changed the error codes in CalError and the type and state codes in
CalAnimation to an enum structure.
- Changed the interpolation calculations in CalCoretrack::getState() so that
the motion wraps are handled like in the 3d modellers.
- Tagged some forgotten friend functions of the CalVector and CalQuaternion
classes as exported.
o-----------------------------------------------------------------------------o
| Version 0.7 (5. January 2002) |
o-----------------------------------------------------------------------------o
- The header files of Cal3D are now installed to '/usr/local/include/cal3d'
when executing the 'make install' command. (Thanks to Brandon Ehle!)
- The skeleton pose is now set to the initial state when no active animation
exists. (Thanks to Brandon Ehle!)
- Enhanced the CalVector and CalQuaternion class with a great number of
operators. (Thanks to Wolfgang Scheicher!)
- CalVector is now used as type of the vertex position and normal data in
the CalCoreSubmesh and CalSubmesh class.
- Revamped the animation pipeline: Added a CalPhysique helper class and a
CalSpringSystem class.
- Experimental cloth animation system implemented in the CalSpringSystem
class. (Thanks to Wolfgang Scheicher!)
- Changed the whole bone influence system to a localized bone transformation
approach. This was needed for the planned cloth animation system and for a
better vertex shader support.
- Moved the 'weight' member variable and its accessor from the derived
classes to the CalAnimation class.
- Removed the unused 'duration' argument from the CalLoader::loadCoreTrack()
and CalSaver::saveCoreTrack() functions.
- Moved the setMaterialSet() function from the CalModel class to the
CalRenderer class.
- Relicensed the library under the LGPL (GNU Lesser General Public License).
- CalCoreSkeleton::addCoreBone() inserts root core bones automatically into
the root core bone list now. The function addRootCoreBoneId() was removed.
o-----------------------------------------------------------------------------o
| Version 0.6 (4. August 2001) |
o-----------------------------------------------------------------------------o
- Fixed the bone/vertex/normal transformation pipeline. There was a bug in
the library and another in the exporter. Together they worked pretty much
correct, but there were those weird normals in some of the models.
- Added a user-data member variable and accessors to the CalCoreBone,
CalCoreMaterial, CalCoreModel and CalModel classes.
- Finished the LOD handling in the CalRenderer, CalMesh and CalCoreMesh
classes.
- Implemented the whole material system with material-sets and -threads.
- I decided to implement a material class (CalCoreMaterial) and a new file
type for it (.crf). This should lead to a very flexible material handling.
(such as swapping materials on the fly on submeshes etc.).
- Texture coordinates are stored differently in the CalCoreSubmesh class to
optimize access from the CalRenderer interface.
- A new class CalRenderer was added that serves as a clean interface for
the external rendering loop.
- Fixed all *.cpp files to include config.h if HAVE_CONFIG_H is set.
- Converted CalModel::getMeshVertices() and CalModel::getMeshNormals() to
CalModel::getSubmeshVertices() and CalModel::getSubmeshNormals().
- Created a little model viewer named 'MiniViewer' that can be run from the
command-line.
- Complete redesign of the mesh handling. It is now much cleaner and ready
for LOD (level of detail).
- Changed the fileformats to include a version info field. Furthermore, the
magic file cookies were modified to reflect the incompatibility to the
old fileformat.
- Fixed a bug in the calculation of the blending factor between two
keyframes that caused a visible crack in the animation.
- Added a few accessor functions that are used by the exporter framework.
- Polished the error class and its error messages a bit.
o-----------------------------------------------------------------------------o
| Version 0.5 (5. May 2001) |
o-----------------------------------------------------------------------------o
- Added the CalSaver class which can be used to save skeleton, animation
and mesh files. This is useful for writing export plugins and storing
generic created data for later use.
- Redesign of the core mesh class. It supports different materiels and
submeshes now. Unlimited (texture-)map channels are possible.
- 3d Studio Max exporter handles materials and maps.
- Implemented the second animation type (named 'action').
- Reorganized the project directory and the workspaces of kdevelop and msvc..
- Created a little demo (called 'The Cally Demo') based on cal3d and OpenGL.
- Optimized the keyframe lookup and other STL performance issues.
- Mesh handling implemented. Vertices and normals are influenced by one or
more weighted bone states.
- Switched to simple binary file-formats. This gives a shorter loading time
and cal3d does not depend on another library.
- A first 3d Studio Max exporter plugin is born. It can export biped
animations and colored/textured meshes. It is not very stable though =)
- Created a first version of an exporter-plugin for Milkshape 3D. This makes
it a lot easier to get animation files for testing =)
- Added linear blending between 2 keyframes, this gives smoother animations.
- Implemented the core animation-track-keyframe structure and extended the
XML loader to load it.
- Added the CalMixer class that handles all the animation blending
- The first type of animation (named 'cycles') is available.
- Extended the CalVector and CalQuaternion classes with blending functions.
- A quick-and-dirty test-frontend was added (based on SDL and OpenGL) to see
the animations on screen.
- Implemented the core model-skeleton-bone structure and a XML loader for
it (based on libxml2).
- The model-skeleton-bone structure that is cloned from the core versions
for every instance of a specific model was coded.
- An error handling mechanism is in place.
- A first port to Win32 was done. Several pieces of not-portable code was
fixed in the process.
o-----------------------------------------------------------------------------o
| Version 0.0 (17. February 2001) |
o-----------------------------------------------------------------------------o
- Project kick off.
o-----------------------------------------------------------------------------o