-
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
TScreenEffectNode
. -
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. trivialTCastleImageControl
or complicatedTCastleSceneManager
.For the special case when using with TCastleAbstractViewport (
TCastleSceneManager
,TCastleViewport
), it is even easier, asTCastleAbstractViewport
now descends fromTCastleScreenEffects
, and exposesAddScreenEffect
method immediately. -
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.
New Screen Effects API and Demo, Text Node Optimizations, Multi-texture Modes Fixes