1coin250(3Version)                                            coin250(3Version)
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 Geopgraphic 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 gainst 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: \break SbBox2i32, SbBox3i32, SbBox3d, SbVec2b,
114       SbVec2ub, SbVec2us, SbVec2i32, SbVec2ui32, SbVec3b, SbVec3ub, SbVec3us,
115       SbVec3i32, SbVec3ui32, SbVec4b, SbVec4ub, SbVec4s, SbVec4us, SbVec4i32,
116       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: \break SoSFBox2s, SoSFBox2i32, SoSFBox2d, SoSFBox2d,
126       SoSFBox3i32, SoSFBox3d, SoSFColorRGBA, SoSFDouble, SoSFVec2b,
127       SoSFVec2i32, SoSFVec2d, SoSFVec3b, SoSFVec3i32, SoSFVec4b, SoSFVec4ub,
128       SoSFVec4s, SoSFVec4us, SoSFVec4i32, SoSFVec4ui32, SoSFVec4d,
129       SoMFColorRGBA, SoMFDouble, SoMFVec2b, SoMFVec2s, SoMFVec2i32,
130       SoMFVec2d, SoMFVec3b, SoMFVec3s, SoMFVec3i32, SoMFVec4b, SoMFVec4ub,
131       SoMFVec4s, SoMFVec4us, SoMFVec4i32, SoMFVec4ui32, SoMFVec4d
132

SoFrustumCamera node

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

Miscellaneous

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