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

NAME

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

Geographical Data Support

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

Generic GLSL Shader Support

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

Generic Shadow Rendering Functionality

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

Vertex Buffer Object (VBO) Usage

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

Expanded Sb* Class Collection

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

Expanded Field Class Collection

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

SoFrustumCamera node

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

Miscellaneous

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