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.
123 lines
5.6 KiB
123 lines
5.6 KiB
/* |
|
This file is part of Magnum. |
|
|
|
Copyright © 2010, 2011, 2012, 2013 Vladimír Vondruš <mosra@centrum.cz> |
|
|
|
Permission is hereby granted, free of charge, to any person obtaining a |
|
copy of this software and associated documentation files (the "Software"), |
|
to deal in the Software without restriction, including without limitation |
|
the rights to use, copy, modify, merge, publish, distribute, sublicense, |
|
and/or sell copies of the Software, and to permit persons to whom the |
|
Software is furnished to do so, subject to the following conditions: |
|
|
|
The above copyright notice and this permission notice shall be included |
|
in all copies or substantial portions of the Software. |
|
|
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL |
|
THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING |
|
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER |
|
DEALINGS IN THE SOFTWARE. |
|
*/ |
|
|
|
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 DebugTools::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 |
|
|
|
@section license License |
|
|
|
%Magnum is licensed under MIT/Expat license: |
|
|
|
> |
|
> Copyright © 2010, 2011, 2012, 2013 Vladimír Vondruš <mosra@centrum.cz> |
|
> |
|
> Permission is hereby granted, free of charge, to any person obtaining a |
|
> copy of this software and associated documentation files (the "Software"), |
|
> to deal in the Software without restriction, including without limitation |
|
> the rights to use, copy, modify, merge, publish, distribute, sublicense, |
|
> and/or sell copies of the Software, and to permit persons to whom the |
|
> Software is furnished to do so, subject to the following conditions: |
|
> |
|
> The above copyright notice and this permission notice shall be included |
|
> in all copies or substantial portions of the Software. |
|
> |
|
> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
|
> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
|
> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL |
|
> THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
|
> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING |
|
> FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER |
|
> DEALINGS IN THE SOFTWARE. |
|
> |
|
|
|
*/ |
|
}
|
|
|