Gondwana Game Engine
Gondwana is a cross-platform 2.5D game and rendering engine written in C#/.NET 8. It provides fine-grained control over rendering, timing, and scene composition, with built-in support for parallax, z-ordering, pixel overhang, collision detection, and particle effects. Gondwana targets desktop, mobile, and web platforms using SkiaSharp for graphics and NAudio for sound.
Loading...
Searching...
No Matches
Gondwana.Movement.Easing Namespace Reference

Classes

class  EasingFunctions
 Common easing functions for scripted/tweened movement. Each function expects t in [0,1] and returns a value in [0,1].

Enumerations

enum  EasingKind {
  Linear , EaseInQuad , EaseOutQuad , EaseInOutQuad ,
  EaseInCubic , EaseOutCubic , EaseInOutCubic , EaseInQuart ,
  EaseOutQuart , EaseInOutQuart , EaseInQuint , EaseOutQuint ,
  EaseInOutQuint , SmoothStep , SmootherStep
}
 Enumeration of all supported easing functions for animation and movement interpolation. Each easing function expects a normalized time value t ∈ [0,1] and returns a smoothed progression value ∈ [0,1]. Use with EasingFunctions.From to obtain the corresponding easing function delegate. More...

Enumeration Type Documentation

◆ EasingKind

Enumeration of all supported easing functions for animation and movement interpolation. Each easing function expects a normalized time value t ∈ [0,1] and returns a smoothed progression value ∈ [0,1]. Use with EasingFunctions.From to obtain the corresponding easing function delegate.

Enumerator
Linear 

Linear easing with constant velocity throughout the transition. No acceleration or deceleration is applied; the output equals the input. Formula: f(t) = t.

EaseInQuad 

Quadratic ease-in curve that starts slowly and gradually accelerates. Creates a gentle acceleration effect suitable for subtle animations. Formula: f(t) = t²

EaseOutQuad 

Quadratic ease-out curve that starts quickly and gradually decelerates. Creates a gentle deceleration effect as the animation approaches completion. Formula: f(t) = t(2 - t)

EaseInOutQuad 

Quadratic ease-in/out curve with slow start and end, faster movement in the middle. Provides smooth acceleration and deceleration for balanced animations. Combines ease-in for the first half and ease-out for the second half.

EaseInCubic 

Cubic ease-in curve that starts very slowly with strong acceleration toward the end. More pronounced than quadratic easing; ideal for dramatic entrances. Formula: f(t) = t³

EaseOutCubic 

Cubic ease-out curve that starts quickly with strong deceleration toward the end. More pronounced than quadratic easing; ideal for dramatic stops. Formula: f(t) = (t-1)³ + 1.

EaseInOutCubic 

Cubic ease-in/out curve with gentle start and finish, smooth transition through the center. Provides more pronounced easing than quadratic while maintaining smoothness. Well-suited for natural-feeling object movements.

EaseInQuart 

Quartic ease-in curve with very slow start and steep acceleration. Creates a heavy, cinematic feel with dramatic acceleration buildup. Formula: f(t) = t⁴

EaseOutQuart 

Quartic ease-out curve with fast start and steep deceleration. Creates a heavy, cinematic feel with dramatic deceleration to rest. Formula: f(t) = 1 - (t-1)⁴

EaseInOutQuart 

Quartic ease-in/out curve with balanced acceleration and deceleration. Heavy easing at both ends creates a cinematic, weighty motion feel. Ideal for important UI transitions or camera movements.

EaseInQuint 

Quintic ease-in curve with extremely slow start and powerful acceleration. The strongest ease-in; barely moves at the beginning before accelerating dramatically. Formula: f(t) = t⁵

EaseOutQuint 

Quintic ease-out curve with very fast start and strong deceleration. The strongest ease-out; rockets forward then settles gradually to rest. Formula: f(t) = (t-1)⁵ + 1.

EaseInOutQuint 

Quintic ease-in/out curve providing the smoothest easing with nearly flat velocity at the midpoint. Maximal easing at both ends creates extremely smooth, natural-feeling motion. Best for long, flowing animations requiring the most gradual transitions.

SmoothStep 

Hermite smoothstep interpolation with smooth edges and continuous first derivative (C¹). Provides gentle ease-in and ease-out with zero velocity at endpoints. Formula: f(t) = 3t² - 2t³ Commonly used in procedural generation and shader programming.

SmootherStep 

Ken Perlin's improved smootherstep interpolation with gentler transitions and continuous second derivative (C²). Even smoother than SmoothStep with flatter velocity curve at the center. Formula: f(t) = 6t⁵ - 15t⁴ + 10t³ Preferred for high-quality interpolation where smoothness is critical.