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.

124 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 {
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
@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.
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. 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
14 years ago
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
15 years ago
@section license License
%Magnum is licensed under MIT/Expat license:
>
> Copyright © 2010, 2011, 2012, 2013 Vladimír Vondruš &lt;mosra@centrum.cz&gt;
>
> 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.
>
15 years ago
*/
}