Version 36 (modified by art, 13 years ago) (diff)


Welcome to the osgPPU webpage

osgPPU is a library to use with  OpenSceneGraph. It provides you with a graph based specification of a computation pipeline which is based on so called PostProcessingUnits (PPUs). Each ppu does render a screen aligned quad in a frame buffer object. During the rendering a shader can be applied. The results (there could be many per one pass) are passed to the next ppu in the graph. The outcoming result of the pipeline can either be shown on the screen by using UnitOut? or used as a texture for other cool things.

I would be very appreciated on every input, like: critics, suggestions, patches etc.


  • Very usefull also for GPGPU (general purpose GPU) computations
  • Supports multiple rendering targets (MRT) as output of ppu
  • Supports multiple inputs to a ppu
  • Supports out of the pipeline texture inputs to a ppu
  • Mipmapping supported
  • Use UnitOutCapture? to capture frames in upto 4096x4096 resolution (or 8192x8192 on G80 GPUs)
  • Use osgdb_ppu Plugin to load and to store the pipeline from and to the file
  • Example application describes how to implement state of the art effects like HDR Rendering or DepthOfField? with osgPPU
  • A lot of example pipelines (hdr, dof, motionblur, ...) are provided as .ppu files


  • At least OpenGL 1.5 (support for FBOs and Shader programs is required)
  • Shader Model 3.0 and higher GPUs (well tested on nVidia, no idea about ATI)
  •  OpenSceneGraph 2.2 and higher


There exists a doxygen of the complete source code. You can find it  here

Presentation Slides

A first time osgPPU was presented as a part of a project at the  OpenSceneGraph BOF at Siggraph 2007 in San Diego, USA. You can download the presentation slides from  here. During the  User Meeting in Paris, France at April 2008, I have presented new interface of osgPPU. The presentation slides can be downloaded from  here.


To get the latest revision of the source use following command:

svn co svn:// osgPPU

There is currently no stable release. Please use the source from the svn.

To get the latest developer release checkout with the following command:

svn co svn:// osgPPU-0.1


28th, April 2008 I gave a small presentation about me and the osgPPU during the OSG User Meeting in Paris, France.  Here you can find some fotos of that event. The presentation slides can be downloaded from  here.
22th, April 2008 Check out the current trunk branch to get the newest version of osgPPU. There is now more intuitive interface provided which enables you to include the ppu pipeline directly into the scene graph. The writing and reading of .ppu files works now also perfectly.
27th, March 2008 After some developing and testing time the first developer release of the osgPPU is now done. Checkout it from the svn or download it from the download section, to get into the world of osgPPU ;-)
29th, January 2008 New osgdb_ppu plugin is capable of storing and loading of osgPPU Pipelines from files. Currently the plugin is in the test phase and do not work very well for highly complex pipelines. New example application was added to allow viewing of stored pipelines (e.g. "./viewer Data/blur.ppu" will use the blur pipeline to blur your input). Just take a look.
19th, January 2008 osgPPU does now compiles under Windows. Thank to Stephane Lamoliatte for providing a proper CMake build system to the osgPPU project. Currently osgPPU is under heavy development and there is less time left before first developer release (pre stable release). To accomplish this mission some more test on different platforms and in different applications are required.