Skip to main content
`Ctrl`+`K`

# Resources

There are actually a lot of online resources, here is only a small selection.

## Learning

VisPy will eventually provide high-level facilities to let scientists create high-quality, high-performance plots without any knowledge of OpenGL. In the meantime, you can learn more about modern OpenGL in the references below.

Even when VisPy is mature enough, knowing OpenGL will still let you write entirely custom interactive visualizations that fully leverage the power of GPUs.

- This page contains fundamental OpenGL tutorials and notes.All example programs are written by C++ with Code::Blocks and Orwell Dev-C++, as well as makefiles for Linux and Mac.

- A new OpenGL introduction that walks through the parts that are still relevant today.

- Open.gl is a great walkthrough of modern OpenGL features with example code and output. Available in various ebook formats.

- Shadertoy is a great resources to experiment and learn fragment shaders.

- A tutorial about VisPy, by

    Cyrille Rossant, published in the IPython Cookbook

- A tutorial about modern OpenGL and VisPy, by Nicolas Rougier

- A paper on the fundamentals behind VisPy: Rossant C and Harris KD, Hardware-accelerated interactive data visualization for neuroscience in Python, Frontiers in Neuroinformatics 2013

- A free online book on modern OpenGL (but not Python): Learning Modern 3D Graphics Programming, by Jason L. McKesson

- A PyOpenGL tutorial

- A tutorial on OpenGL shaders

## References

- The OpenGL Registry contains specifications, header files, and related documentation for OpenGL and related APIs including GLU, GLX, and WGL.

- Quick reference for the built-in functions of the OpenGL ES Shading Language.

- The Graphics Codex is an app for 3D graphics students, engineers, teachers, and artists. It provides consistent, correct, and easy-to-understand definitions for technical material.

## Blogs

- Iñigo Quílez

- Florian Boesch

- The Little Grasshoper

- John Chapman

## Visualisation

Matplotlib:

  Matplotlib is a python 2D plotting library which produces publication quality figures in a variety of hardcopy formats and interactive environments across platforms. matplotlib can be used in python scripts, the python and ipython shell (ala MATLAB®* or Mathematica®†), web application servers, and six graphical user interface toolkits.

Glumpy:

  Glumpy is the sister project of VisPy. It is also a high-performance interactive 2D/3D data visualization library.

Bokeh:

  Bokeh is a Python interactive visualization library that targets modern web browsers for presentation. Its goal is to provide elegant, concise construction of novel graphics in the style of D3.js, but also deliver this capability with high-performance interactivity over very large or streaming datasets.

Seaborn:

  Seaborn is a library for making attractive and informative statistical graphics in Python. It is built on top of matplotlib and tightly integrated with the PyData stack, including support for numpy and pandas data structures and statistical routines from scipy and statsmodels.

Kivy:

  Kivy is an open source Python library for rapid development of applications that make use of innovative user interfaces, such as multi-touch apps

## Scientific Articles

- Ten simple rules for better figures
  Nicolas P. Rougier, Michael Droettboom, Phil Bourne. PLOS Computational Biology (2014).
- Shader-based Antialiased Dashed Stroked Polylines
  Nicolas P. Rougier. Journal of Computer Graphics Techniques, (2013)
- Higher Quality 2D Text Rendering
  Nicolas P. Rougier. Journal of Computer Graphics Techniques, (2013)