Version 16 (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 PostProcessingUnitOut? or used as a texture for other cool things.

Currently the osgPPU is in beta phase. So 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 PostProcessUnitOutCapture? to capture frames in upto 4096x4096 resolution (or 8192x8192 on G80 GPUs)
  • Example application describes how to implement HDR Rendering with osgPPU
  • An example application showing Depth Of Field emulation is in development...
  • An example application showing Deferred Lighting with osgPPU is in development...

In order to be able to compile the osgPPU you need the latest version of  OpenSceneGraph.
In order to use osgPPU you require at least a GPU supporting frame buffer objects and shader programs. I would also recommend to have a GPU supporting 16Bit floating textures.


  • Shader Model 3.0 and higher GPUs (well tested on nVidia, no idea about ATI)
  • OpenSceneGraph? 2.x


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

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.


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.