namespace Magnum { /** @mainpage %Magnum is 3D graphics engine written in C++11 and OpenGL 3 Core Profile. Features: - Easy-to-use templated @ref Math "mathematical library" for matrix/vector calculations. - Comprehensive use of C++11 features for safety, performance and ease of development. - Hierarchical @ref Scene "scene graph" which supports transformation caching for better performance, classes for convenient usage of @ref AbstractShaderProgram "shaders", @ref Buffer "buffers" and @ref Texture "textures". - @ref MeshTools "Mesh tools" for cleaning, optimizing and generating meshes. Collection of pre-made @ref Primitives "graphic primitives" and @ref Shaders "shaders" for testing purposes. @section BuildingLink Building Magnum Guide @ref Building "how to build Magnum" on different platforms. @section BasicUsage Basic usage %Scene in %Magnum is composed of hierarchically connected object instances. To build the scene, you need Scene object with assigned Camera and some Object instances. When rendering using Camera::draw(), the engine goes through all objects connected to camera scene and calls Object::draw() on them. All objects are by default empty. To make object renderable in the scene, you must reimplement Object::draw(), and for example bind an @ref AbstractShaderProgram "shader", @ref Texture "texture" and render an prepared @ref Mesh "mesh". */ }