[IPython-dev] WebGL example in IPython notebook based on three.js
cyrille.rossant at gmail.com
Tue Jan 20 04:09:08 EST 2015
Thank you for your feedback. VisPy/WebGL is definitely not yet ready
for production, I was essentially mentioning that there was work in
progress in that direction!
> - When I started this coding, the IPython notebook examples for vispy
> weren't readily available (I vagely remember failing to find them with
> google even though something was mentioned on the home page)
It's still experimental at this point, but a more robust version will
be available in the coming weeks.
> - The idea that you *have* to write low-level GLSL code seems a bit
> intimidating (with three.js you can, but don't need to)
That's actually not the case in the latest version, see for example
<http://vispy.org/examples/basics/scene/surface_plot.html>. We do have
high-level interfaces that don't require users to write GLSL. Only the
most advanced users will be interested in writing custom GLSL.
> - three.js includes nice controls to pan, zoom etc. out of the box
Idem, in VisPy we do have interactive "cameras" that provide controls
to pan, zoom, etc.
> - Because I'm trying to attract users to my software, I think it's
> absolutely essential to be able to use the nbconverted output to show nice
> interactive plots to potential users who haven't installed my program yet
> (and who may not even be familiar with the scipy ecosystem), as a kind of
> "marketing" tool.
That's a good point and that's definitely something on our radar.
> However, I'll definitely keep an eye out for progress on vispy, it sounds
> like some cool features are planned. The one thing I don't like about
> three.js is that it is very much fixed around the idea of always animating
> at 60 frames/sec for games etc. This means that it is chewing up significant
> CPU, even if the figure if not updating.
VisPy is indeed more efficient in that the scene is only updated when
needed (pan, zoom, etc.). But you can also have timer-based
More information about the IPython-dev