A collection of C++ libraries and tools for games and applications.
C++ Lua Other
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
dep
doc
lib
scripts
support/togo/support
tool
.gitignore
LICENSE
README.md
build.lua
premake4.lua
togo.sublime-project

README.md

What be it?

togo is a collection of libraries with simplicity and rapid iteration at heart.

Components

Library: core

Core library. All other libraries depend on it.

Library: image

Imaging library.

Library: window

Windowing library.

Dependencies:

  1. glad
  2. Backend (one of):
    1. SDL >= 2.0.3 (OpenGL, raster)
    2. GLFW >= 3.0.4 (OpenGL)
  3. With raster backends:
    1. lib/image

Library: game

Game engine.

This library takes significant inspiration from bitsquid (now Stingray), who have written about their design in great detail.

Dependencies:

  1. lib/window (requires OpenGL backend)

Tool: res_build

Resource package compiler for the game library. Interface is available as a static library for extension and automation.

Dependencies:

  1. lib/game

Platforms

togo is developed under Linux and currently only supports Linux. Its primary interface implementations utilize POSIX and the C Standard Library (by way of the C++ Standard Library, of which only little is used).

Building

togo libraries are compiled static libraries (by default).

All features support Clang 3.5+ with libc++ (roughly at SVN head) on Ubuntu 14.04 x86_64. GCC and libstdc++ might work, but they are untested.

Interface headers are generated by igen, which requires Python 2.x, Mako, and cindex.py (libclang wrapper).

Inclusions are sorted with include_sort (see scripts/include_sort), but it is not required to build togo.

See dep/README.md for dependency setup. Components can then be built using my standard project protocol.

The only difference from the project protocol is scripts/premake in place of Premake, which enforces recipe order to allow the use of GNU Make's --jobs.

Build configuration:

  • --togo-test

    Enable test mode.

  • --togo-window-backend=sdl | glfw

    Set window backend. See lib/window above for the dependencies required.

License

togo carries the MIT license, which can be found in the LICENSE file.