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 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114
|
=========
Resources
=========
.. container:: lead
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 <http://www.songho.ca/opengl/index.html>`_ 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
<http://duriansoftware.com/joe/An-intro-to-modern-OpenGL.-Table-of-Contents.html>`_
that walks through the parts that are still relevant today.
* `Open.gl <https://open.gl/>`_ is a great walkthrough of modern OpenGL features
with example code and output. Available in various ebook formats.
* `Shadertoy <https://www.shadertoy.com>`_ is a great resources to experiment
and learn fragment shaders.
* `A tutorial about VisPy <http://ipython-books.github.io/featured-06/>`_, by
Cyrille Rossant, published in the `IPython Cookbook <http://ipython-books.github.io/>`_
* `A tutorial about modern OpenGL and VisPy, by Nicolas Rougier <http://www.loria.fr/~rougier/teaching/opengl/>`_
* 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 <http://journal.frontiersin.org/Journal/10.3389/fninf.2013.00036/full>`_
* A free online book on modern OpenGL (but not Python):
`Learning Modern 3D Graphics Programming, by Jason L. McKesson <http://www.arcsynthesis.org/gltut/>`_
* `A PyOpenGL tutorial <http://cyrille.rossant.net/2d-graphics-rendering-tutorial-with-pyopengl/>`_
* `A tutorial on OpenGL shaders <http://cyrille.rossant.net/shaders-opengl/>`_
References
==========
* `The OpenGL Registry <http://www.opengl.org/registry/>`_ contains
specifications, header files, and related documentation for OpenGL and
related APIs including GLU, GLX, and WGL.
* `Quick reference <http://www.shaderific.com/glsl-functions/>`_ for the
built-in functions of the OpenGL ES Shading Language.
* The `Graphics Codex <http://casual-effects.com/graphicscodex/>`_ 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 <http://www.iquilezles.org/www/index.htm>`_
* `Florian Boesch <http://codeflow.org>`_
* `The Little Grasshoper <http://github.prideout.net>`_
* `John Chapman <http://john-chapman-graphics.blogspot.fr/2013/01/ssao-tutorial.html>`_
Visualisation
=============
:Matplotlib: `Matplotlib <http://matplotlib.org>`_ 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 <http://glumpy.github.io>`_ is the sister project of VisPy.
It is also a high-performance interactive 2D/3D data visualization library.
:Bokeh: `Bokeh <http://bokeh.pydata.org>`_ 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 <http://stanford.edu/%7Emwaskom/software/seaborn/index.html>`_
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 <http://kivy.org/#home>`_ 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 <http://www.ploscompbiol.org/article/info:doi/10.1371/journal.pcbi.1003833>`_
| Nicolas P. Rougier, Michael Droettboom, Phil Bourne. PLOS Computational Biology (2014).
* | `Shader-based Antialiased Dashed Stroked Polylines <http://jcgt.org/published/0002/02/08/>`_
| Nicolas P. Rougier. Journal of Computer Graphics Techniques, (2013)
* | `Higher Quality 2D Text Rendering <http://jcgt.org/published/0002/01/04/>`_
| Nicolas P. Rougier. Journal of Computer Graphics Techniques, (2013)
|