From 3b333be0f29e9da5ca270f57507832deb550b267 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Sun, 16 Sep 2012 11:49:45 +0200 Subject: [PATCH] Doc: updated feature list and "Getting started" section. --- README.md | 13 ++++++++----- doc/mainpage.dox | 34 ++++++++++++++++++---------------- 2 files changed, 26 insertions(+), 21 deletions(-) diff --git a/README.md b/README.md index 67f4ead37..bb05a977f 100644 --- a/README.md +++ b/README.md @@ -3,15 +3,18 @@ Features: * Easy-to-use templated mathematical library for matrix/vector calculations and geometry. + * Classes wrapping OpenGL objects and simplifying their usage - shaders, + buffers, meshes and textures. Access to framebuffer and occlusion queries. + * Mesh tools for cleaning, optimizing and generating meshes, utility classes + for color conversion, timeline and profiling. * Hierarchical scene graph which supports transformation caching for better - performance, classes for convenient usage of shaders, buffers and textures. - Access to framebuffer and occlusion queries. - * Physics library for collision detection and rigid body dynamics. Mesh tools - for cleaning, optimizing and generating meshes. + performance, physics library for collision detection and rigid body + dynamics. * Plugin-based data exchange framework for importing image, mesh, material and scene data in various formats. * Collection of pre-made graphic primitives and shaders for testing purposes. - * Classes for easy creation of OpenGL context with various toolkits. + * Classes for easy creation of OpenGL context with various toolkits, methods + for querying 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. diff --git a/doc/mainpage.dox b/doc/mainpage.dox index 093bcf0ce..c0838794f 100644 --- a/doc/mainpage.dox +++ b/doc/mainpage.dox @@ -6,20 +6,23 @@ Features: - Easy-to-use templated @ref Math "mathematical library" for 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, classes for convenient usage of - @ref AbstractShaderProgram "shaders", @ref Buffer "buffers" and - @ref AbstractTexture "textures". Access to @ref Framebuffer "framebuffer" - and @ref AbstractQuery "occlusion queries". -- @ref Physics "Physics library" for collision detection and rigid body - dynamics, @ref MeshTools "Mesh tools" for cleaning, optimizing and - generating meshes. + 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 easy creation of OpenGL context with @ref Contexts - "various toolkits". + "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. @@ -34,14 +37,13 @@ Guide @ref building "how to download and build Magnum" on different platforms. @section getting-started 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. +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 +Contexts 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