Version 10 (modified by martin, 10 years ago)


Siggraph 2007


Update: Our SIGGRAPH '07 course proposal was not accepted by the SIGGRAPH courses committee. Keep this page around, however, for future courses led by the OSG community.

This section is for suggestions for, and volunteering to do OpenSceneGraph related courses at SIGGRAPH 2007.

SIGGRAPH Link to courses:

Details of the course submission

Detailed Submission Process:

Each presenter needs to give name, email, title, and affiliation. Also, if the course is accepted, each presenter must sign an acceptance agreement (or the course will be rejected).

course title: Introduction to OpenSceneGraph

category: API - other

proposed length: full day

presentation venue: session room

summary: (adapted from OSG home page) (50 words max)

This course introduces OpenSceneGraph, a high-performance, cross-platform, open-source graphics programming toolkit built on top of OpenGL. Written entirely in standard C++, OpenSceneGraph is used for visual simulation, games, virtual reality, scientific visualization, and modeling.

course abstract: (300 words max) (adapted from OSG Introduction page)

OpenSceneGraph is an open-source, cross-platform graphics toolkit for the development of high-performance graphics applications such as flight simulators, games, virtual reality and scientific visualization. Based on the concept of a scene graph, OpenSceneGraph provides an object-oriented framework on top of OpenGL, freeing the developer from implementing and optimizing low level graphics calls. OpenSceneGraph also provides many additional utilities for rapid development of graphics applications. Since OpenSceneGraph is open-source software, anybody may use it and contribute to its development. Because it has been written entirely in standard C++, OpenSceneGraph has been ported to many different operating systems. OpenSceneGraph runs on Apple Mac OS X and Windows platforms, as well as all major Unix-like operating systems. Wrappers have been developed for using OpenSceneGraph from languages other than C++, such as Lua and Python.

In this course, attendees will receive an overview of both basic and new OpenSceneGraph features. OpenSceneGraph-based shader development will also be described. Attendees will hear from developers who have created major applications using OpenSceneGraph.

prerequisites: (50 words max)

C++ fluency is very helpful, especially for the later sections of the course. Knowledge of OpenGL is also very helpful, but not required. A computer graphics background is also helpful.

level of difficulty: intermediate

intended audience: (50 words max)

This course is intended for newcomers and experienced OpenSceneGraph users, and for anyone who is interested in developing real-time and high-performance graphics simulations and applications.


Introduction and Welcome (Sokolowsky 5 min)

What Will be Covered
Presenter Introduction

Scene Graphs and OpenSceneGraph (Osfield 15 min)

Overview of a Scene Graph
OpenSceneGraph History
Design Philosophy
Role of Community

OpenSceneGraph State and Geometry (Martz 45 min)

Management of OpenGL State in the Scene Graph
Texture Mapping and Lighting
Drawables, Vertex Arrays, Buffer Objects, and Display Lists

OpenSceneGraph Nodes and Operations (Martz 45 min)

Internal Nodes of the Scene Graph - Group, LODs, Switches, Transforms, and More
Operations on the Scene Graph - Visitors and Callbacks
Overview of the Plugin Architecture for Support of 2D and 3D File Formats

Application Development (Osfield 45 min)

Creating Simple Viewers
Picking and Intersection
Integration with 3rd Party GUI Toolkits

Tour of Node Kits (Martz 45 mins)

Rendering Text - osgText
Particle Systems - osgParticle
Adding Shadows to Your Scene - osgShadow
Visual Simulation Extension - osgSim

GLSL Shaders (Osfield 30 min)

Using the OpenGL Shading Language in OpenSceneGraph
Rendering Techniques Faciliated by Programmable Hardware

Large Scale Terrain and Geospatial Imagery (Sokolowsky, Hanson 45 min)

Animation and Compressed Textures
Paged Level of Detail & Paged Database Generation
Multipass Rendering
Demo of Digital Earth PC Using Above Techniques

Interoperability (Osfield, 45 min)

Lua Integration - osgLua
Python Integration - osgPython
Java Integration - JavaOSG
C# Integration
ActiveX Plugins
Firefox Plugins

Scalability and Optimization (Osfield, 45 min)

Creating Multi-threaded, Multi-pipe Applications
Using Clusters
Performance Optimization

Applications (Sokolowsky/Hanson/Osfield - 45 min)

Digital Earth PC on a Cluster
3DNature Implementation Details
Present3D Implementation Details

So Long and Thanks for All the Fish (Sokolowsky - 5 min)

Where to Go for More Information: The OSG Web Site and the OSG Mailing List

how would this course be shortened:

We could make this a half-day course by eliminating the introductory material. This would assume that course attendees are already familiar with OSG. If we made this change, the course would have to be reclassified and retitled as "advanced".

extant materials:

The [[Documentation/QuickStartGuide OpenSceneGraph Quick Start Guide]] (in progress, to be made available freely online) will be used as course notes for the introductory material, as well as a source of additional in-depth introductory material. The OpenSceneGraph web site also contains many example programs that can be downloaded by attendees, as well as binary distributions of the OpenSceneGraph libraries themselves, for a number of different platforms. Links to all these materials will be given in the presentation. Attendees will be encouraged to download and try out the example programs provided during the course. If space permits, we can include many of these online resources, including source code, in the notes. We have full permission for this.

course history: (100 words max) [why do siggraph attendees care about course?]

This course has not been presented at a previous Siggraph conference. OpenSceneGraph is an excellent tool to use for rapid prototyping of graphical applications. Since it is a thin object-oriented layer built on top of OpenGL, those familiar with OpenGL can learn how to use it fairly easily. OpenSceneGraph also helps to fill a void in the performance scene graph market with the recent withdrawal of SGI's Performer. The OpenSceneGraph community has continued to grow significantly over the last several years; there are now over 1500 subscribers to the support mailing list. Many users of OSG also attend Siggraph.

course notes sample:

Here are two files we should be able to use as sample notes:

A Short Introduction to the Basic Principles of the Open Scene Graph: Leandro Motta Barro's intro doc Robert's OpenOffice file from .../OpenSceneGraph/doc/ProgrammingGuide.

supplementary materials:

3D stereo glasses for viewing portions of the presentation in stereo, provided to attendees of the course. We may also provide a CD containing the OpenSceneGraph software and example applications if such materials are not given on the course notes DVD.

special presentation requirements:

Parts of the presentation will be done with a presentation application written using the OpenSceneGraph library, rather than a traditional commercial 2D presentation program. This application incorporates 2D presentations and 3D graphics.

We will require two projection screens, one of which will be used to show our presentation in standard 2D. The second screen will be used to show the presentation in 3D. The content on the two screens will otherwise be identical. We will provide stereo glasses to attendees who can view the 3D stereo screen if they wish. The second (stereo) screen will require two aligned projectors with polarization filters to produce the stereo image. We will need a computer able to run the OpenSceneGraph applications in stereo that has two video output ports, one connected to each of the projectors. We will be able to provide the hardware to run both projectors.

If these special requirements are too difficult, we can also implement a stereo experience using red/cyan glasses. This requires only one projector for the 3D screen. We will still provide stereo glasses to course attendees.

advance publicity image (optional):


Name: Eric Sokolowsky; Email: eric.sokolowsy@…; Affiliation: NASA Goddard Space Flight Center/Global Science and Technology; Biography: Eric has been active in computer graphics research and development since 1997, and has been using OpenSceneGraph since 2002. Currently he is working as a senior computer scientist in NASA's Scientific Visualization Studio at Goddard Space Flight Center in Greenbelt, Maryland.

Name: Chris "Xenon" Hanson;
Email: xenon@…;
Affiliation: 3D Nature, LLC;
Biography: Co-founder of 3D Nature and AlphaPixel, Chris has been involved in computer graphics on various platforms since 1989. Currently Vice President of R&D for 3D Nature, he specializes in realistic visualization of 3D terrain, vegetation and culture for realtime and rendered applications.

Name: Paul Martz;
Email: pmartz@…;
Title: 3D Graphics Consultant;
Affiliation: Skew Matrix Software LLC;
Biography: Paul is author of the books
OpenSceneGraph Quick Start Guide? and OpenGL Distilled. He has been involved in the computer graphics industry since 1986, and has worked with OpenSceneGraph since 2004. Past employers include Evans & Sutherland and Hewlett Packard. Presently, Paul provides consulting, training, and technical writing services to the 3D graphics industry.

Name: Robert Osfield;
Email: robert@…;
Affiliation: OpenSceneGraph Professional Services;
Biography: Robert has been the project lead of OpenSceneGraph since 1999, overseeing the project's community's growth from just 2 engineers to over 1500. He has worked in the computer graphics industry since 1992, developing 3D visualization and modeling applications in C++, Iris GL, and OpenGL for virtual reality research and the oil and gas sector. In 2001, Robert started OpenSceneGraph Professional Services to provide consultancy, training, and support on top of OpenSceneGraph.