You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Vladimír Vondruš 8b69969fbf Explicit default Matrix constructor. 14 years ago
doc Better implementation for Matrix::determinant() using external functor. 14 years ago
modules New library with sample shaders, currently only Phong shader. 14 years ago
package/archlinux Added Git PKGBUILD. 14 years ago
src Explicit default Matrix constructor. 14 years ago
toolchains@8964697e32 Added toolchains submodule. 14 years ago
.gitignore Updated .gitignore 14 years ago
.gitmodules Added toolchains submodule. 14 years ago
CMakeLists.txt New library with sample shaders, currently only Phong shader. 14 years ago
COPYING Initial commit 16 years ago
COPYING.LESSER Initial commit 16 years ago
Doxyfile Documentation updates, "markdownization". 14 years ago
PKGBUILD Using Vertex Array Objects for mesh drawing. 14 years ago
PKGBUILD-mingw32 Better project URLs. 14 years ago
README.md Added documentation about building, improved README. 14 years ago

README.md

Magnum is 3D graphics engine written in C++11 and OpenGL 3 Core Profile. Features:

  • Easy-to-use templated mathematical library for matrix/vector calculations.
  • Comprehensive use of C++11 features for safety, performance and ease of development.
  • Hierarchical scene graph which supports transformation caching for better performance, classes for convenient usage of shaders, buffers and textures.
  • Mesh tools for cleaning, optimizing and generating meshes. Collection of pre-made graphic primitives and shaders for testing purposes.

INSTALLATION

You can either use packaging scripts, which are stored in package/ subdirectory, or compile and install everything manually. Note that Doxygen documentation contains more comprehensive guide for building, packaging and crosscompiling.

Minimal dependencies

  • C++ compiler with good C++11 support. Currently the only compiler which supports everything needed is GCC >= 4.6. Clang >= 3.1 (from SVN) will probably work too.
  • CMake >= 2.6
  • OpenGL headers, on Linux most probably shipped with Mesa
  • GLEW - OpenGL extension wrangler
  • Corrade - Plugin management and utility library. You can get it at http://mosra.cz/blog/corrade.php

Compilation, installation

The library can be built and installed using these four commands:

mkdir -p build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr .. && make
make install

Building and running unit tests

If you want to build also unit tests (which are not built by default), pass -DBUILD_TESTS=True to CMake. Unit tests use QtTest framework (you need at least Qt 4.6) and can be run using

ctest -V

in build directory. Everything should pass ;-)

Building documentation

The documentation (which you are currently reading) is written in Doxygen (preferrably 1.8 with Markdown support, but older versions should do good job too) and additionally uses Graphviz for class diagrams. The documentation can be build by running

doxygen

in root directory (i.e. where Doxyfile is). Resulting HTML documentation will be in build/doc/ directory.

PLUGINS AND EXAMPLES

Various importer plugins for image and 3D model formats are maintained in separate repository, which can be found at http://github.com/mosra/magnum-plugins .

There are also examples of engine usage, varying from simple Hello World-like example to more advanced applications, such as viewer for complex 3D models. Example repository is at http://github.com/mosra/magnum-examples .

CONTACT

Want to learn more about the library? Found a bug or want to tell me an awesome idea? Feel free to visit my website or contact me at: