Project

General

Profile

Feature #4067

Effect compositor

Added by scrawl . 17 days ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
Rendering
Target version:
-
Start date:
09/02/2017
% Done:

0%

Severity:
Normal

Description

As suggested on https://forum.openmw.org/viewtopic.php?f=6&t=4425, by using the 'effectcompositor' library we can provide a way for modders to write screen-space effects (HDR, SSAO etc) much like MGE allows.

The remaining problems with the initial attempt are:

1. Chaining effects

Since people will commonly want to use more than one effect, we need a way to chain them together, which does not appear to be working at present. Possible solutions to this:

a) figure out why chaining by way of a node hierarchy does not work, and fix it

or b) write a function that merges two EffectCompositors into one EffectCompositor, linking the final output of the first compositor into the scene input of the second one.

2. Uniform updates

The way shader uniforms are being updated in the EffectCompositor appears to have a threading bug (see https://wiki.openmw.org/index.php?title=Rendering_Architecture#Threading_considerations). This could be solved with a double buffering implementation. Ideally just the StateSets/Uniforms would be double buffered, but as an intermediate (easier) solution we can just double everything (including textures)

3. Documentation

Write some cool example effects. Document the XML format in our documentation.

Also available in: Atom PDF