Releases: crashinvaders/gdx-vfx
0.5.4
0.5.3
0.5.2
0.5.1
It's been a while since the last beta release (0.5.0), and there were a few goodies dangling around in the 0.5.1-SNAPSHOT
.
It sounds like it's a good time to roll them out along with the libGDX 1.11.0 version support, so all ya good folks could drop that nasty "-SNAPSHOT" from the dependency version 😉
PS: The project is not under active development at the moment (the end of 2022).
What's new:
- libGDX version is updated to 1.11.0
VfxEffect
constrains its internal width and height on#resize(int, int)
.
Max side size of the internal buffers is now limited to theVfxEffect#MAX_FRAME_BUFFER_SIDE
constant value which is 8192 by default.
Feel free to change it according to your project requirements.
0.5.0
This release brings a lot of breaking changes. The wiki documentation is updated accordingly. If you're migrating from the old version, please consider reading the list below.
-
GWT module launcher no longer should make a call to
GwtVfxGlExtension#initialize()
.
Please revisit GWT integration guide on the wiki page. -
VfxManager#render()
method was broken down into separate stages (methods):-
VfxManager#applyEffects()
applies the effect chain to the captured result. -
VfxManager#renderToScreen()
/VfxManager#renderToFbo()
methods are now responsible for rendering the result.
You also have an option to retrieve the current result usingVfxManager#getResultBuffer()
and perform custom drawing (e.g. render buffer's texture usingSpriteBatch
).
-
-
VfxManager
's#beginCapture()
/#endCapture()
have been renamed to#beginInputCapture()
/#endInputCapture()
. -
As an alternative to
#beginSceneCapture()
/#endSceneCapture()
,
an input texture/buffer may be supplied throughVfxManager#useAsInput()
methods. -
VfxManager
no longer cleans up the buffers when begin input capture.
You should make an explicit call toVfxManager#cleanUpBuffers()
in order to reset previous result before start capturing/providing a new frame. -
Filters/effects cleanup. Some getters/setters were renamed.
-
VfxEffect
has got#update(float)
method to update time based values. You should callVfxManager#update(float)
every frame in order to update the effects. -
VfxEffect
no longer has anyrender()
related methods, it's now just a base interface that's declares the most essential lifecycle methods (likeresize()
,rebind()
,dispose()
, etc). -
The concept of Filters was eliminated, there are only Effects now. Although not every effect is made for
VfxManager
chaining render (read below). -
Any effect that wants to participate in
VfxManager
's effects chain, should implementChainVfxEffect
interface. A good example of a non-chain effect isCopyEffect
orMixEffect
, they are more like utility effect units, provide specific render capabilities and can take part in complex effect pipelines (e.g.CompositeVfxEffect
). -
NoiseEffect
was removed due to similarities withFilmGrainEffect
. -
PingPongBuffer
replaced withVfxPingPongWrapper
which is a lightweight version and doesn't manage its own pair ofVfxFrameBuffer
, but instead works only with the provided instances.
VfxPingPongWrapper
can be integrated withVfxFrameBufferPool
. -
VfxFrameBufferPool
added. It acts like a regular LibGDXPool
, but with a twist... It manages the lifecycle of all the createdVfxFrameBuffer
instances internally. -
VfxWidgetGroup
is now fully compatible with transform enabled parent/child actors (check out web demo). -
VfxWidgetGroup
's internal frame buffer may be configured to resize to widget's size or to match real screen PPU. -
IntegerRoundFillContainer
was removed asVfxWidgetGroup
supersets its functionality.