forked from coin3d/coin
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathRELNOTES
416 lines (274 loc) · 13.5 KB
/
RELNOTES
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
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
RELEASE NOTES
=============
This file describes notable changes in the Coin library in a more
elaborate way than can be fit into to the compact NEWS summary file.
The changes described here are issues that might have an effect on the
compatibility of your source code when upgrading the library.
Coin 4.0.2
==========
This is a bugfix release.
ABI compatibility to version 4.0.0 was inadvertently changed and restored.
Fixed numerous typos found by Codespell.
Coin 4.0.1
==========
This is a bugfix release.
Introduced COIN_GLX_PIXMAP_DIRECT_RENDERING environment variable to force direct rendering of offscreen contexts.
Introduced new COIN_DEBUG_CHECK_THREAD option.
Optimized mutex debugging.
Fix integer division issue.
Fix material and normal handling for indexed line set.
Fix resource lookup when HAVE_MULTIPLE_VERSION is enabled in CMake build script.
Fixed an transparency issue for indexed lineset.
Move constant data to read only data segment to reduce size of shared object
library (see https://randomascii.wordpress.com/2017/01/08/add-a-const-here-delete-a-const-there)
Fixed numerous issues detected by static code analysis.
The expat sources under coin/src/xml/expat were updated to version 2.2.10.
Fix linking with system installation of expat.
Fix broken ABI version on .so link.
Do not run programs for determining hash quoting to support cross compiling.
Fix testing for maximum texture size.
Removed obsolete ATI driver issue check. Do not check for ATI driver issues
fixed long time ago (see issue #412). We added environment variable
COIN_GLGLUE_DISABLE_VBO_IN_DISPLAYLIST for compatibility with the old behaviour.
Fix underlinking against X11 in CMake build scripts.
Set GLSL shader version to 120 to avoid rendering issues with fog.
Enable non power of two textures for ATi and Intel by default. For those who
are in need of the old behavior, an environment variable
COIN_GLGLUE_DISABLE_NON_POWER_OF_TWO_TEXTURES has been added.
Do not disable VBO rendering for Intel graphics drivers anymore. Recent Intel
graphics hardware is known to properly support VBO rendering. So we remove the
code for disabling it by default.
Fix GLX glue trying to use NULL display, i.e. when a unix platform has a
non-GLX context: usually Wayland, but also might be offscreen or maybe EGL-X11.
Fix operator arguments on some base types to use const references rather than copies.
Fixed incorrect rendering of SoFaceSet. Conditions when to render as
VertexArrayObject were not properly checked.
Fixed incorrect line ending handling for Windows CR/LF.
Fixed incorrect closest point calculation for bounding boxes.
Applied some distribution patches from Fedora, Rosa, and Gentoo.
Added some class documentation and fixed numerous documentation issues.
cpack.d was made optional and disabled by default (add -DCOIN_USE_CPACK=ON
to the cmake commandline to enable it).
Reference line for text rendered with the built-in default font was changed
(before: descender line, now: base line). Thus text rendered with default
font will appear a few pixels lower than before, but now consistent
with text using non-default fonts.
(see https://github.com/coin3d/coin/pull/368)
Fixed crash when call to cc_flww32_get_bitmap() failed.
Home of Coin3d organization has been changed from https://bitbucket.org/Coin3D
to https://github.com/coin3d due to Bitbucket ending Mercurial support.
Version control system has been changed from Mercurial to Git.
Coin 4.0.0
==========
Kongsberg Oil & Gas Technologies AS ended Coin as a commercial product
and re-licensed it under the BSD 3-clause license as a service to the
user community.
Build system was migrated from GNU Autotools to CMake.
Support for UNICODE text added. Starting with Coin 4.0 strings are UTF-8
encoded.
New greater than and less than operators added to SbString.
New SoReversePerspectiveCamera node added.
View volume and projectors now support reverse perspective camera settings.
New getRadius method in SoRayPickAction.
New virtual method getPickedPointForStart in SoDragger to allow dragging
of (partially) covered objects by derived draggers.
New SoAlphaTest node to control alpha test settings.
New public API for converting geo coordinates created.
SoTextureCoordinateObject implemented for linear texture functions that
can be used for projective texture mapping.
In addition to Cg shaders support for GLSL/ARB shaders was added to
SoShaderStateMatrixParameter.
Support for linePatternScaleFactor was added to SoDrawStyle.
The DISABLE policy is now supported in SoSelection node.
API in SbMatrix, SoPickAction, SoEvent, SoSFTime, SbPList has changed to
improve conformance to Open Inventor 2.1 API.
Auto-linking to the Coin library when using Microsoft Visual C++ compilers.
The expat sources under coin/src/xml/expat were updated to version 2.2.6.
The local Boost includes under coin/include/Boost were removed and a new
configure option --with-boost was added to Autotools.
Support for BitBucket and AppVeyor as continuous integration service providers
has been added.
Coin 3.1.3
==========
This is a bugfix release.
Due to an underlying buildsystem upgrade, the default location of the
generated HTML docs changed from $datarootdir/share/Coin/html to
$datarootdir/share/doc/coin/html.
Coin 3.1.2
==========
This is a bugfix release.
Coin 3.1.1
==========
This is a bugfix release.
Bugs are fixed in all the NURBS related classes, and SoIndexedPointSet.
Coin 3.1.0
==========
Default transparency type for SoGLRenderAction changed from
SCREEN_DOOR to BLEND.
SoBase will not keep a list of unnamed / empty named nodes any
more. This is both an optimization and improves conformance to SGI /
TGS Inventor.
SbTesselator does better when handed certain polygons, due to improved
precision in internal calculations.
Resource usage pressure significantly lower for common case scene
graphs with regard to mutex allocations. A not entirely uncommon
problem on MS Windows systems for huge scene graphs was that the
run-time system ran out of available mutexes -- this is now very
unlikely to happen.
Builds with G++ and MSVC will have C++ exception support enabled by
default.
SoSceneManager render callback can be set to NULL to disable it.
Non-power-of-two textures are automatically supported if the OpenGL
driver has that feature.
No other intentional differences in semantics, other than for any bugs
fixed.
Coin 3.0.0
==========
New scene graph traversal profiling subsystem.
New node SoVertexAttribute which provides vertex attribute support for
shaders.
New SoDepthBuffer node to control depth buffer settings.
New SoShadowSpotLight node in the shadow generation subsystem.
New SoHeightMapToNormalMap engine to convert depthmap images to three-
component normal maps.
SoPickStyle has three new style settings, SHAPE_ON_TOP,
BOUNDING_BOX_ON_TOP, and SHAPE_FRONTFACES.
Integrated XML parser used for various purposes.
GL feature control through a new GLDriverDatabase subsystem which is
configurable through XML files.
Statechart XML engine, which has been used to implement examiner-mode
viewer navigation at the Coin level (earlier this functionality was
implemented over and over again in the various GUI libraries).
Foreign file format support through SoForeignFileKit, with an example
SoSTLFileKit implementation for STL import.
There is a testsuite framework based on Boost.Test
Translation draggers (1D/2D) are now fitted with new fields minTranslation
and maxTranslation to add the ability of restricting the range the draggers
can operate in. When this feature is used, and draggers are stored to
file, it has consequences for the file format, and you lose the ability
to load those files with older versions of Coin.
Slight change in antialiased rendering with SoGLRenderAction::setNumPasses().
Antialiased rendering is no longer shifted 1/2 pixel to the left compared to
single-pass non-antialiased rendering.
Dynamic loading of support libraries for Mac OS X has been changed, which
has consequences for which possibilities are available for bundling such
libraries when creating your application bundles.
Coin 2.5.0
==========
SoFaceDetail's FaceIndex property behaves slightly different, now the
same way SGI Inventor does it.
Coin 2.4.6
==========
No intentional differences in semantics, other than for any bugs fixed.
Coin 2.4.5
==========
Minor axis MIDDLE (i.e. center) justification for VRML97's FontStyle
and Text nodes did previously not work as expected, but should now, so
text layout depending on the old, wrong behavior might not look good
any more.
Coin 2.4.4
==========
Ray-picking precision has been vastly improved, which may result in slight
application behaviour changes, hopefully in a positive way.
Coin 2.4.3
==========
No intentional change in semantics for anything in this version.
Coin 2.4.2
==========
No intentional change in semantics for anything in this version.
Coin 2.4.1
==========
Rectangle and lasso selection (SoExtSelection) can now be aborted through
keyboard events.
Coin 2.4.0
==========
Fixed sensor processing in SoSensorManager to be conformant to SGI
Inventor. Sensors with equal priority or trigger time are now processed
FIFO (this used to be LIFO).
File compression support (reading) was removed for anything but regular
files and memory buffers (to fix a bug).
Coin 2.3.0
==========
No intentional change in semantics for anything in this version.
Coin 2.2.1
==========
VRML97 PROTOs are now handled more properly. Fields are connected both
ways between the scene graph and the PROTO instance. You can now change
fields in the scene graph, and the PROTO instance (the container for the
PROTO based fields) will be updated. When exporting scene graph to file
again, PROTO field values should contain updated values.
See also description for Coin 2.2.0; "the release that never was"[1].
Coin 2.2.0
==========
New nodes SoBumpMap, SoBumpMapCoordinate, and SoBumpMapTransform for
bumpmapping support.
New node SoTextureUnit for multitexturing support.
New node SoSceneTexture2 for rendering scene graphs to textures, with
offscreen pbuffer support on selected platforms.
Slight change of semantics for the SoFile node: the scene graph from
the file will now always be reproduced as-is from the SoFile
node. Previously, there would always be an SoSeparator root node added
(if one was not present). Note that this change can in theory cause
visible changes for application code using SoFile nodes, as
e.g. appearance type nodes (like for instance SoMaterial) can now
influence subsequent parts of the scene graph. The new behavior is
consistent with the behavior of SoFile from the original Open Inventor
implementation of SGI. Also note that there was a bug in getting
bounding box information for SoFile nodes (and SoVRMLInline nodes)
that has now been fixed.
Slight change of semantics for the SoMarkerSet node: a marker in the
marker set will now be culled if its 3D position is positioned on the
"clipping side" of an SoClipPlane node. (SoMarkerSet markers was
previously only culled against the near and far view frustum clipping
planes.)
Coin 2.1.0
==========
New class SoIntersectionDetectionAction in Inventor/collision/ for
detecting intersecting primitives in a scene graph.
New class SoVectorizePSAction in Inventor/annex/HardCopy/ for
generating PostScript images of scene graphs.
Inventor and VRML files compressed on disk with gzip or bzip2 will
be decompressed automatically upon loading. API functions for
controlling compression during export has been added to the class
SoOutput.
SoBoxHighlightRenderAction and SoLineHighlightRenderAction will
now do highlight rendering for all SoSelection nodes in the scene
graph, not just the first one.
Coin 2.0.2
==========
We found and fixed a bug for SoQuadMesh usage with PER_FACE materials.
Models depending on this bug will likely change appearance. This was
a bug that was introduced in Coin-2. Coin-1 does not have this bug.
Nodekits will now write out all relevant parts when the scene graph
is exported (not only the public parts as we did earlier). This is
done to be compatible with SGI/TGS Inventor.
Because of this new feature, it will now also be possible to import
data into private nodekit parts. In Coin 2.0.1 this would trigger a
read error.
Coin 2.0.1
==========
No intentional change in semantics for anything in this version.
Coin 2.0.0
==========
Removed obsoleted methods in SoField:
SbBool connectFrom(SoVRMLInterpOutput * master,
SbBool notnotify = FALSE, SbBool append = FALSE);
SbBool appendConnection(SoVRMLInterpOutput * master,
SbBool notnotify = FALSE);
void disconnect(SoVRMLInterpOutput * interpoutput);
SbBool isConnectedFromVRMLInterp(void) const;
SbBool getConnectedVRMLInterp(SoVRMLInterpOutput *& master) const;
These methods were obsoleted in Coin-1, and we chose to remove them
in Coin-2.
Changed behaviour of CLAMP texture wrap mode
When CLAMP is specified as the texture wrap mode (for SoTexture2 or
SoTexture3), the OpenGL feature GL_CLAMP_TO_EDGE will be used instead
of GL_CLAMP. This is done since GL_CLAMP_TO_EDGE is usually what you
want. Especially for Coin/Open Inventor where it's impossible to specify
the texture border color used by GL_CLAMP. The environment variable
COIN_ENABLE_CONFORMANT_GL_CLAMP can be set to "1" to force Coin to use
GL_CLAMP instead of GL_CLAMP_TO_EDGE.
[1] Coin 2.2.0 was pulled before it was announced because of a critical
bug that was introduced just before the release. We want to blame a
serious disk crash we experienced two days earlier, but we should maybe
blame our backup and final testing routines instead.