C++ Game Engine

Levitate is a game engine.

Built for speed.

The engine is designed around doing as little as possible to get as far as it can. This allows the engine to perform extremely well in many situations.

Elegancy.

Clean and readable code is at the highest priority, namespaces are organised aptly to not make a mess of your application.

Simple design language.

The engine offers an easy way into game development closer to the core, you have full control of what is rendered with not much difficulty.

Easy implementation.

From creating a simple game to writing complex rendering pipelines, the engine allows you to go in at any difficulty.

Code Snippet.

Quick Start

This code snippet demonstrates all you need to get started, it creates a display, enters a game loop, polls for events every frame and can render thereafter.

#include <Levitate.h>

int main() {
  Render::Display display;
  if (display.init() != 0) return 1;

  bool run = true;
  while (run) {
    Input::IL_Event e;
    while (Input::IL_PollEvent(&e, &display)) {
      if (e.type == Input::IL_QUIT) run = false;
    }

    Render::GL::Clear(&display);
    // draw
    Render::GL::SwapBuffers(&display);
  }

  display.destroy();
  return 0;
}