New class TCastleScreenEffects offers easier, and at the same time more flexible API to control screen effects.
It has a simple AddScreenEffect method that takes X3D node graph with
New demo showing screen effects is in examples/screen_effects_demo.
The screen effects can now be applied over any other UI control output (placed as children of
TCastleScreenEffects). E.g. trivial
For the special case when using with TCastleAbstractViewport (
TCastleViewport), it is even easier, as
TCastleAbstractViewportnow descends from
TCastleScreenEffects, and exposes
We have also added new (float-based) GLSL functions available for screen effects authors. The documentation how to create screen effects shader code is here.
An important optimization of Text node memory usage. Previously a scene with many Text nodes could really eat a lot of memory.
BLEND*multi-texture modes fixed, and many multi-texture modes that can work only on RGB/alpha channels implemented in the shader pipeline. The specification of all supported multi-texturing modes is here.