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
VfxEffectconstrains its internal width and height on#resize(int, int).
Max side size of the internal buffers is now limited to theVfxEffect#MAX_FRAME_BUFFER_SIDEconstant 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. -
VfxManagerno 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.
-
VfxEffecthas got#update(float)method to update time based values. You should callVfxManager#update(float)every frame in order to update the effects. -
VfxEffectno 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
VfxManagerchaining render (read below). -
Any effect that wants to participate in
VfxManager's effects chain, should implementChainVfxEffectinterface. A good example of a non-chain effect isCopyEffectorMixEffect, they are more like utility effect units, provide specific render capabilities and can take part in complex effect pipelines (e.g.CompositeVfxEffect). -
NoiseEffectwas removed due to similarities withFilmGrainEffect. -
PingPongBufferreplaced withVfxPingPongWrapperwhich is a lightweight version and doesn't manage its own pair ofVfxFrameBuffer, but instead works only with the provided instances.
VfxPingPongWrappercan be integrated withVfxFrameBufferPool. -
VfxFrameBufferPooladded. It acts like a regular LibGDXPool, but with a twist... It manages the lifecycle of all the createdVfxFrameBufferinstances internally. -
VfxWidgetGroupis 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. -
IntegerRoundFillContainerwas removed asVfxWidgetGroupsupersets its functionality.