Skip to content
Robert Konrad edited this page Jun 3, 2013 · 19 revisions

Kore is a low level game api and hardware abstraction library and aims at being a modern and fully 3D capable alternative to SDL.

Download the preview version or clone our code right here at github.

Aims

Minimal platform disparity

Other than being written in C++ Kore provides complete hardware abstraction without being dependent on any standards like OpenGL, which work in slightly different ways on different systems (OpenGL vs OpenGL ES vs WebGL, ...) or are not available at all (fresh Windows installs, consoles,...). Sound is mixed in software, circumventing any delicate differences in Audio API implementations (almost all of today's systems in the end mix sound in software anyway).

Minimal design

Kore is a tiny library that focuses purely on providing the necessary functionality to develop games and multimedia applications without worrying about the details of any particular target system. It is not a game engine, but it is a great starting point for building a game engine or making existing engines/frameworks/sdks/... platform independent.

Maximum performance

Kore interfaces with hardware and operating systems at the lowest possible level. Graphics are implemented using the system's native 3D API. Thanks to Kore's minimal design as little as possible stands between you and your hardware.

Maximum compatibility

Kore applications not only run on a lot of systems but also run conveniently on as many specific configurations as possible. The graphics interface is purely shader based, which currently rules out very old systems (which is planned to be addressed by providing multiple graphics interfaces). Android compatibility goes back to version 2.2. by interfacing with Java for APIs which were not provided natively in earlier Android versions. Kore does not depend on any libraries which are not an inherent part of the target systems. The Windows target also does not depend on D3DX, contrary to even most commercial games (shaders for Direct3D are instead compiled to a custom binary format).

Included Tools

kfx

kfx is the ANGLE based shader compiler used for Kore applications. It compiles GLSL to binary HLSL shaders or to more specific versions of GLSL.

kake

kake is a small build system, similar to premake or cmake. It's perfectly fine to use Kore with other build systems, kake is just a little smaller and a little more convenient by specializing on Kore applications.

Users

  • Kha - Kore is the base for all native platform targets in Kha.

Systems

  • Windows
  • Linux
  • OS X
  • Android
  • iOS
  • WindowsRT
  • HTML5 (using Emscripten)
  • Console backends have been developed at KTX, but can not be open sourced due to licensing restrictions.

License

Kore and kake are available under the zlib license. kfx is available under the same license as ANGLE (BSD like).

Clone this wiki locally