Skip to content

davejrichardson/ion

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ion

Ion is a portable suite of libraries and tools for building client applications, especially graphical ones. It is small, fast, robust, and is cross-platform across many platforms and devices, including desktops, mobile devices, browsers, and other embedded platforms.

For more details and a fair amount of documentation see https://google.github.io/ion.

Why Use Ion?

  • Small: < 500k binary size on mobile platforms, often much smaller
  • Powerful: Tools for faster productivity when developing applications
    • Robust, portable application infrastructure aids in:
    • Object lifetime management
    • Memory allocation
    • Application start-up and static instances
    • Threading
    • Run-time setting editing
    • Automatic performance instrumentation
    • More!
  • Tools for graphics:
    • Analyze graphics scenes to find performance bottleneck
    • Trace all OpenGL calls and examine their arguments
    • Use scene resources in multiple contexts, automatically
    • Run-time graphics state introspection
    • Run-time shader editing: change your shaders and immediately see the results
  • Fast graphics: Minimal overhead between your application and OpenGL / ES
  • Tested: Well-tested and facilitates testing your application
    • ~100% test coverage
    • Black- and white-box tested, unit tests and integration tests
    • Mock implementation of OpenGL API allows direct renderer unit tests and validation
    • Integrated Remote: extensible API allows changing arbitrary application settings on-the-fly for faster development, testing, and debugging
  • Cross-platform:
    • Desktop: Linux, Mac OSX, Windows (OpenGL)
    • Handheld: Android (ARM, x86 MIPS), iOS (ARM and x86), and their 64-bit variants
    • Browser: Emscripten/asm.js, NaCl / pNaCl
  • Cross-functional
    • Used by many teams across Google, running on billions of devices through multiple Google products

NOTE: This is not an official Google product.

Releases

No releases published

Packages

No packages published

Languages

  • C++ 90.3%
  • Python 4.5%
  • C 2.9%
  • Objective-C++ 0.9%
  • JavaScript 0.5%
  • GLSL 0.4%
  • Other 0.5%