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

Merging geometry data


It is common in a complex program to contain hundreds of thousands of geometry objects. For example, a digital city running on the local machine or the Internet may have 10,000 detailed houses, and each house can have doors, windows, fences, and many other components.

It may be sometimes confusing for developers in this situation—should we try to merge all (or majority) of them in to one osg::Geometry object or use more geometries to represent the different house elements? The answer depends on different situations that we may face. However, less geometry objects always perform better while rendering the same number of triangles, as the shown in the following section.

How to do it...

Let us start.

  1. 1. Include necessary headers:

    #include <osg/Geometry>
    #include <osg/Group>
    #include <osgDB/ReadFile>
    #include <osgViewer/ViewerEventHandlers>
    #include <osgViewer/Viewer>
    
  2. 2. We will try to show the importance of merging geometries, so the first thing...