Login  Register

Re: Graph Type Rendering Updates (Graph UI)

Posted by Sven Gothel on Aug 27, 2023; 12:39pm
URL: https://forum.jogamp.org/Graph-Type-Rendering-Updates-Graph-UI-tp4042173p4042910.html

.. and a little over the weekend animation work done

main commit https://jogamp.org/cgit/jogl.git/commit/?id=4448010d8d787c73d48f54b296c3a8c2499aeaa0
GraphUI: Extract generalized AnimGroup functionality from UISceneDemo03*, providing sets of animated Shapes (GlyphShape or any other)
Hardcoding the whole animation process into user code is not feasible to allow a quick add-on.

GraphUI's new AnimGroup is a Group and allows to add multiple AnimGroup.Set of AnimGroup.ShapeData.

+++

AnimGroup.ShapeData holds the actual Shape and its start- and target position
as well as its active animation state and an optional user object attachment.

AnimGroup.Set holds a list of AnimGroup.ShapeData as well as the animation properties
and states like acceleration and velocity for translation and angular operations.
It also contains the AnimGroup.LerpFunc for linear interpolation of the next position
as called via AnimGroup.tick() over all sets.

AnimGroup.LerpFunc is intended to perform the linear interpolation for the next position,
either user provided or one of the provided may be used, i.e. TargetLerp, ScrollLerp and SineLerp.

To setup the start- and target position for each AnimGroup.ShapeData,
a AnimGroup.ShapeSetup is used - user implementated or one of the build-in
of AnimGroup.addGlyphSetHorizScroll01(..), AnimGroup.assGlyphSetRandom01(..).

+++

UISceneDemo03 consolidated UISceneDemo03 + UISceneDemo03b (deleted)
and shows the following AnimGroup capabilities:

- Two repetitive scrolling text lines. One text shorter than the line-width and one longer.

- One line of animated rectangles, rotating around their z-axis

- A text animation assembling one line of text,
  each glyph coming from from a random 3D point moving to its destination all at once including rotation.

- One line of text with sine wave animation
Screenshots .. well, will followup with a video + blog as still images can't tell the story I guess ;-)
- https://jausoft.com/blog/wp-content/uploads/2023/08/UISceneDemo03-vbaa-s04-fsaa0-snap03-1280x0720-1.png
- https://jausoft.com/blog/wp-content/uploads/2023/08/UISceneDemo03-vbaa-s04-fsaa0-snap05-1280x0720-1.png