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 unlit 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 (essentially the super-sampling factor squared, so super-sampling 2x2 means buffers and processing time that are four times larger). Currently, super-sampling does not adjust line width and filter sizes of the various effects, so lines and edges will become thinner. In the future, we may provide an option to automatically adjust this when super-sampling is enabled.

Consider using the module SoPostEffectAntiAliasing instead of using 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 checked, 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

If checked, stencil buffers in all depth buffers (using depth and stencil textures) are enabled.

Super Sampling

name: superSampling, type: Enum, default: SuperSampling_Off

Defines the super-sampling factor (consider using SoPostEffectAntiAliasing instead).

Values:

Title Name Description
Off SuperSampling_Off Off by default; no super-sampling is performed.
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