OpenSceneGraph 3.0: Beginner's Guide
eBook - ePub

OpenSceneGraph 3.0: Beginner's Guide

Rui Wang, Xuelei Qian

Buch teilen
  1. 412 Seiten
  2. English
  3. ePUB (handyfreundlich)
  4. Über iOS und Android verfĂŒgbar
eBook - ePub

OpenSceneGraph 3.0: Beginner's Guide

Rui Wang, Xuelei Qian

Angaben zum Buch
Buchvorschau
Inhaltsverzeichnis
Quellenangaben

Über dieses Buch

Written with a fast-paced but friendly and engaging approach, this Packt Beginner's Guide is designed to be placed alongside the computer as your guide and mentor. Step-by-step tutorials are bolstered by explanations of the reasoning behind what you are doing. You will quickly pick up the necessary skills, tips, and tricks for creating successful 3D graphics with practical examples that help you to learn by experiment and play. This book is intended for software developers who are new to OpenSceneGraph and considering using it in their applications. It is assumed that you have basic knowledge of C++ before using this book, especially the standard template library (STL) constructs, of which OSG makes extensive use. Some familiarity with design patterns as implemented in C++ is also useful, but is not required. You need to be familiar with OpenGL, the standard cross-platform low-level 3D graphics API. We'll meet some maths in the book—geometry and linear algebra—and familiarity with these topics will be great, but you don't need to be a maths whiz to use this book.

HĂ€ufig gestellte Fragen

Wie kann ich mein Abo kĂŒndigen?
Gehe einfach zum Kontobereich in den Einstellungen und klicke auf „Abo kĂŒndigen“ – ganz einfach. Nachdem du gekĂŒndigt hast, bleibt deine Mitgliedschaft fĂŒr den verbleibenden Abozeitraum, den du bereits bezahlt hast, aktiv. Mehr Informationen hier.
(Wie) Kann ich BĂŒcher herunterladen?
Derzeit stehen all unsere auf MobilgerĂ€te reagierenden ePub-BĂŒcher zum Download ĂŒber die App zur VerfĂŒgung. Die meisten unserer PDFs stehen ebenfalls zum Download bereit; wir arbeiten daran, auch die ĂŒbrigen PDFs zum Download anzubieten, bei denen dies aktuell noch nicht möglich ist. Weitere Informationen hier.
Welcher Unterschied besteht bei den Preisen zwischen den AboplÀnen?
Mit beiden AboplÀnen erhÀltst du vollen Zugang zur Bibliothek und allen Funktionen von Perlego. Die einzigen Unterschiede bestehen im Preis und dem Abozeitraum: Mit dem Jahresabo sparst du auf 12 Monate gerechnet im Vergleich zum Monatsabo rund 30 %.
Was ist Perlego?
Wir sind ein Online-Abodienst fĂŒr LehrbĂŒcher, bei dem du fĂŒr weniger als den Preis eines einzelnen Buches pro Monat Zugang zu einer ganzen Online-Bibliothek erhĂ€ltst. Mit ĂŒber 1 Million BĂŒchern zu ĂŒber 1.000 verschiedenen Themen haben wir bestimmt alles, was du brauchst! Weitere Informationen hier.
UnterstĂŒtzt Perlego Text-zu-Sprache?
Achte auf das Symbol zum Vorlesen in deinem nÀchsten Buch, um zu sehen, ob du es dir auch anhören kannst. Bei diesem Tool wird dir Text laut vorgelesen, wobei der Text beim Vorlesen auch grafisch hervorgehoben wird. Du kannst das Vorlesen jederzeit anhalten, beschleunigen und verlangsamen. Weitere Informationen hier.
Ist OpenSceneGraph 3.0: Beginner's Guide als Online-PDF/ePub verfĂŒgbar?
Ja, du hast Zugang zu OpenSceneGraph 3.0: Beginner's Guide von Rui Wang, Xuelei Qian im PDF- und/oder ePub-Format sowie zu anderen beliebten BĂŒchern aus Informatik & Informationstechnologie. Aus unserem Katalog stehen dir ĂŒber 1 Million BĂŒcher zur VerfĂŒgung.

Information

Jahr
2010
ISBN
9781849512831

OpenSceneGraph 3.0

Beginner's Guide


Table of Contents

OpenSceneGraph 3.0
Credits
Foreword
About the Authors
Acknowledgement
About the Reviewers
www.PacktPub.com
Support files, eBooks, discount offers and more
Why Subscribe?
Free Access for Packt account holders
Preface
What this book covers
What you need for this book
Who this book is for
Conventions
Time for action—heading
What just happened?
Pop quiz—heading
Have a go hero—heading
Reader feedback
Customer support
Errata
Piracy
Questions
1. The Journey into OpenSceneGraph
A quick overview of rendering middleware
Scene graphs
The Birth and development of OSG
Components
Why OSG?
Who uses OSG?
Have a quick taste
Time for action—say "Hello World" OSG style
What just happened?
Live in community
Summary
2. Compilation and Installation of OpenSceneGraph
System requirements
Using the installer
Time for action—installing OSG
What just happened?
Running utilities
Time for action—playing with osgviewer
What just happened?
Pop quiz—dependencies of osgviewer
Have a go hero—playing with osgconv
Using the project wizard
Time for action—creating your solution with one click
What just happened?
Have a go hero—constructing "Hello World" with the wizard
Prebuilts making trouble?
Cross-platform building
Starting CMake
Time for action—running CMake in GUI mode
What just happened?
Setting up options
Generating packages using Visual Studio
Time for action—building with a Visual Studio solution
What just happened?
Pop quiz—the difference between ALL_BUILD and 'build all'
Generating packages using gcc
Time for action—building with a UNIX makefile
What just happened?
Have a go hero—checking mis-compiled parts
Configuring environment variables
Summary
3. Creating Your First OSG Program
Constructing your own projects
Time for action—building applications with CMake
What just happened?
Pop quiz—configuring OSG path options yourselves
Have a go hero—testing with different generators
Using a root node
Time for action—improving the "Hello World" example
What just happened?
Understanding memory management
ref_ptr<> and Referenced classes
Collecting garbage: why and how
Tracing the managed entities
Time for action—monitoring counted objects
What just happened?
Have a go hero—returning from a function
Pop quiz—release a smart pointer
Parsing command-line arguments
Time for action—reading the model filename from the command line
What just happened?
Tracing with the notifier
Redirecting the notifier
Time for action—saving the log file
What just happened?
Summary
4. Building Geometry Models
How OpenGL draws objects
Geode and Drawable classes
Rendering basic shapes
Time for action—quickly creating simple objects
What just happened?
Storing array data
Vertices and vertex attributes
Specifying drawing types
Time for action—drawing a colored quad
What just happened?
Pop quiz—results of different primitive types
Indexing primitives
Time for action—drawing an octahedron
What just happened?
Pop quiz—optimizing indexed geometries
Have a go hero—challenges with cubes and pyramids
Using polygonal techniques
Time for action—tessellating a polygon
What just happened?
Rereading geometry attributes
Customizing a primitive functor
Time for action—collecting triangle faces
What just happened?
Have a go hero—analyzing topology of a geometry
Implementing your own drawables
Using OpenGL drawing calls
Time for action—creating the famous OpenGL teapot
What just happened?
Summary
5. Managing Scene Graph
The Group interface
Managing parent nodes
Time for action—adding models to the scene graph
What just happened?
Pop quiz—fast dynamic casting
Traversing the scene graph
Transformation nodes
Understanding the matrix
The MatrixTransform class
Time for action—performing translations of child nodes
What just happened?
Pop quiz—matrix multiplications
Have a go hero—making use of the PositionAttitudeTransform class
Switch nodes
Time for action—switching between the normal and damaged Cessna
What just happened?
Level-of-detail nodes
Time for action—constructing a LOD Cessna
What just happened?
Proxy and paging nodes
Time for action—loading a model at runtime
What just happened?
Have a go hero—working with the PagedLOD class
Customizing your own NodeKits
Time for action—animating the switch node
What just happened?
Have a go hero—creating a tracker node
The visitor design pattern
Visiting scene graph structures
Time for action—analyzing the Cessna structure
What just happened?
Summary
6. Creating Realistic Rendering Effects
Encapsulating the OpenGL state machine
Attributes and modes
Time for action—setting polygon modes of different nodes
What just happened?
Inheriting render states
Time for action—lighting the glider or not
What just happened?
Playing with fixed-function effects
Time for action—applying simple fog to models
What just happened?
Have a go hero—searching for more effects
Lights and light sources
Time for action—creating light sources in the scene
What just happened?
Pop quiz—lights without sources
The Image class
The basis of texture mapping
Time for action—loading and applying 2D textures
What just happened?
Have a go hero—making use of filters and wrapping modes
Handling rendering order
Time for action—achieving the translucent effect
What just happened?
Understanding graphics shaders
Using uniforms
Time for action—implementing a cartoon cow
What just happened?
Pop quiz—replacements of built-in uniforms
Have a go hero—setting vertex attributes to shaders
Working with the geometry shader
Time for action—generating a Bezier curve
What just happened?
Have a go hero—having fun with shaders
Summary
7. Viewing the World
From world to...

Inhaltsverzeichnis