summaryrefslogtreecommitdiffstats
path: root/dev/MinGfx/doc/mainpage.md
diff options
context:
space:
mode:
Diffstat (limited to 'dev/MinGfx/doc/mainpage.md')
-rw-r--r--dev/MinGfx/doc/mainpage.md27
1 files changed, 27 insertions, 0 deletions
diff --git a/dev/MinGfx/doc/mainpage.md b/dev/MinGfx/doc/mainpage.md
new file mode 100644
index 0000000..db77de5
--- /dev/null
+++ b/dev/MinGfx/doc/mainpage.md
@@ -0,0 +1,27 @@
+MinGfx Toolkit Documentation {#mainpage}
+==========
+
+## Getting Started
+1. [libMinGfx Installation Guide](@ref installation)
+2. [Create Your Own Graphics Program by Copying an Example](@ref example)
+3. [Bookmark the API - The MinGfx Programming Reference Organized by Topic](@ref api)
+
+## Programming Guide
+* [MinGfx Programming Reference](@ref api)
+* Adding NanoGUI Elements (buttons, sliders, other GUI widgets)
+ - [NanoGUI Documentation](https://nanogui.readthedocs.io/en/latest/)
+ - [NanoGUI GitHub Repo](https://github.com/wjakob/nanogui)
+* Drawing Using NanoVG (for 2D vector graphics)
+ - [NanoVG Documentation](https://github.com/memononen/NanoVG)
+ - [nanovg.h -- the best place to see all the possible commands](https://github.com/memononen/nanovg/blob/master/src/nanovg.h)
+* Drawing Using OpenGL (for 3D graphics)
+ - [learnopengl.com](https://learnopengl.com/Introduction)
+ - [Google for OpenGL 3.3 Guide](https://www.google.com/search?q=opengl+3.3+guide)
+
+
+## Overview
+
+The MinGfx Toolkit is a minimal library for writing cross-platform (Windows, OSX, linux) graphics programs with modern OpenGL 3.3+ support. Application programmers should subclass from MinGfx::GraphicsApp, which provides callbacks for several styles of rendering and user interfaces. On-screen graphical user interfaces can be created with built-in support for NanoGUI. 2D vector graphics rendering is supported by linking with NanoVG. 3D graphics rendering is supported via MinGfx::Mesh, MinGfx::Shader, MinGfx::Texture2D, and related classes. Additionally, application programmers can do whatever custom 2D or 3D rendering is needed with direct calls to OpenGL.
+
+The library is maintained by Prof. Daniel Keefe (dfk@umn.edu) and is used for instructional purposes in UMN computer science courses (CSci-4611, CSci-3081W, ...) as well as some research projects. See LICENSE.txt for additional details.
+