This repository has been archived by the owner. It is now read-only.
A simple game engine
C++ Other
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
build Dots. May 6, 2015
deps Dots. May 6, 2015
docs Dots. May 6, 2015
include Dots. May 6, 2015
src Dots. May 6, 2015
.gitignore Started using global gitignore. Nov 22, 2011
CMakeLists.txt Dots. May 6, 2015
COPYING.txt Dots. May 6, 2015
TODO.txt Updated TODO. Jul 13, 2014

Nori library


Nori is a small and still incomplete game engine written for my own use.

Unlike most of my projects, I write Nori primarily for own use, so while other people may find it useful, it comes with no support and far too little documentation. Its API may also change at any time.

If you like Nori and would like to use it for your game, you should instead most likely use gameplay, which is eerily similar, more complete and actually supported.

Nori currently lives on GitHub.

License and copyright

Copyright © Camilla Löwy Berglund

Some parts are Copyright © Tapio Vierros

Nori is licensed under the zlib/libpng license, which can be found in the COPYING.txt file. The license is also included at the top of each source file.

Nori comes bundled with a number of dependencies, each with its own license. See their respective libs/*/COPYING.txt files for license details.

Building Nori

Nori uses the CMake build system for itself and all its dependencies. It is available for all platforms supported by the engine.

Nori comes with internal versions of the following libraries:

Nori requires that OpenGL and OpenAL headers and link libraries are present in your development environment.

On Debian GNU/Linux based systems, where GLFW also needs Xlib, the following packages provide the necessary support:

  • xorg-dev
  • libopenal-dev
  • libgl1-mesa-dev

On other Linux distributions, there will most likely be similarly named packages available.

On OS X, OpenGL and OpenAL is already built-in.

On Windows, OpenGL headers and link libraries should be provided by your compiler. For OpenAL, you will need to install an OpenAL SDK.

Nori uses some C++11 features and requires a fairly up-to-date compiler to build. It is currently being used with the following compilers:

  • Clang 3.0
  • GCC 4.7
  • Visual C++ 12.0

Using Nori

Nori is (partially) documented using Doxygen. A suitable Doxyfile will be generated by CMake in the docs/ subdirectory.

The audio system requires OpenAL 1.1. No extensions are used.

The render system requires OpenGL 3.2 compatibility profile, meaning it will not currently run on OS X. The following OpenGL extensions are not required but used where available:

  • GL_ARB_texture_float
  • GL_ARB_half_float_pixel
  • GL_ARB_debug_output
  • GL_EXT_texture_filter_anisotropic

Questions, patches and other feedback

I will answer questions mailed to me, but please keep in mind that my time is limited. Bug reports, patches and pull requests are also welcome, but I cannot guarantee that your change will be accepted.