Skip to content
Sven Nilsen edited this page Dec 23, 2016 · 1 revision

This list is intended to be a rough reference of the features we provide in the Piston libraries:

  • Game loop, implemented as iterator, which makes it possible to use one function per scene/mini game/dialogue
  • Back-end agnostic, extensible, generic event programming (can be implemented on top of other libraries)
  • AI behavior trees that transforms a declarative parallel processing event logic into a state machine (sounds scary, but simple to use)
  • Back-end agnostic, fast 2D graphics triangulation for simple shapes
  • Integration with OpenGL/Gfx/SDL2/GLFW/Glutin/Glium
  • Immediate mode UI (Conrod), getting new features every week
  • Image formats and processing PNG/JPEG/GIF and other formats
  • Sprite scenes and animations
  • Digital sound processing (developed under RustAudio organization)
  • Font rendering with FreeType
  • Vector math library with both row and column major matrices
  • Quaternion math library
  • Dual quaternion math library
  • Shader version library for OpenGL
  • Deform images in realtime
  • Pre-process triangulation in graphics tree (2D)
  • Visual Studio plugin for Rust
  • 3D camera and view/model/perspective setup
  • First person camera controller
  • Wavefront OBJ loader for 3D geometry
  • Collada 3D format
  • Skeleton animation blending
  • Mouse/keyboard data structure (to be used in other libraries)
  • FPS counter
  • Texture packer
  • Meta parsing (a language for parsing text documents, can be used in data driven and language design)
  • Dyon scripting (a rusty dynamically typed language that needs no garbage collector)
  • Mix economy (an algorithm that regulates inequality measured by Gini coefficient for virtual economies)
Clone this wiki locally