SoPostEffectRenderer

InventorModule
author MeVis Medical Solutions AG
package MeVisLab/Standard
dll SoRenderers
definition SoRenderers.def

Purpose

Introduction

The SoPostEffectRenderer module is the main renderer for the screen-space post-processing framework (see GLSL Post-Processing Effect Framework).

It collects all effects that are placed into the scene in front of it and renders them from left to right.

Buffers

All buffers that are created live inside this module, not inside of the effects. Buffers that are unused after re-rendering are automatically removed.

Buffers are identified by their name. Default buffers generated by the SoPostEffectMainGeometry module are:

  • colorBuffer: the main RGBA color buffer
  • depthBuffer: the main depth buffer
  • normalBuffer: the normal buffer, encoded into RGB, only when requested by an effect
  • emissiveBuffer: the emissive buffer, containing un-lit emissive colors for glow effects

Additional buffers are generated by the various effect modules, have a look at the GLSL Post-Processing Effect Framework for a list of modules.

The SoPostEffectRenderer itself just renders the resulting buffers named “colorBuffer” and “depthBuffer” to the default Open Inventor framebuffer.

Super Sampling

This module provides super sampling by rendering to buffers that are a multiple of the main framebuffer. Super-sampling requires a large amount of memory and performance (basically the super-sampling factor squared, so supersampling 2x2 means factor 4 larger buffers and processing time). Currently super-sampling does not adjust line width and filter sized of the various effects, so lines/edges will get thinner. In the future we might provide an option to automatically adjust this when super-sampling is turned on.

Consider using SoPostEffectAntiAliasing instead of super sampling.

Parameter Fields

Field Index

Color Precision: Enum Super Sampling: Enum
Debug Buffer Name: String  
Debug Buffers: Bool  
Debug Pixels: Bool  
Debug Profiling: Bool  
Debug Temp Buffers: Bool  
Enable Stencil Buffers: Bool  
resetBuffers: Trigger  

Visible Fields

Debug Buffers

name: debugBuffers, type: Bool, default: FALSE

If enabled, all currently existing buffers are rendered. The top shows RGB, while the bottom shows the alpha channel.

Debug Temp Buffers

name: debugTempBuffers, type: Bool, default: FALSE

Debug Profiling

name: debugProfiling, type: Bool, default: FALSE

Debug Pixels

name: debugPixels, type: Bool, default: FALSE

Debug Buffer Name

name: debugBufferName, type: String

Enable Stencil Buffers

name: enableStencilBuffers, type: Bool, default: TRUE

Enables stencil buffers in all depth buffers (using depth+stencil textures).

Super Sampling

name: superSampling, type: Enum, default: SuperSampling_Off

Chooses the super sampling factor (consider using SoPostEffectAntiAliasing instead).

Values:

Title Name Description
Off SuperSampling_Off Off be default, no super sampling is done.
2x2 SuperSampling_2x2 Super sample by factor 2.
3x3 SuperSampling_3x3 Super-sample by factor 3.
4x4 SuperSampling_4x4 Super-sample by factor 4.

Color Precision

name: colorPrecision, type: Enum, default: Int8

Values:

Title Name
Int8 Int8
Float16 Float16
Float32 Float32

Hidden Fields

resetBuffers

name: resetBuffers, type: Trigger