Book Image

OpenSceneGraph 3.0: Beginner's Guide

Book Image

OpenSceneGraph 3.0: Beginner's Guide

Overview of this book

Virtual reality has quite a lot of demand in computer science today and OpenSceneGraph, being one of the best 3D graphics toolkits, is being used widely. Although you can use the powerful OpenSceneGraph, based on the low-level OpenGL API, to implement virtual-reality applications that simulate different environments in the 3D world, developing picture-perfect applications is easier said than done.This book has been written with the goal of helping readers become familiar with the structure and main functionalities of OpenSceneGraph (OSG), and guide them to develop virtual-reality applications using this powerful 3D graphics engine. This book covers the essence of OpenSceneGraph (OSG), providing programmers with detailed explanations and examples of scene graph APIs.This book helps you take full advantages of the key features and functionalities of OpenSceneGraph (OSG). You will learn almost all of the core elements required in a virtual reality application, including memory management, geometry creation, the structure of the scene graph, realistic rendering effects, scene navigation, animation, interaction with input devices and external user interfaces, file reading and writing, and so on. With the essential knowledge contained in this book, you will be able to start using OSG in your own projects and research fields, and extend its functionalities by referring to OSG's source code, official examples and API documentation. This handy book divides the core functionalities of the proved and comprehensive OpenSceneGraph (OSG) 3D graphics engine into different aspects, which are introduced in separate chapters. Each chapter can be treated as an individual part that covers one important field of OSG programming, along with several examples illustrating concrete usages and solutions. But the sequence of chapters is also organized from the easy to the more difficult, to help you get to grips with OSG.By the end of the whole book, you will have gained a ready-to-use OSG development environment for yourself and have the general ability to develop OSG-based applications and extend practical functionalities for your own purposes.
Table of Contents (22 chapters)
OpenSceneGraph 3.0
About the Authors
About the Reviewers

Why OSG?

The OSG project is open sourced and released under a modified GNU Lesser General Public License (LGPL), named OSGPL. It brings about significant benefits to its users:

  • Rigorous structure: OSG makes full use of the Standard Template Library (STL) and multiple design patterns. It also takes advantage of the open source development model in order to provide a legacy-free and user-centric application programming interface.

  • Superior performance: A series of scene graph techniques are already well-implemented in OSG, including view-frustum and occlusion culling, level of detail (LOD) configuration, rendering state sorting, particle and shadow supports, and complete encapsulation of OpenGL extensions and the shader language.

  • High scalability: The core OSG functionalities are clean and highly extensible. This makes it easy for users to write their own NodeKits and file I/O plugins, and integrate them into scene graphs and applications.

  • Software and hardware portability: The core OSG is already designed to have minimal dependency on any specific platform or windowing system, requiring only Standard C++ and OpenGL. This provides great convenience in being able to rapidly port OSG-based applications to Windows, Linux, Mac OSX, FreeBSD, Solaris, and even embedded platforms.

  • Latest activity: With an active developer community, OSG is growing at an incredible speed. It supports the latest OpenGL and OpenGL ES extensions and various graphics concepts and techniques, along with a great deal of feedback in the development cycle.

  • Open source: In modern industry, open source means co-intelligence, quality and flexibility, rather than merely inexpensive. Users and companies also don't have to worry about software patent violations when using OSG in their own applications.