Ultra-portable, high performance, open source multimedia framework.
Clone or download
RobDangerous Merge pull request #898 from luboslenco/imgfix
Handle L8 format when creating WebGL image
Latest commit e898919 Oct 16, 2018


Build Status Build status


Kha is a low level sdk for building games and media applications in a portable way. Think SDL, but super-charged. Based on the Haxe programming language and the krafix shader-compiler it can cross-compile your code and optimize your assets for even the most obscure systems. Kha is so portable, it can in fact run on top of other game engines and its generational graphics and audio api design gets the best out of every target, supporting super fast 2D graphics just as well as high end 3D graphics. Also, Kha probably added a new target while you were reading this text.



  • Great performance on each platform.
  • Generational graphical/audio API design.
  • Hardware accelerated 2D and high-end 3D graphics. Fallback support (i.e. html5 canvas).
  • Can run on top of other game engines (i.e. Unity3D).
  • Write shaders in GLSL and cross-compile to target specific shaders.
  • Kha apps can also be compiled to C# or Java libraries
  • Flexible and robust backend system. Adding your own takes little effort and is straight forward.
  • One API for all platforms!
  • Support for VR technology (W.I.P).
  • Networking multiplayer support (W.I.P).
  • Dedicated IDE : Kode Studio.

Supported platforms

  • HTML5 (WebGL 2, WebGL and canvas)
  • Windows (Direct3D 12, Direct3D 11, Direct3D 9, Vulkan or OpenGL)
  • Universal Windows Platform (Direct3D 12 or Direct3D 11)
  • macOS (Metal or OpenGL)
  • Linux (Vulkan or OpenGL)
  • Android (via C++ or via Java)
  • iOS (Metal or OpenGL)
  • tvOS
  • Raspberry Pi
  • PlayStation 4
  • Xbox One
  • Nintendo Switch
  • Tizen
  • Flash
  • Unity 3D
  • Node.js (for automatically created server versions)
  • Java and AWT
  • C# and Windows Presentation Foundation