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

Making your node always face the screen


Make something face the screen? Yes, this is exactly what the osg::Billboard class has done for you, and the osgText::Text class has a similar feature that rotates the text to screen automatically. But this time we will work on a node, and show how to alter transformation nodes according to the global model-view matrix. The method used here can also be extended to implement other small functionalities, for instance, to show small XYZ axes for reference in a model editor window, or a front sight following the mouse in a shooting game.

How to do it...

This recipe will be simple enough for reading and understanding. But the usage of cull callbacks here may also help in the following chapters to implement some complex examples. Just keep it in mind or place a bookmark if you can.

  1. 1. Include necessary headers:

    #include <osg/MatrixTransform>
    #include <osgDB/ReadFile>
    #include <osgUtil/CullVisitor>
    #include <osgViewer/Viewer>
    
  2. 2. Declare...