Browse Source

More documentation crosslinking and fixes.

pull/34/head
Vladimír Vondruš 13 years ago
parent
commit
1c10a5f595
  1. 11
      doc/debug-tools.dox
  2. 2
      doc/features.dox
  3. 20
      doc/matrix-vector.dox
  4. 47
      doc/namespaces.dox
  5. 33
      doc/platform.dox
  6. 25
      doc/scenegraph.dox
  7. 15
      doc/shapes.dox
  8. 21
      doc/transformations.dox
  9. 31
      doc/types.dox
  10. 5
      src/Platform/GlutApplication.h
  11. 6
      src/Platform/GlxApplication.h
  12. 5
      src/Platform/NaClApplication.h
  13. 5
      src/Platform/Sdl2Application.h
  14. 6
      src/Platform/WindowlessGlxApplication.h
  15. 4
      src/Platform/WindowlessNaClApplication.h
  16. 6
      src/Platform/XEglApplication.h

11
doc/debug-tools.dox

@ -24,15 +24,17 @@
namespace Magnum {
/** @page debug-tools Debugging helpers
@brief Convenience classes to help you during development.
@tableofcontents
- Previous page: @ref shapes
DebugTools library provides various helper classes to help you with
@ref DebugTools library provides various helper classes to help you with
prototyping and debugging applications without the need to write too much
common code. They probably have no usage in production code, but can be useful
in development.
in development. See documentation of @ref DebugTools namespace for more
information about building and usage with CMake.
@tableofcontents
@section debug-tools-renderers Debug renderers
@ -75,5 +77,6 @@ new DebugTools::ObjectRenderer2D(*object, "my", debugDrawables);
See DebugTools::ObjectRenderer and DebugTools::ShapeRenderer for more
information.
- Previous page: @ref shapes
*/
}

2
doc/features.dox

@ -24,7 +24,7 @@
namespace Magnum {
/** @page features Feature overview
@brief Fundamental principles and design goals
@brief Fundamental principles and design goals.
- @subpage platform -- @copybrief platform
- @subpage types -- @copybrief types

20
doc/matrix-vector.dox

@ -24,15 +24,18 @@
namespace Magnum {
/** @page matrix-vector Operations with matrices and vectors
@brief Introduction to essential classes of the graphics pipeline.
@tableofcontents
- Previous page: @ref types
- Next page: @ref transformations
Matrices and vectors are the most important part of graphics programming and
one of goals of %Magnum is to make their usage as intuitive as possible. This
page will overview their usage and introduce some tricks to make your life
easier.
one of goals of %Magnum is to make their usage as intuitive as possible. They
are contained in @ref Math namespace and common variants also have aliases in
root @ref Magnum namespace. See documentation of these namespaces for more
information about usage with CMake.
@tableofcontents
@section matrix-vector-hierarchy Matrix and vector classes
@ -256,5 +259,10 @@ mat[2][0] = 5; // first element of third column
alternatives which operate on columns. It's then up to user decision to
operate with transposed matrices or use the slower non-transposed
alternative of the algorithm.
 
- Previous page: @ref types
- Next page: @ref transformations
*/
}}
}

47
doc/namespaces.dox

@ -44,16 +44,15 @@ to include path and link to `${MAGNUM_LIBRARIES}`. See @ref building and
/** @namespace Magnum::Platform
@brief Platform-specific application and context creation
Base classes for creating applications with various toolkits. See @ref platform
for introduction.
Base classes for creating applications with various toolkits.
Parts of this namespace are built if `WITH_*APPLICATION` is enabled in CMake,
with each library having specific toolkit dependencies and platform
requirements. To use particular application library, you need to request given
`*Application` component in CMake, add `${MAGNUM_*APPLICATION_INCLUDE_DIRS}` to
include path and link to `${MAGNUM_*APPLICATION_LIBRARIES}`. See particular
`*Application` class documentation, @ref building and @ref cmake for more
information.
`*Application` class documentation, @ref building, @ref cmake and @ref platform
for more information.
*/
/** @dir Math
@ -62,12 +61,11 @@ information.
/** @namespace Magnum::Math
@brief %Math library
Template classes for matrix and vector calculations. See @ref matrix-vector
and @ref transformations for introduction.
Template classes for matrix and vector calculations.
This library is built by default. To use it, you need to add `${MAGNUM_INCLUDE_DIRS}`
to include path and link to `${MAGNUM_LIBRARIES}`. See @ref building and
@ref cmake for more information.
to include path and link to `${MAGNUM_LIBRARIES}`. See @ref building,
@ref cmake, @ref matrix-vector and @ref transformations for more information.
*/
/** @dir Math/Algorithms
@ -108,8 +106,9 @@ This library depends on **OpenAL** library. It is built if `WITH_AUDIO` is
enabled in CMake. To use this library, you need to request `%Audio` component
in CMake, add `${MAGNUM_AUDIO_INCLUDE_DIRS}` to include path and link to
`${MAGNUM_AUDIO_LIBRARIES}`. See @ref building and @ref cmake for more
information. Additional plugins are part of plugin repository, see
@ref building-plugins and @ref cmake-plugins for more information.
information. Additional plugins are part of plugin repository, see particular
`*Importer` class documentation, @ref building-plugins and @ref cmake-plugins
for more information.
*/
/** @dir DebugTools
@ -118,13 +117,12 @@ information. Additional plugins are part of plugin repository, see
/** @namespace Magnum::DebugTools
@brief %Debug tools
Debugging helpers, renderers and profilers. See @ref debug-tools for
introduction.
Debugging helpers, renderers and profilers.
This library is built if `WITH_DEBUGTOOLS` is enabled in CMake. To use this
library, you need to request `%DebugTools` component in CMake and link to
`${MAGNUM_DEBUGTOOLS_LIBRARIES}`. See @ref building and @ref cmake for more
information.
`${MAGNUM_DEBUGTOOLS_LIBRARIES}`. See @ref building, @ref cmake and
@ref debug-tools for more information.
*/
/** @dir MeshTools
@ -162,13 +160,12 @@ information.
@namespace Magnum::SceneGraph
@brief %Scene graph library
Managing object hierarchy, transformations and interactions. See
@ref scenegraph for introduction.
Managing object hierarchy, transformations and interactions.
This library is built if `WITH_SCENEGRAPH` is enabled in CMake. To use this
library, you need to request `%SceneGraph` component in CMake and link to
`${MAGNUM_SCENEGRAPH_LIBRARIES}`. See @ref building and @ref cmake for more
information.
`${MAGNUM_SCENEGRAPH_LIBRARIES}`. See @ref building, @ref cmake and
@ref scenegraph for more information.
*/
/** @dir Shaders
@ -191,12 +188,12 @@ information.
/** @namespace Magnum::Shapes
@brief %Shape library
Collision detection system. See @ref shapes for introduction.
Collision detection system.
This library is built if `WITH_SHAPES` is enabled in CMake. To use this
library, you need to request `%Shapes` component in CMake and link to
`${MAGNUM_SHAPES_LIBRARIES}`. See @ref building and @ref cmake for more
information.
`${MAGNUM_SHAPES_LIBRARIES}`. See @ref building, @ref cmake and @ref shapes for
more information.
*/
/** @dir Text
@ -210,8 +207,9 @@ Font texture creation and text layouting.
This library is built if `WITH_TEXT` is enabled in CMake. To use this library,
you need to request `%Text` component in CMake and link to `${MAGNUM_TEXT_LIBRARIES}`.
See @ref building and @ref cmake for more information. Additional plugins are
part of plugin repository, see @ref building-plugins and @ref cmake-plugins for
more information.
part of plugin repository, see particular `*Font` and `*FontConverter` class
documentation, @ref building-plugins and @ref cmake-plugins for more
information.
*/
/** @dir TextureTools
@ -240,6 +238,7 @@ for direct access to the data.
This library is built by default. To use it, you need to add `${MAGNUM_INCLUDE_DIRS}`
to include path and link to `${MAGNUM_LIBRARIES}`. See @ref building and
@ref cmake for more information. Additional plugins are part of plugin
repository, see @ref building-plugins and @ref cmake-plugins for more
repository, see particular `*Importer` and `*ImageConverter` class
documentation, @ref building-plugins and @ref cmake-plugins for more
information.
*/

33
doc/platform.dox

@ -24,19 +24,22 @@
namespace Magnum { namespace Platform {
/** @page platform Platform support
@brief Integration into windowing toolkits and creation of windowless contexts.
@brief Integration into windowing toolkits and creation of windowless contexts
- Next page: @ref types
@tableofcontents
@ref Platform namespace contains classes integrating %Magnum engine into
various toolkits, both windowed and windowless. Each class has slightly
different dependencies and platform requirements, see documentation of
@ref Platform namespace and particular `*Application` classes for more
information about building and usage with CMake.
Platform namespace provides classes integrating %Magnum engine into various
toolkits, both windowed and windowless. All the classes have common API to
achieve static polymorphism, so basically you can use different toolkits on
different platforms and the only thing you need to change is the class name,
everything else is the same.
@tableofcontents
Basic usage is to subclass the chosen `*Application` class and implement
required methods.
All the classes have common API to achieve static polymorphism, so basically
you can use different toolkits on different platforms and the only thing you
need to change is the class name, everything else is the same. Basic usage is
to subclass the chosen `*Application` class and implement required methods.
@section platform-windowed Windowed applications
@ -52,7 +55,7 @@ directly in `main()`, but for convenience and portability it's better to use
To simplify the porting, the library provides `Platform::Application` typedef
and `MAGNUM_APPLICATION_MAIN()` macro (but only if only one application header
is included, to avoid ambiguity). Changing the code to use different toolkit is
then matter of replacing only the `#include` statement.
then matter of replacing only the <tt>#</tt>`include` statement.
Barebone application implementation which will just clear the window to dark
blue color:
@ -107,10 +110,11 @@ macro.
Similarly as with windowed applications, to simplify the porting, the library
provides `Platform::WindowlessApplication` typedef and `MAGNUM_WINDOWLESSAPPLICATION_MAIN()`
macro, but only if only one windowless application header is included. Changing
the code to use different toolkit is then matter of replacing only the `#include`
statement. Aliases for windowless applications are separated from aliases for
windowed applications, because projects commonly contain both graphics
application and command-line tools (for data preparation etc.).
the code to use different toolkit is then matter of replacing only the
<tt>#</tt>`include` statement. Aliases for windowless applications are
separated from aliases for windowed applications, because projects commonly
contain both graphics application and command-line tools (for data preparation
etc.).
Barebone application which will just print out current OpenGL version and
renderer string and exits:
@ -218,5 +222,6 @@ MyApplication::MyApplication(int& argc, char** argv): Platform::Application(argc
}
@endcode
- Next page: @ref types
*/
}}

25
doc/scenegraph.dox

@ -26,16 +26,22 @@ namespace Magnum { namespace SceneGraph {
/** @page scenegraph Using scene graph
@brief Overview of scene management capabilities.
@tableofcontents
- Previous page: @ref transformations
- Next page: @ref shapes
%Scene graph provides way to hiearchically manage your objects, their
transformation, physics interaction, animation and rendering. There are
naturally many possible combinations (2D vs. 3D, different transformation
representations, animated vs. static, object can have collision shape,
participate in physics events, have forward vs. deferred rendering...). To
make everything possible without combinatiorial explosion and allow the users
to provide their own features, scene graph in %Magnum is composed of three
main components:
transformation, physics interaction, animation and rendering. The library is
contained in @ref SceneGraph namespace, see its documentation for more
information about building and usage with CMake.
@tableofcontents
There are naturally many possible feature combinations (2D vs. 3D, different
transformation representations, animated vs. static, object can have collision
shape, participate in physics events, have forward vs. deferred rendering...)
and to make everything possible without combinatiorial explosion and allow the
users to provide their own features, scene graph in %Magnum is composed of
three main components:
- objects, providing parent/children hierarchy
- transformations, implementing particular transformation type
@ -291,5 +297,8 @@ class MyObject: MyFeature, public Object3D {
On destruction, Object3D destructor is called first, deleting MyFeature,
which is wrong, because MyFeature is in the same object. After that (if the
program didn't already crash) destructor of MyFeature is called (again).
- Previous page: @ref transformations
- Next page: @ref shapes
*/
}}

15
doc/shapes.dox

@ -26,13 +26,19 @@ namespace Magnum { namespace Shapes {
/** @page shapes Collision detection
@brief Collection of simple shapes for high performance collision detection.
- Previous page: @ref scenegraph
- Next page: @ref debug-tools
The essential thing in collision detection is to define a complex object with
collection of simple shapes, for which it is easy to detect collisions. These
shapes can be either one-, two- or three-dimensional and they can be grouped
together using various operations.
collection of simple shapes, for which it is easy to detect collisions. The
library is contained in @ref Shapes namespace, see its documentation for more
information about building and usage with CMake.
@tableofcontents
These shapes can be either one-, two- or three-dimensional and they can be
grouped together using various operations.
@section shapes-collection Available shapes
%Magnum provides a set of simple shapes for collision detection, similarly to
@ -140,5 +146,8 @@ auto shape = Shapes::Shape<Shapes::Sphere3D>(object, {{}, 23.0f});
See also @ref scenegraph for introduction.
- Previous page: @ref scenegraph
- Next page: @ref debug-tools
*/
}}}

21
doc/transformations.dox

@ -24,16 +24,22 @@
namespace Magnum { namespace Math {
/** @page transformations 2D and 3D transformations
@brief Introduction to essential operations on vectors and points.
@tableofcontents
- Previous page: @ref matrix-vector
- Next page: @ref scenegraph
Transformations are essential operations involved in scene management -- object
relations, hierarchies, animations etc. %Magnum provides classes for
transformations in both 2D and 3D. Each class is suited for different purposes,
but their usage is nearly the same to make your life simpler. This page will
explain the basic operation and differences between various representations.
relations, hierarchies, animations etc. They extend basic vectors and matrices
in @ref Math namespace, see its documentation for more information about usage
with CMake.
@tableofcontents
%Magnum provides classes for transformations in both 2D and 3D. Each class is
suited for different purposes, but their usage is nearly the same to make your
life simpler. This page will explain the basic operation and differences
between various representations.
@section transformations-representation Representing transformations
@ -310,5 +316,8 @@ are always of unit length, thus normalizing them reduces the drift.
DualQuaternion transformation;
transformation = transformation.normalized();
@endcode
- Previous page: @ref matrix-vector
- Next page: @ref scenegraph
*/
}}

31
doc/types.dox

@ -24,8 +24,13 @@
namespace Magnum {
/** @page types Type system
@brief Type aliases, naming and compatibility with OpenGL and GLSL types.
@brief Type aliases, naming and compatibility with OpenGL and GLSL types
- Previous page: @ref platform
- Next page: @ref matrix-vector
The root @ref Magnum namespace defines a few aliases for essential types. See
its documentation for more information about usage with CMake.
@section types-builtin Builtin types
@ -66,17 +71,17 @@ underlying type.
| @ref Vector2i, @ref Vector3i, @ref Vector4i | `ivec2`, `ivec3`, `ivec4` |
| @ref Vector2d, @ref Vector3d, @ref Vector4d | `dvec2`, `dvec3`, `dvec4` |
| %Magnum matrix type | Equivalent GLSL type |
| --------------------------------- | ------------------------------------ |
| @ref Matrix2 or @ref Matrix2d | `mat2`/`mat2x2` or `dmat2`/`dmat2x2` |
| @ref Matrix3 or @ref Matrix3d | `mat3`/`mat3x3` or `dmat3`/`dmat3x3` |
| @ref Matrix4 or @ref Matrix4d | `mat4`/`mat4x4` or `dmat4`/`dmat4x4` |
| @ref Matrix2x3 or @ref Matrix2x3d | `mat2x3` or `dmat2x3` |
| @ref Matrix3x2 or @ref Matrix3x2d | `mat3x2` or `dmat3x2` |
| @ref Matrix2x4 or @ref Matrix2x4d | `mat2x4` or `dmat2x4` |
| @ref Matrix4x2 or @ref Matrix4x2d | `mat4x2` or `dmat4x2` |
| @ref Matrix3x4 or @ref Matrix3x4d | `mat3x4` or `dmat3x4` |
| @ref Matrix4x3 or @ref Matrix4x3d | `mat4x3` or `dmat4x3` |
| %Magnum matrix type | Equivalent GLSL type |
| ---------------------------------------------------------------- | ------------------------------------ |
| @ref Matrix2x2 or @ref Matrix2x2d | `mat2`/`mat2x2` or `dmat2`/`dmat2x2` |
| @ref Matrix3 / @ref Matrix3x3 or @ref Matrix3d / @ref Matrix3x3d | `mat3`/`mat3x3` or `dmat3`/`dmat3x3` |
| @ref Matrix4 / @ref Matrix4x4 or @ref Matrix4d / @ref Matrix4x4d | `mat4`/`mat4x4` or `dmat4`/`dmat4x4` |
| @ref Matrix2x3 or @ref Matrix2x3d | `mat2x3` or `dmat2x3` |
| @ref Matrix3x2 or @ref Matrix3x2d | `mat3x2` or `dmat3x2` |
| @ref Matrix2x4 or @ref Matrix2x4d | `mat2x4` or `dmat2x4` |
| @ref Matrix4x2 or @ref Matrix4x2d | `mat4x2` or `dmat4x2` |
| @ref Matrix3x4 or @ref Matrix3x4d | `mat3x4` or `dmat3x4` |
| @ref Matrix4x3 or @ref Matrix4x3d | `mat4x3` or `dmat4x3` |
Any super- or sub-class of the same size and underlying type can be used
equivalently (e.g. @ref Math::Vector or @ref Color3 instead of @ref Vector3).
@ -96,5 +101,7 @@ quaternion to matrix).
For your convenience, there is also alias for class with often used constants --
@ref Constants or @ref Constantsd.
- Previous page: @ref platform
- Next page: @ref matrix-vector
*/
}

5
src/Platform/GlutApplication.h

@ -47,7 +47,7 @@ namespace Platform {
Application using GLUT toolkit. Supports keyboard handling for limited subset
of keys, mouse handling with support for changing cursor and mouse tracking and
warping. See @ref platform for brief introduction.
warping.
This application library is available only on desktop OpenGL (Linux, Windows,
OS X). It depends on **GLUT** library and is built if `WITH_GLUTAPPLICATION` is
@ -55,7 +55,8 @@ enabled in CMake. To use it, you need to request `%GlutApplication` component
in CMake, add `${MAGNUM_GLUTAPPLICATION_INCLUDE_DIRS}` to include path and link
to `${MAGNUM_GLUTAPPLICATION_LIBRARIES}`. If no other application is requested,
you can also use generic `${MAGNUM_APPLICATION_INCLUDE_DIRS}` and
`${MAGNUM_APPLICATION_LIBRARIES}` aliases to simplify porting.
`${MAGNUM_APPLICATION_LIBRARIES}` aliases to simplify porting. See
@ref building, @ref cmake and @ref platform for more information.
@section GlutApplication-usage Usage

6
src/Platform/GlxApplication.h

@ -35,8 +35,7 @@ namespace Magnum { namespace Platform {
/**
@brief GLX application
Application using pure X11 and GLX. Supports keyboard and mouse handling. See
@ref platform for brief introduction.
Application using pure X11 and GLX. Supports keyboard and mouse handling.
This application library is available on desktop OpenGL and
@ref MAGNUM_TARGET_DESKTOP_GLES "OpenGL ES emulation on desktop" on Linux. It
@ -45,7 +44,8 @@ CMake. To use it, you need to request `%GlxApplication` component in CMake, add
`${MAGNUM_GLXAPPLICATION_INCLUDE_DIRS}` to include path and link to
`${MAGNUM_GLXAPPLICATION_LIBRARIES}`. If no other application is requested, you
can also use generic `${MAGNUM_APPLICATION_INCLUDE_DIRS}` and
`${MAGNUM_APPLICATION_LIBRARIES}` aliases to simplify porting.
`${MAGNUM_APPLICATION_LIBRARIES}` aliases to simplify porting. See
@ref building, @ref cmake and @ref platform for more information.
@section GlxApplication-usage Usage

5
src/Platform/NaClApplication.h

@ -53,7 +53,7 @@ namespace Magnum { namespace Platform {
@brief NaCl application
Application running in [Google Chrome Native Client](https://developers.google.com/native-client/).
Supports keyboard and mouse handling. See @ref platform for brief introduction.
Supports keyboard and mouse handling.
This application library is available only in @ref CORRADE_TARGET_NACL "Native Client".
It is built if `WITH_NACLAPPLICATION` is enabled in CMake. To use it, you need
@ -61,7 +61,8 @@ to request `%NaClApplication` component in CMake, add
`${MAGNUM_NACLAPPLICATION_INCLUDE_DIRS}` to include path and link to
`${MAGNUM_NACLAPPLICATION_LIBRARIES}`. If no other application is requested,
you can also use generic `${MAGNUM_APPLICATION_INCLUDE_DIRS}` and
`${MAGNUM_APPLICATION_LIBRARIES}` aliases to simplify porting.
`${MAGNUM_APPLICATION_LIBRARIES}` aliases to simplify porting. See
@ref building, @ref cmake and @ref platform for more information.
@section NaClApplication-usage Usage

5
src/Platform/Sdl2Application.h

@ -51,7 +51,7 @@ namespace Platform {
@brief SDL2 application
Application using [Simple DirectMedia Layer](www.libsdl.org/) toolkit. Supports
keyboard and mouse handling. See @ref platform for brief introduction.
keyboard and mouse handling.
This application library is available on desktop OpenGL (Linux, Windows, OS X)
and in @ref CORRADE_TARGET_EMSCRIPTEN "Emscripten". It depends on **SDL2**
@ -62,7 +62,8 @@ to find SDL2), request `%Sdl2Application` component in CMake, add
`${MAGNUM_SDL2APPLICATION_INCLUDE_DIRS}` to include path and link to
`${MAGNUM_SDL2APPLICATION_LIBRARIES}`. If no other application is requested,
you can also use generic `${MAGNUM_APPLICATION_INCLUDE_DIRS}` and
`${MAGNUM_APPLICATION_LIBRARIES}` aliases to simplify porting.
`${MAGNUM_APPLICATION_LIBRARIES}` aliases to simplify porting. See
@ref building, @ref cmake and @ref platform for more information.
@section Sdl2Application-usage Usage

6
src/Platform/WindowlessGlxApplication.h

@ -45,8 +45,7 @@ namespace Magnum { namespace Platform {
/**
@brief Windowless GLX application
Application for offscreen rendering using pure X11 and GLX. See @ref platform
for brief introduction.
Application for offscreen rendering using pure X11 and GLX.
This application library is available on desktop OpenGL and
@ref MAGNUM_TARGET_DESKTOP_GLES "OpenGL ES emulation on desktop" on Linux. It
@ -56,7 +55,8 @@ component in CMake, add `${MAGNUM_WINDOWLESSGLXAPPLICATION_INCLUDE_DIRS}` to
include path and link to `${MAGNUM_WINDOWLESSGLXAPPLICATION_LIBRARIES}`. If no
other windowless application is requested, you can also use generic
`${MAGNUM_WINDOWLESSAPPLICATION_INCLUDE_DIRS}` and
`${MAGNUM_WINDOWLESSAPPLICATION_LIBRARIES}` aliases to simplify porting.
`${MAGNUM_WINDOWLESSAPPLICATION_LIBRARIES}` aliases to simplify porting. See
@ref building, @ref cmake and @ref platform for more information.
@section WindowlessGlxApplication-usage Usage

4
src/Platform/WindowlessNaClApplication.h

@ -52,7 +52,6 @@ namespace Magnum { namespace Platform {
Application for offscreen rendering running in
[Google Chrome Native Client](https://developers.google.com/native-client/).
See @ref platform for brief introduction.
This application library is available only in @ref CORRADE_TARGET_NACL "Native Client".
It is built if `WITH_WINDOWLESSNACLAPPLICATION` is enabled in CMake. To use it,
@ -61,7 +60,8 @@ you need to request `%WindowlessNaClApplication` component in CMake, add
`${MAGNUM_WINDOWLESSNACLAPPLICATION_LIBRARIES}`. If no other windowless
application is requested, you can also use generic
`${MAGNUM_WINDOWLESSAPPLICATION_INCLUDE_DIRS}` and
`${MAGNUM_WINDOWLESSAPPLICATION_LIBRARIES}` aliases to simplify porting.
`${MAGNUM_WINDOWLESSAPPLICATION_LIBRARIES}` aliases to simplify porting. See
@ref building, @ref cmake and @ref platform for more information.
@section WindowlessNaClApplication-usage Usage

6
src/Platform/XEglApplication.h

@ -35,8 +35,7 @@ namespace Magnum { namespace Platform {
/**
@brief X/EGL application
Application using pure X11 and EGL. Supports keyboard and mouse handling. See
@ref platform for brief introduction.
Application using pure X11 and EGL. Supports keyboard and mouse handling.
This application library is available on both desktop OpenGL and
@ref MAGNUM_TARGET_GLES "OpenGL ES" on Linux. It depends on **X11** and **EGL**
@ -46,7 +45,8 @@ source to `modules/` dir in your project (so CMake is able to find EGL),
request `%XEglApplication` component in CMake, add `${MAGNUM_XEGLAPPLICATION_INCLUDE_DIRS}`
to include path and link to `${MAGNUM_XEGLAPPLICATION_LIBRARIES}`. If no other
application is requested, you can also use generic `${MAGNUM_APPLICATION_INCLUDE_DIRS}`
and `${MAGNUM_APPLICATION_LIBRARIES}` aliases to simplify porting.
and `${MAGNUM_APPLICATION_LIBRARIES}` aliases to simplify porting. See
@ref building, @ref cmake and @ref platform for more information.
@section XEglApplication-usage Usage

Loading…
Cancel
Save