mirror of https://github.com/mosra/magnum.git
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.
73 lines
3.2 KiB
73 lines
3.2 KiB
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 |
|
@ref matrix-vector "matrix/vector calculations" and |
|
@ref Math::Geometry "geometry". |
|
- Classes wrapping OpenGL objects and simplifying their usage - |
|
@ref AbstractShaderProgram "shaders", @ref Buffer "buffers", |
|
@ref Mesh "meshes" and @ref AbstractTexture "textures". Access to |
|
@ref Framebuffer "framebuffer" and @ref AbstractQuery "occlusion queries". |
|
- @ref MeshTools "Mesh tools" for cleaning, optimizing and generating meshes, |
|
utility classes for @ref Color.h "color conversion", @ref Timeline "timeline" |
|
and @ref Profiler "profiling". |
|
- Hierarchical @ref SceneGraph "scene graph" which supports transformation |
|
caching for better performance, @ref Physics "physics library" for collision |
|
detection and rigid body dynamics. |
|
- Plugin-based @ref Trade "data exchange framework" for importing image, mesh, |
|
material and scene data in various formats. |
|
- Collection of pre-made @ref Primitives "graphic primitives" and |
|
@ref Shaders "shaders" for testing purposes. |
|
- Classes for creating OpenGL-enabled applications with @ref Platform |
|
"various toolkits", methods for querying |
|
@ref Context "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. |
|
|
|
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. The engine can be built |
|
also for OpenGL ES with limited functionality. See also @ref required-extensions. |
|
|
|
@section download-build Downloading and building Magnum |
|
|
|
Guide @ref building "how to download and build Magnum" on different platforms. |
|
|
|
@section getting-started Getting started |
|
|
|
To get up and running, you must first subclass one of the provided window |
|
context classes and implement required functions. %Magnum provides |
|
implementations for the most common toolkits (such as GLUT, Xlib, or SDL2) in |
|
Platform namespace. |
|
|
|
Then you can either draw your meshes directly or use SceneGraph which will |
|
help you with object hierarchy, transformations and resource management. |
|
|
|
@subsection getting-started-examples Tutorials and examples |
|
|
|
The best way to get started is to render your first triangle in |
|
@ref example-index "step-by-step tutorial". Then you can dig deeper and try |
|
other examples, read about @ref features "fundamental principles" in the |
|
documentation or start experimenting on your own! |
|
|
|
@subsection getting-started-hacking Hacking Magnum |
|
|
|
If you want to hack on this engine, if you spotted a bug, need an feature or |
|
have an awesome idea, you can get a copy of the sources from GitHub and start |
|
right now! There is the already mentioned guide about |
|
@ref building "how to download and build Magnum" and also guide about |
|
@ref coding-style "coding style and best practices" which you should follow to |
|
make the library as consistent and maintainable as possible. |
|
|
|
Feel free to get more information or contact the author at: |
|
|
|
- GitHub - https://github.com/mosra/magnum |
|
- Website - http://mosra.cz/blog/ |
|
- E-mail - mosra@centrum.cz |
|
- Jabber - mosra@jabbim.cz |
|
|
|
*/ |
|
}
|
|
|