Book Image

OpenSceneGraph 3 Cookbook

By : Rui Wang, Xuelei Qian
Book Image

OpenSceneGraph 3 Cookbook

By: Rui Wang, Xuelei Qian

Overview of this book

<p>OpenSceneGraph is an open source 3D graphics application programming interface, used by application developers in fields such as visual simulation, computer games, virtual reality, scientific visualization, and modeling. Familiar with its concepts and APIs, and need to improve your knowledge? This book is here to help. With exactly 100 recipes, it will enrich your experience and take you to the next level.<br /><br /><em>OpenSceneGraph 3 Cookbook</em> will escort you into the world of real-time 3D development with OpenSceneGraph, the world famous 3D graphics engine. The book assumes that you are already familiar with some basic concepts, and provides 100 vivid recipes to demonstrate how to utilize the API flexibly and how to implement some practical aspects.<br /><br />The book is divided into 10 chapters, each of which focuses on one topic. Readers may start from any topic they are interested in.<br /><br />The book includes customizing OpenSceneGraph, designing scene graph, geometry, scene navigation, animations, effects using fixed pipeline and shaders, managing mass data, and miscellaneous discussions. Every recipe will prove to be useful in a practical way or in research.<br /><br /><em>OpenSceneGraph 3 Cookbook</em> gives you a wide insight about 3D programming using OpenSceneGraph, with a set of meaningful and interesting examples.</p>
Table of Contents (15 chapters)
OpenSceneGraph 3 Cookbook
Credits
About the Authors
About the Reviewers
www.PacktPub.com
Preface

Creating a running car


The goal here is easy to understand but not easy to achieve. It requires exactly another book to tell how to make a realistic enough car model and load it into the scene graph efficiently, as well as how to assemble components and have the wheels rotating. So we have to simplify the problem here—we are going to implement some very ugly car parts only with basic shapes, and demonstrate the use of the scene graph in the assembly process.

How to do it...

All we need to do here is use the transformation node, which is one the most basic classes in the OSG library. But it is not easy to be skillful with it.

  1. 1. Include necessary headers:

    #include <osg/ShapeDrawable>
    #include <osg/AnimationPath>
    #include <osg/MatrixTransform>
    #include <osgDB/ReadFile>
    #include <osgViewer/Viewer>
    
  2. 2. The convenient function createTransformNode() will create a transformation node for every part shape we have:

    osg::MatrixTransform* createTransformNode( osg::Drawable...