blob: db77de5a67e1da321655977e5e95c4867b03f0b8 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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.
|