About Algan

Algan (ALGorithmic ANimation) is a Python library for making 2-D and 3-D animations. Algan is inspired by Manim, and aims to keep the same ease of use, while providing a full-fledged GPU-oriented raytraced renderer for complex moving 3-D scenes and realistic lighting.

Key capabilities include:

  • Lazy animation recording. Algan separates scene authoring from rendering, meaning that a scene can be authored once and rendered many times, and scenes can be authored out of animation order.

  • Composable animation contexts. Seq, Sync, Lag, and Off are context wrappers which automatically compose with eachother, meaning animation code can be written without thinking about how it will be used in a video. This promotes writing modular and reusable animation code.

  • 2-D and 3-D geometry. Native cubic-Bezier shapes, text and TeX, triangle surfaces, point clouds, imported 3D asset models, and compatible Manim vector objects are handled natively.

  • Physically based rendering. Materials, fragment shading, lighting, shadows, reflection/refraction, and ray-tracing paths are supported. Custom fragment shading and scattering can be written as Taichi functions.

  • Synchronized audio. Audio and speech contexts are recorded on the same Scene timeline as visual animation, making it easy to line up animations with voice-over narration.

First Steps

Getting Help

  • For individual classes, methods, and functions, check the reference manual or use the documentation search.

  • Found a bug or have a suggestion? Open an issue on our GitHub issue tracker.

  • Join our Discord server to chat with the developers and fellow Algan users.

Documentation Index