Commits

Jason McKesson committed 9e940db

Provided front-page mentions of major GL-utility features.
Clarified Font features.

Comments (0)

Files changed (2)

 Each component of the SDK specifies the terms under which they are distributed. All licenses used by components are approximately like the MIT license in permissivity. The parts of the SDK responsible for maintaining the build, as well as all examples, are distributed under the <a href="http://www.opensource.org/licenses/MIT">MIT License</a>.
 
 The library components are:
- 
-\li @ref module_glload "GL Load": Used to gain access to OpenGL's functions.
-\li @ref module_glimg "GL Image": Used for loading image files into OpenGL textures.
-\li @ref module_glutil "GL Utility": General-purpose utilities for OpenGL.
-\li @ref module_glmesh "GL Mesh": Used for sending vertex data to OpenGL.
-\li @ref module_glm "OpenGL Mathematics": Provides useful math classes and functions for OpenGL, using a GLSL-like syntax.
-\li @ref module_glfw "GLFW": A tool for creating and managing an OpenGL window. It can be used to handle input.
-\li @ref module_freeglut "FreeGLUT": A tool for creating and managing an OpenGL window. It can be used to handle input, as well as render a few basic shapes.
-\li @ref module_glloadgen "OpenGL Loader Generator": A tool for generating OpenGL loader code.
+
+<ul>
+<li>@ref module_glload "GL Load": Used to gain access to OpenGL's functions.</li>
+<li>@ref module_glimg "GL Image": Used for loading image files into memory and into OpenGL textures.</li>
+<li>@ref module_glutil "GL Utility": Provides a variety of generally useful functionality. It a wide variety of features including:
+<ul>
+<li>@ref module_glutil_font "Very simple text drawing services"</li>
+<li>@ref module_glutil_matrixstack "A matrix stack"</li>
+<li>@ref module_glutil_poles "Mouse-based camera and object manipulation"</li>
+</ul></li>
+<li>@ref module_glmesh "GL Mesh": A mechanism for rendering mesh data. It provides an @ref module_glmesh_draw "immediate mode interface" that can replace glBegin/glEnd, as well as a @ref module_glmesh_mesh "mesh class". It also provides a number of @ref module_glmesh_mesh_generator "sample mesh objects", for doing simple tasks.</li>
+<li>@ref module_glm "OpenGL Mathematics": Provides useful math classes and functions for OpenGL, using a GLSL-like syntax.</li>
+<li>@ref module_glfw "GLFW": A tool for creating and managing an OpenGL window. It can be used to handle input.</li>
+<li>@ref module_freeglut "FreeGLUT": A tool for creating and managing an OpenGL window. It can be used to handle input, as well as render a few basic shapes.</li>
+<li>@ref module_glloadgen "OpenGL Loader Generator": A tool for generating OpenGL loader code.</li>
+</ul>
 
 The SDK also comes with a number of examples, which are in the <tt>examples</tt> directory.
 

glutil/glutil.doxy

 
 \brief Helper function for registering a function to handle ARB_debug_output.
 
+\ref module_glload "GL Load" must have been successfully initialized for these functions to work.
+
 \ingroup module_glutil
 **/
 
 
 This SDK module provides basic font rendering services. It is important to emphasize that this is \em basic font rendering. This is not intended to be a serious font handling system. Therefore, you will notice that some of the amenities one might find in a more significant font system are not present.
 
-The fonts themselves are hard-coded directly into the executable. Among other things, this means that the executable's size will be noticably bigger by including the font system (~500KB). Note that if you don't call glutil::GenerateFont, your executable size will be unaffected.
+The fonts themselves are hard-coded directly into the library. This means that the executable's size will be noticably bigger by including the font system (~500KB). Note that if you don't call glutil::GenerateFont, your executable size will be completely unaffected.
 
 The font used here is called Inconsolata, a free font available online. It is used here as a raster font, with several pre-defined font sizes. The font is a fixed-width font, which makes text layout much easier.
 
-This system provides \em limited Unicode support. Specifically, these fonts provide the first 256 Unicode codepoints, which is commonly called Latin-1. All other codepoints are ignored. As such, this avoids complex text layout system and other concepts that are well outside of a basic font system.
+This system provides \em limited Unicode support. Specifically, it accepts UTF-8-encoded text, but it \em only recognizes the first 256 Unicode codepoints. While this corresponds to Latin-1, it cannot actually take Latin-1 encoded strings. This limited Unicode support avoids complex text layout system, as well as minimize the image storage size of the fonts.
 
 A glutil::Font object can only be created by calling glutil::GenerateFont. The Font class provides methods for getting size information about the font (since it is fixed-width, all of the characters have the same size characteristics). It also has a function that will layout a single string of text (horizontally), without line-breaks or anything of that nature.
 
 
 MouseMove should be called anytime the mouse is moved, though they will usually only do something useful when the action button is down. MouseWheel should be called when the mouse wheel is touched. CharPress should be called when a keyboard character is entered. It should only be called for presses; releases are irrelevant.
 
-When a Pole is created, it is given a specific mouse button to listen for and respond to. This is the button that the pole in question uses for all of its mouse-based controls.
+When a Pole is created, it is given a specific mouse button to listen for and respond to. This is the button that the pole in question uses for all of its mouse-based controls. This feature allows you to, for example, use left-clicks to mean "move the camera" and right-clicks to mean "move the object".
 
 \ingroup module_glutil
 **/