-
Book Overview & Buying
-
Table Of Contents
OpenSceneGraph 3.0: Beginner's Guide
The most important step in customizing a node and extending new features is to override the virtual method traverse(). This method is called every frame by the OSG rendering backend. The traverse() method has an input parameter, osg::NodeVisitor&, which actually indicates the type of traversals (update, event, or cull). Most OSG NodeKits override traverse() to implement their own functionalities, along with some other exclusive attributes and methods.
Note that overriding the traverse() method is a bit dangerous sometimes, because it affects the traversing process and may lead to the incorrect rendering of results if developers are not careful enough. It is also a little awkward if you want to add the same new feature to multiple node types by extending each node type to a new customized class. In these cases, consider using node callbacks instead, which will be discussed in Chapter 8,
Animating Scene Objects
Change the font size
Change margin width
Change background colour