From c2b1b78916d46c1fd5fe7516fdb66f14ef5ba469 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Wed, 23 May 2012 21:13:37 +0200 Subject: [PATCH] Added examples to the documentation. Repository magnum-examples must be next to magnum repository to build the complete documentation. --- Doxyfile | 7 ++++--- doc/MainPage.dox | 25 +++++++++++++++---------- 2 files changed, 19 insertions(+), 13 deletions(-) diff --git a/Doxyfile b/Doxyfile index 7bb2ffaa3..e3e569300 100644 --- a/Doxyfile +++ b/Doxyfile @@ -670,7 +670,8 @@ WARN_LOGFILE = INPUT = src/ \ doc/ \ ../magnum-plugins/src/ \ - ../magnum-plugins/doc/ + ../magnum-plugins/doc/ \ + ../magnum-examples/doc/ # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is @@ -733,7 +734,7 @@ EXCLUDE_SYMBOLS = # directories that contain example code fragments that are included (see # the \include command). -EXAMPLE_PATH = +EXAMPLE_PATH = ../magnum-examples/src/ # If the value of the EXAMPLE_PATH tag contains directories, you can use the # EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp @@ -753,7 +754,7 @@ EXAMPLE_RECURSIVE = NO # directories that contain image that are included in the documentation (see # the \image command). -IMAGE_PATH = +IMAGE_PATH = ../magnum-examples/src/ # The INPUT_FILTER tag can be used to specify a program that doxygen should # invoke to filter for each input file. Doxygen will invoke the filter program diff --git a/doc/MainPage.dox b/doc/MainPage.dox index 8ebd3b790..2295a728b 100644 --- a/doc/MainPage.dox +++ b/doc/MainPage.dox @@ -32,16 +32,21 @@ functionality is working on OpenGL 2.1 hardware too. See also Guide @ref Building "how to build Magnum" on different platforms. -@section BasicUsage Basic usage +@section GettingStarted Getting started + +Applications using Magnum have at least two parts. One part manages OpenGL +context using some toolkit and takes care of window resizing, mouse and +keyboard input, while the other manages the scene and does the rendering. +While it is possible for you to manage the OpenGL context and events on your +own, Magnum provides implementations for the most common toolkits (such as +GLUT, SDL or Qt) in Contexts namespace. %Scene in %Magnum is composed of +hierarchically connected object instances. To build the scene you need Scene +object with assigned camera and at least one Object instance. + +The best way to get started is to @ref ExamplesTriangle "render your first triangle" +in step-by-step tutorial. Then you can dig deeper and try +@ref Examples "other examples", read about fundamental principles in the +documentation or start experimenting on your own! -%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". */ }