1coin250(3)                           Coin                           coin250(3)
2
3
4

NAME

6       coin250 - New Features in Coin v2.5.0 This is a brief summary of the
7       new features in Coin v2.5.0, grouped by feature category.
8

Geographical Data Support

10       The Geographic Data Support nodes are partly based on GeoVRML
11       (http://www.geovrml.org/), and partly based on our own UTM-nodes which
12       can be found in the SmallChange library.
13
14       The Geographic Data Support nodes makes it possible to create e.g.
15       globe-spanning models that you can navigate around in without getting
16       into float precision problems ('the shakes'). Some assistance from the
17       application code is needed for this though; it is not a fully automatic
18       solution.
19
20       New nodes:
21
22SoGeoOrigin
23
24SoGeoLocation
25
26SoGeoSeparator
27
28SoGeoCoordinate
29
30       In addition to new nodes, SoCamera and its derived nodes have been
31       updated to support the SoGeoOrigin node.
32
33       The coordinate system support in the above nodes are currently a bit
34       lacking (only a few systems/zones are supported), but this will improve
35       over time. API-changes should not be needed to extend this, so
36       patchlevel releases would be enough to add more coordinate systems.
37
38       The VRML2 counterparts of the above nodes, which would be a subpart of
39       implementing the GeoVRML extension, are not yet in development, but
40       they might show up for the next major release since a big part of the
41       implementation will be shared.
42
43       Note: These above SoGeo*-nodes make the UTM*-nodes in the SmallChange
44       library obsolete (for anyone who uses those), so the support for those
45       nodes will eventually be deprecated and removed. They won't be removed
46       over night though, but for new users: avoid starting to use the
47       UTM*-nodes at all cost to avoid having to waste time on a port down the
48       line.
49

Generic GLSL Shader Support

51       Shader support is implemented through a set of new shader nodes, more
52       or less compatible with the corresponding TGS extensions. Beyond GLSL,
53       Coin also supports ARB shaders and Cg shaders (if the Cg library is
54       installed). However, we will only recommend the use of the shader
55       language GLSL and put our focus on that one.
56
57       New nodes:
58
59SoShaderProgram
60
61SoVertexShader
62
63SoFragmentShader
64
65SoGeometryShader
66
67       See also the Shaders in Coin page for more information.
68

Generic Shadow Rendering Functionality

70       Support for rendering shadows has been added to Coin through a set of
71       shader-based nodes. The technique used is the Variance Shadow Maps
72       technique (http://www.punkuser.net/vsm/).
73
74       New nodes:
75
76SoShadowGroup
77
78SoShadowCulling
79
80SoShadowStyle
81

Vertex Buffer Object (VBO) Usage

83       A lot of nodes have had their rendering code optimized for VBO usage,
84       giving great performance increases. However, this is not universally
85       enabled - it is necessary to organize the scene graphs in specific ways
86       for VBOs to be used.
87
88       See the VBO Rendering in Coin page for a detailed description.
89
90       Relevant classes:
91
92SoVertexProperty
93
94SoReorganizeAction
95

Expanded Sb* Class Collection

97       The set of Sb* classes in Coin has been expanded greatly, with most
98       notable a whole skew of SbVec and SbBox classes. The reasoning behind
99       this move was that historically these classes were just added as
100       needed, one by one, causing the stable branch of Coin and the
101       development branch of Coin to diverge and become more and more
102       incompatible as time went by. Also, extension nodes were created in
103       peripheral libraries that used these new classes from the Coin
104       development branch, and consequently couldn't be built against the
105       stable branch of Coin. With this preemptive class set expansion, we
106       hope to cause that the Coin stable branch and the Coin development
107       branch stay closer in sync over a longer period, and that the
108       incompatibility divergence will happen around major new feature sets
109       instead of around minor details.
110
111       New Sb*-classes:
112       SbBox2i32, SbBox3i32, SbBox3d, SbVec2b, SbVec2ub, SbVec2us, SbVec2i32,
113       SbVec2ui32, SbVec3b, SbVec3ub, SbVec3us, SbVec3i32, SbVec3ui32,
114       SbVec4b, SbVec4ub, SbVec4s, SbVec4us, SbVec4i32, SbVec4ui32, SbXfBox3d
115
116       Note: You can also find a good deal of these classes in TGS Inventor,
117       so this was also a TGS compatibility move.
118

Expanded Field Class Collection

120       The exact same reasoning as for the Sb*-classes goes for the field
121       classes.
122
123       New field classes:
124       SoSFBox2s, SoSFBox2i32, SoSFBox2d, SoSFBox2d, SoSFBox3i32, SoSFBox3d,
125       SoSFColorRGBA, SoSFDouble, SoSFVec2b, SoSFVec2i32, SoSFVec2d,
126       SoSFVec3b, SoSFVec3i32, SoSFVec4b, SoSFVec4ub, SoSFVec4s, SoSFVec4us,
127       SoSFVec4i32, SoSFVec4ui32, SoSFVec4d, SoMFColorRGBA, SoMFDouble,
128       SoMFVec2b, SoMFVec2s, SoMFVec2i32, SoMFVec2d, SoMFVec3b, SoMFVec3s,
129       SoMFVec3i32, SoMFVec4b, SoMFVec4ub, SoMFVec4s, SoMFVec4us, SoMFVec4i32,
130       SoMFVec4ui32, SoMFVec4d
131

SoFrustumCamera node

133       This node is added to make it possible to set up a custom camera with
134       full control over the view volume. SoFrustumCamera is basically a
135       mapping of the OpenGL glFrustum() method.
136
137       The typical use of SoFrustumCamera is in a CAVE or MultiPipe
138       environment where it's often necessary to set up cameras based on the
139       configuration of the different displays.
140

Miscellaneous

142       Below follows a non-exhaustive list of other, more minor, tweaks and
143       tidbits.
144
145   SoSearchAction on SoFile nodes
146       To facilitate control over whether an SoFile node should traverse its
147       children during an SoSearchAction traversal, two static methods have
148       been added to SoFile.
149
150       New functions:
151
152SoFile::setSearchOK() [static]
153
154SoFile::getSearchOK() [static]
155
156   SbTypeInfo<T> template type information library
157       For those who write generic code using C++ templates, a template type
158       information library has been added for the primitive Coin-types, so you
159       can use type relations for populating a template instead of needing
160       template parameters for all changing types of the template, or you can
161       write generic code on type attributes like the number of dimensions of
162       an SbVec class. SbTypeInfo<T> can be found in Inventor/SbTypeInfo.h.
163
164   Visual Studio Projects
165       The Visual Studio projects have been split into projects for separately
166       building, installing, uninstalling the Coin SDK, and document
167       generation. This was done primarily to be able to build without
168       automatically performing the installation procedure at the same time,
169       but also to offer other supplementary targets later like the doc-
170       generation project...
171
172
173
174Version 4.0.0                   Wed Jul 21 2021                     coin250(3)
Impressum