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.

41 lines
1.6 KiB

namespace Magnum {
15 years ago
/** @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.
- 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.
- 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.
15 years ago
The engine is meant to be run on OpenGL 3 capable hardware, but most of the
functionality is working on OpenGL 2.1 hardware too. See also
@ref RequiredExtensions.
@section BuildingLink Building Magnum
Guide @ref Building "how to build Magnum" on different platforms.
15 years ago
@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".
15 years ago
*/
}