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 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522
|
/*!
\page coin_new_features New Features in Coin
- \subpage coin403 "New Features in Coin v4.0.3"
- \subpage coin402 "New Features in Coin v4.0.2"
- \subpage coin401 "New Features in Coin v4.0.1"
- \subpage coin400 "New Features in Coin v4.0.0"
- \subpage coin313 "New Features in Coin v3.1.3"
- \subpage coin312 "New Features in Coin v3.1.2"
- \subpage coin311 "New Features in Coin v3.1.1"
- \subpage coin310 "New Features in Coin v3.1.0"
- \subpage coin300 "New Features in Coin v3.0.0"
- \subpage coin250 "New Features in Coin v2.5.0"
- \subpage coin240 "New Features in Coin v2.4.0"
- \subpage coin230 "New Features in Coin v2.3.0"
- \subpage coin220 "New Features in Coin v2.2.0"
- \subpage coin210 "New Features in Coin v2.1.0"
- \subpage coin200 "New Features in Coin v2.0.0"
*/
/**
\page coin403 New Features in Coin v4.0.3
This is a bugfix release.
This is a brief summary of the new features in Coin v4.0.3:
- Added support for building modern styled documentation.
- Set minimum C++ standard needed to compile Coin to C++11.
Bug fixes:
- Fixed LTOcompilation ODR error.
- Fixed suspicious increment in SbProfilingData.cpp.
- Fixed SbTri3f intersect calculation.
- Improved auto clipping.
- Fixed orthographic autoclipping by allowing negative farDistance.
- Fixed rotating a VRMLBackground node with its ancestors' rotations.
*/
/**
\page coin402 New Features in Coin v4.0.2
This is a bugfix release.
Bug fixes:
- Restored ABI compatibility with version 4.0.0 that was inadvertently changed in v4.0.1.
- Fixed numerous typos found by Codespell.
*/
/**
\page coin401 New Features in Coin v4.0.1
This is a bugfix release.
This is a brief summary of the new features in Coin v4.0.1:
- Version control system has been changed from Mercurial to Git.
- Home of Coin3d organization has been changed from https://bitbucket.org/Coin3D
to https://github.com/coin3d due to Bitbucket ending Mercurial support.
- Added CI for macOS, Windows, and Ubuntu per GitHub actions to repository
- Added checksum generation to AppVeyor CI
- Added macOS images to AppVeyor CI
- The expat sources under coin/src/xml/expat were updated to version 2.2.10.
- Introduced new COIN_DEBUG_CHECK_THREAD option.
- Introduced COIN_GLX_PIXMAP_DIRECT_RENDERING environment variable to force direct rendering of offscreen contexts.
Bug fixes:
- 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.
- 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.
*/
/**
\page coin400 New Features in Coin v4.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.
The build system has been migrated from GNU Autotools to CMake.
This is a brief summary of the new features in Coin v4.0.0:
- Support for UNICODE text (starting with Coin 4.0 strings are
UTF-8 encoded).
- View volume and projectors now support reverse perspective camera
settings
- New SoReversePerspectiveCamera node added
- New getRadius method added to SoRayPickAction
- New virtual method getPickedPointForStart added to SoDragger to allow
dragging of (partially) covered objects by derived draggers
- New greater than and less than operators added to SbString
- Implemented SoTextureCoordinateObject for linear texture functions
- New SoAlphaTest node added
- Support for GLSL/ARB shaders has been added to SoShaderStateMatrixParameter
- Support for linePatternScaleFactor in SoDrawStyle
- Support for newer compilers
- Support for DISABLE policy in SoSelection node
- API changes in SbMatrix, SoPickAction, SoEvent, SoSFTime, SbPList to
improve conformance to Open Inventor 2.1 API
- Created public API for converting geo coordinates
- Auto-linking to the Coin library when using Microsoft Visual C++ compilers
- Updated expat sources to version 2.2.6
- Removed local Boost includes. Added configure option --with-boost
- Support for BitBucket and AppVeyor as continuous integration service
providers
Bug fixes:
- Engine output referencing
- SoTextureCoordinatePlane rendering bug
- Memory leak during SoDB cleanup
- Memory leak in SoVertexAttribute
- Wrong vertical offset used in SoOffscreenRenderer
- Driver bug when allocating render-to-texture capable pbuffers from
SoOffscreenRenderer
- Incorrect normal binding for 3DS import
- SoInteractionKit
- SoRayPickAction incorrect matrix info in getViewVolume
- SbTesselator triangulation errors
- SoToVRML2Action handling of NurbsCurve and IndexedNurbsCurve
- SoToVRML2Action handling TransformSeparator as Separator not Group
- SoVRMLTransform transformation bug in getTranslationSpaceMatrix
- SoVRMLExtrusion rendering
- Numerous minor and major issues detected with static code analysis
- Numerous documentation issues
- Camera location is updated during interaction in SoDragger
- Camera update handling in seek and spin modes
- Bounding box center calculation of SoIndexedShape derived components
- Intersection bounding box calculation between bounding box and view
volume
- Allow deletion of SoDraggers in callbacks
- Crash in SoText2 when using non-integer font sizes
- Out of bounds access to array in SoSceneTextureCubeMap
- Numerical issues in computation of intersection between sphere and line
- Numerical issue in SbDPMatrix::multLineMatrix()
- Markers are disappearing when clipping planes are present
- Set of invalid VRML identifier characters extended with '(', ')', and '|'
- Replacement for OpenGL extensions string method, obsoleted since OpenGL
version 3.0
- Output of scenes containing SoGroup or derived nodes in SoWriteAction
- Force setting color for all indices on TriangleStrips in SoMaterialBundle
*/
/**
\page coin313 New Features in Coin v3.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.
*/
/**
\page coin312 New Features in Coin v3.1.2
This is a bugfix release.
*/
/**
\page coin311 New Features in Coin v3.1.1
This is a bugfix release.
Bugs are fixed in all the NURBS related classes, and SoIndexedPointSet.
*/
/**
\page coin310 New Features in Coin v3.1.0
This is a brief summary of the new features in Coin v3.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.
*/
/**
\page coin300 New Features in Coin v3.0.0
This is a brief summary of the new features in Coin v3.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.
*/
/*!
\page coin250 New Features in Coin v2.5.0
This is a brief summary of the new features in Coin v2.5.0, grouped by
feature category.
\section geonodes Geographical Data Support
The Geographic Data Support nodes are partly based on GeoVRML
(http://www.geovrml.org/), and partly based on our own UTM-nodes which
can be found in the SmallChange library.
The Geographic Data Support nodes makes it possible to create
e.g. globe-spanning models that you can navigate around in without
getting into float precision problems ("the shakes"). Some assistance
from the application code is needed for this though; it is not a fully
automatic solution.
New nodes:
- SoGeoOrigin
- SoGeoLocation
- SoGeoSeparator
- SoGeoCoordinate
In addition to new nodes, SoCamera and its derived nodes have been
updated to support the SoGeoOrigin node.
The coordinate system support in the above nodes are currently a bit
lacking (only a few systems/zones are supported), but this will
improve over time. API-changes should not be needed to extend this,
so patchlevel releases would be enough to add more coordinate systems.
The VRML2 counterparts of the above nodes, which would be a subpart of
implementing the GeoVRML extension, are not yet in development, but
they might show up for the next major release since a big part of the
implementation will be shared.
Note: These above SoGeo*-nodes make the UTM*-nodes in the SmallChange
library obsolete (for anyone who uses those), so the support for those
nodes will eventually be deprecated and removed. They won't be
removed over night though, but for new users: avoid starting to use
the UTM*-nodes at all cost to avoid having to waste time on a port
down the line.
\section shadernodes Generic GLSL Shader Support
Shader support is implemented through a set of new shader nodes, more
or less compatible with the corresponding TGS extensions. Beyond
GLSL, Coin also supports ARB shaders and Cg shaders (if the Cg library
is installed). However, we will only recommend the use of the shader
language GLSL and put our focus on that one.
New nodes:
- SoShaderProgram
- SoVertexShader
- SoFragmentShader
- SoGeometryShader
See also the \ref coin_shaders_page "Shaders in Coin" page for more
information.
\section shadownodes Generic Shadow Rendering Functionality
Support for rendering shadows has been added to Coin through a set of
shader-based nodes. The technique used is the Variance Shadow Maps
technique (http://www.punkuser.net/vsm/).
New nodes:
- SoShadowGroup
- SoShadowCulling
- SoShadowStyle
\section vborendering Vertex Buffer Object (VBO) Usage
A lot of nodes have had their rendering code optimized for VBO usage,
giving great performance increases. However, this is not universally
enabled - it is necessary to organize the scene graphs in specific ways
for VBOs to be used.
See the \ref coin_vbo_rendering "VBO Rendering in Coin" page for a
detailed description.
Relevant classes:
- SoVertexProperty
- SoReorganizeAction
\section sbclasses Expanded Sb* Class Collection
The set of Sb* classes in Coin has been expanded greatly, with most
notable a whole skew of SbVec and SbBox classes. The reasoning behind
this move was that historically these classes were just added as
needed, one by one, causing the stable branch of Coin and the
development branch of Coin to diverge and become more and more
incompatible as time went by. Also, extension nodes were created in
peripheral libraries that used these new classes from the Coin
development branch, and consequently couldn't be built against the
stable branch of Coin. With this preemptive class set expansion, we
hope to cause that the Coin stable branch and the Coin development
branch stay closer in sync over a longer period, and that the
incompatibility divergence will happen around major new feature sets
instead of around minor details.
New Sb*-classes: \n
SbBox2i32, SbBox3i32, SbBox3d, SbVec2b, SbVec2ub, SbVec2us, SbVec2i32,
SbVec2ui32, SbVec3b, SbVec3ub, SbVec3us, SbVec3i32, SbVec3ui32,
SbVec4b, SbVec4ub, SbVec4s, SbVec4us, SbVec4i32, SbVec4ui32, SbXfBox3d
Note: You can also find a good deal of these classes in TGS Inventor, so
this was also a TGS compatibility move.
\section fieldclasses Expanded Field Class Collection
The exact same reasoning as for the Sb*-classes goes for the field
classes.
New field classes: \n
SoSFBox2s, SoSFBox2i32, SoSFBox2d, SoSFBox2d, SoSFBox3i32, SoSFBox3d,
SoSFColorRGBA, SoSFDouble, SoSFVec2b, SoSFVec2i32, SoSFVec2d,
SoSFVec3b, SoSFVec3i32, SoSFVec4b, SoSFVec4ub, SoSFVec4s, SoSFVec4us,
SoSFVec4i32, SoSFVec4ui32, SoSFVec4d, SoMFColorRGBA, SoMFDouble,
SoMFVec2b, SoMFVec2s, SoMFVec2i32, SoMFVec2d, SoMFVec3b, SoMFVec3s,
SoMFVec3i32, SoMFVec4b, SoMFVec4ub, SoMFVec4s, SoMFVec4us,
SoMFVec4i32, SoMFVec4ui32, SoMFVec4d
\section frustumcamera SoFrustumCamera node
This node is added to make it possible to set up a custom camera with
full control over the view volume. SoFrustumCamera is basically a
mapping of the OpenGL glFrustum() method.
The typical use of SoFrustumCamera is in a CAVE or MultiPipe
environment where it's often necessary to set up cameras based on the
configuration of the different displays.
\section misc250 Miscellaneous
Below follows a non-exhaustive list of other, more minor, tweaks and
tidbits.
\subsection sofile SoSearchAction on SoFile nodes
To facilitate control over whether an SoFile node should traverse its
children during an SoSearchAction traversal, two static methods have been
added to SoFile.
New functions:
- SoFile::setSearchOK() [static]
- SoFile::getSearchOK() [static]
\subsection sbtypeinfo SbTypeInfo<T> template type information library
For those who write generic code using C++ templates, a template type
information library has been added for the primitive Coin-types, so you
can use type relations for populating a template instead of needing
template parameters for all changing types of the template, or you can
write generic code on type attributes like the number of dimensions of an
SbVec class. SbTypeInfo<T> can be found in Inventor/SbTypeInfo.h.
\subsection vcprojects Visual Studio Projects
The Visual Studio projects have been split into projects for separately
building, installing, uninstalling the Coin SDK, and document generation.
This was done primarily to be able to build without automatically
performing the installation procedure at the same time, but also to offer
other supplementary targets later like the doc-generation project...
*/
/*!
\page coin240 New Features in Coin v2.4.0
The primary reason for the 2.4.0 release was the option of finally
building Coin from source on MS Windows without having to go through
the Cygwin process.
There had also been various optimization work on rendering traversal
code, file i/o and other things.
For v2.4.1, SoExtSelection LASSO and RECTANGLE select could be aborted
by the end-user by hitting the 'END' key. No API-changes was needed
for this of course.
For v2.4.2, we hacked in support for compressed textures through an
API/ABI-invisible field in SoTexture2, called
"enableCompressedTexture". This field will remain "invisible" until
Coin v3.0.0 is released, and can only be accessed from .iv-file input
or through the SoFieldContainer API.
For v2.4.6, SbViewVolume::getAlignRotation() was implemented, and
SoToVRML2Action got support for SoUnits in relation to
SoVRMLTransform nodes.
*/
/*!
\page coin230 New Features in Coin v2.3.0
This is a brief summary of the new features in Coin v2.3.0:
- More Multi-Texturing (see SoTextureCombine)
- Texture coordinate mapping nodes
- SoTextureCoordinateCube
- SoTextureCoordinateCylinder
- SoTextureCoordinateSphere
*/
/*!
\page coin220 New Features in Coin v2.2.0
This is a brief summary of the new features in Coin v2.2.0:
- Multi-Texturing (see SoTextureUnit)
- Bump-Mapping
- SoBumpMap
- SoBumpMapCoordinate
- SoBumpMapTransform
- Better Font Support
- TrueType font support for all 3D text primitive types.
- Render To Texture Support (see SoSceneTexture2)
- REPLACE texture model support for SoTexture2
- pbuffer support for SoOffscreenRenderer
- New transparency rendering type, SORTED_LAYERS_BLEND
*/
/*!
\page coin210 New Features in Coin v2.1.0
This is a brief summary of the new features in Coin v2.1.0:
- HardCopy Support: Vector output to PostScript.
- FreeType and Win32 TrueType Font Support
- Intersection Detection with SoIntersectionDetectionAction
- SoLineHighlightRenderAction / SoBoxHighlightRenderAction and Multiple SoSelection Nodes
- Compressed File I/O Support (see SoOutput::setCompression(), SoOutput::getAvailableCompressionMethods())
- Additional Convenience Functions SoInput::setStringArray() and SoAction::apply(SoAction *)
- NO_COPY SoSFImage CopyPolicy, SoSFImage::setValue with CopyPolicy::NO_COPY implemented.
*/
/*!
\page coin200 New Features in Coin v2.0.0
This is a brief summary of the new features in Coin v2.0.0:
- Big-Image Support
- 3D Textures Support
- 3D Sound Support
- VRML97 Support
- Mac OS X Support
- Multi-Pipe Rendering Support
*/
|