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

Drawing a NURBS surface


NURBS (Non-Uniform Rational B-Splines) is a powerful way for creating complex curves and surfaces. It requires only a few control points and knot vectors rather than hundreds of sample points on the surface. That means we can mathematically describe a curve or surface using B-Splines or NURBS, instead of approximating it with small pieces of line segments or triangles. It sounds good to our developers who want to characterize their models in a more precise way.

OpenGL provides evaluators and NURBS interface for rendering these parametric models, but OSG doesn't for some efficiency and practicability considerations. Rendering NURBS curves and surfaces always costs more on the graphics hardware than using approximate polygons (LODs can be even better). But it can't stop us from implementing one ourself. In this recipe, we will derive from the osg::Drawable class and execute OpenGL commands to draw NURBS surfaces during the rendering traversal of the scene graph....