An emissive surface is a surface
that appears to emit light. The io7m-r1
package offers emission as a visual effect implemented as a filter. An optional
glow effect is provided to allow emissive
surfaces to appear to have a configurable
aura.
The emission effect is obviously not physically accurate - surfaces do not
really emit light. The user is expected to make intelligent use of the
standard light types to provide
lighting, and to use the emission effect to complement them.
The plain emission effect without glow is
implemented as trivially as possible by sampling the
emission
value from a rendered scene's g-buffer,
multiplying it by the albedo color and then
simply adding the result to the current pixel color.
The emission effect with glow is implemented
similarly, except that the albedo * emission
term is stored in a separate image, and that image is blurred with a configurable
box blur before being additively blended over the
original scene. Higher levels of blurring can give the impression of a dusty
atmosphere.