Skip to content

danoli3/ofxImAnim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ofxImAnim

ofxaddons_thumbnail

License

ImAnimDemo_Hero_1 0 0

openFrameworks wrapper addon for ImAnim — a lightweight, zero-dependency animation engine for Dear ImGui.

ImAnim brings modern, buttery-smooth UI animations (tweens, timeline clips, paths, procedural effects, color blending, etc.) to ImGui while staying true to its immediate-mode philosophy. ofxImAnim makes it dead-simple to use all of that power inside openFrameworks (together with ofxImGui).

Example

ofxImAnim


Features

  • Animate float, ImVec2, ImVec4, int, and ImColor properties
  • Timeline Clips with keyframes, looping, staggering, chaining and callbacks
  • 30+ easing functions (springs, bounce, cubic-bezier, steps, etc.) + per-axis control
  • Bézier curves, Catmull-Rom splines, motion paths and text-along-path
  • Procedural animations (Perlin/Simplex noise, oscillators, shake, wiggle)
  • Perceptual color blending (OKLAB / OKLCH)
  • Transform animations (position, rotation, scale)
  • Built-in debug inspector, profiler, save/load and memory tools

Installation

  1. Clone or download this repository into your openFrameworks/addons/ folder (or use the Project Generator).
  2. Add ofxImAnim (and its dependency ofxImGui) to your project.
  3. Make sure you have a working ImGui integration (recommended: ofxImGui).

Dependencies

  • ofxImGui (or any compatible Dear ImGui addon)

  • Embedded Version


Quick Usage

After ImGui::NewFrame() in your ofApp::draw():

// Update animation engine
iam_update_begin_frame();
iam_clip_update(ImGui::GetIO().DeltaTime);

// Your ImGui code with animations...
if (ImGui::Button("Animate Me")) {
    // example tween (see original ImAnim for full API)
    iam_tween_float("myValue", 0.0f, 1.0f, 0.6f, IAM_EASE_OUT_BOUNCE);
}

// After ImGui rendering
iam_clip_update(); // (or call once per frame as shown above)


Animated Tag
ImAnimDemo_a1h8amHeJp
Ripple Button
ImAnimDemo_XVoOtKSf3G
"Wait" Button
ImAnimDemo_2RPgqEAHHm
Data Visualization
ImAnimDemo_VnmpjDbMZh
ImAnimDemo_zI6R85WazP

Showcase

Visual examples of ImAnim capabilities in action.

Stagger Animations

List Stagger Grid Stagger Card Stagger
List Grid Cards

Easing & Curves

Easing Gallery Custom Bezier Wave Animations
Easing Bezier Waves

Colors & Transforms

Color Blending Gradient Transforms
Color Gradient Transform

Paths & Text

Motion Path Text Effects Variations
Path Text Variations

Procedural & Integration

Noise ImGui Widgets ImDrawList
Noise ImGui DrawList

Additional Examples

Oscillator Waves Transform Layers
Waves2 Transform2

About

openFrameworks wrapper addon for @soufianekhiat/ImAnim

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages