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

Using vertex-displacement mapping in shaders


Is this the first time you have heard the name displacement mapping? Don't worry. It is just a kind of modern computer-graphics technique. Maybe you are familiar with bump mapping, which simulates bumps using a special texture map and makes the result look more realistic. Yes, it has some similar points with displacement mapping —both have a smooth surface at the beginning; both make uses of shaders for special effects; and both read data from textures working like parameter lookup tables.

Vertex displacement mapping, as the name suggests, uses textures to modify vertex positions and normals instead of just pixels. It produces dynamic, detailed, and real mesh data, not faked ones (bump mapping instead fakes the results).

How to do it...

Let us start.

  1. 1. Include necessary headers:

    #include <osg/Geometry>
    #include <osg/Geode>
    #include <osg/Texture2D>
    #include <osgDB/ReadFile>
    #include <osgViewer/Viewer>
    
  2. 2. The core...