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