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.

105 lines
4.0 KiB

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
and geometry.
* Classes wrapping OpenGL objects and simplifying their usage - shaders,
buffers, meshes and textures. Access to framebuffer and occlusion queries.
* Mesh tools for cleaning, optimizing and generating meshes, utility classes
for color conversion, timeline and profiling.
* Hierarchical scene graph which supports transformation caching for better
performance, physics library for collision detection and rigid body
dynamics.
* Plugin-based data exchange framework for importing image, mesh, material
and scene data in various formats.
* Collection of pre-made graphic primitives and shaders for testing purposes.
* Classes for creating OpenGL-enabled applications with various toolkits,
methods for querying supported OpenGL version and available extensions.
* Comprehensive use of C++11 features for safety, performance and ease of
development. All code which doesn't directly interact with OpenGL is
covered with unit tests.
* Actively maintained Doxygen documentation. Occasionally updated snapshot is
also available online at http://mosra.cz/blog/magnum-doc/ .
16 years ago
INSTALLATION
============
You can either use packaging scripts, which are stored in package/
subdirectory, or compile and install everything manually. Note that Doxygen
documentation (see above or build your own using instructions below) contains
more comprehensive guide for building, packaging and crosscompiling.
Minimal dependencies
--------------------
16 years ago
* C++ compiler with good C++11 support. Currently there are two compilers
which are tested to support everything needed: **GCC** >= 4.6 and **Clang**
>= 3.1.
* **CMake** >= 2.8.8 (needed for `OBJECT` library target)
* **GLEW** - OpenGL extension wrangler (only if targeting desktop OpenGL)
* **Corrade** - Plugin management and utility library. You can get it at
http://github.com/mosra/corrade or at http://mosra.cz/blog/corrade.php.
16 years ago
Compilation, installation
-------------------------
The library (for example with support for GLUT applications) can be built and
installed using these four commands:
mkdir -p build && cd build
cmake .. \
-DCMAKE_INSTALL_PREFIX=/usr \
-DWITH_GLUTAPPLICATION=ON
make
16 years ago
make install
See Doxygen documentation for more information about enabling or disabling
additional features and targeting different platforms such as OpenGL ES.
Building and running unit tests
-------------------------------
If you want to build also unit tests (which are not built by default), pass
`-DBUILD_TESTS=ON` to CMake. Unit tests use Corrade's TestSuite framework and
can be run using
ctest --output-on-failure
in build directory. Everything should pass ;-)
Building documentation
----------------------
The documentation is written in **Doxygen** (version 1.8 with Markdown support
is used, but older versions should do good job too) and additionally uses
**Graphviz** for class diagrams and **TeX** for math formulas. 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. You might need to create `build/` directory
if it doesn't exist yet.
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 .
16 years ago
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:
* Website - http://mosra.cz/blog/
* GitHub - https://github.com/mosra/magnum
16 years ago
* E-mail - mosra@centrum.cz
* Jabber - mosra@jabbim.cz