dust3d/thirdparty/instant-meshes/instant-meshes-dust3d/ext/nanogui/docs/index.rst

77 lines
2.7 KiB
ReStructuredText

NanoGUI
========================================================================================
NanoGUI is a minimalistic cross-platform widget library for OpenGL 3.x or higher. It
supports automatic layout generation, stateful C++11 lambdas callbacks, a variety of
useful widget types and Retina-capable rendering on Apple devices thanks to NanoVG_ by
Mikko Mononen. Python bindings of all functionality are provided using pybind11_.
.. _NanoVG: https://github.com/memononen/NanoVG
.. _pybind11: https://github.com/wjakob/pybind11
Example Screenshot
----------------------------------------------------------------------------------------
.. image:: ../resources/screenshot.png
:alt: Screenshot of Example 1.
:align: center
Description
----------------------------------------------------------------------------------------
NanoGUI builds on GLFW_ for cross-platform OpenGL context creation and event handling,
GLAD_ to use OpenGL 3.x or higher Windows, Eigen_ for basic vector types, and NanoVG_ to
draw 2D primitives.
Note that the dependency library NanoVG already includes some basic example code to draw
good-looking static widgets; what NanoGUI does is to flesh it out into a complete GUI
toolkit with event handling, layout generation, etc.
NanoGUI currently works on Mac OS X (Clang) Linux (GCC or Clang) and Windows (Visual
Studio ≥ 2015); it requires a recent C++11 capable compiler. All dependencies are
jointly built using a CMake-based build system.
.. _GLFW: http://www.glfw.org/
.. _GLAD: https://github.com/Dav1dde/glad
.. _Eigen: http://eigen.tuxfamily.org/index.php?title=Main_Page
"Simple mode"
----------------------------------------------------------------------------------------
Christian Schüller contributed a convenience class that makes it possible to create
AntTweakBar-style variable manipulators using just a few lines of code. Refer to
:ref:`nanogui_example_2` for how to create the image below.
.. image:: ../resources/screenshot2.png
:alt: Screenshot of Example 2.
:align: center
License
----------------------------------------------------------------------------------------
NanoGUI is provided under a BSD-style license that can be found in the LICENSE_ file. By
using, distributing, or contributing to this project, you agree to the terms and
conditions of this license.
.. _LICENSE: https://github.com/wjakob/nanogui/blob/master/LICENSE.txt
Contents
========================================================================================
.. toctree::
:maxdepth: 2
usage
compilation
examples
generated_api/library_root
contributing
Indices and tables
==================
* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`