Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Python and OpenGL for Scientific Visualization (labri.fr)
235 points by dsego on Oct 25, 2019 | hide | past | favorite | 24 comments


I remember this domain/author name from his fantastic Matplotlib tutorial a few years back, which is still the best matplotlib tutorial I've seen in the wild, and made me realize matplotlib could be as viable as ggplot2 for good data viz: https://github.com/rougier/matplotlib-tutorial


Jesus, I've just realized it's the author of the best numpy tutorial I've ever read! https://www.labri.fr/perso/nrougier/from-python-to-numpy/


Thanks all. There is a new and ongoing book project at https://github.com/rougier/scientific-visualization-book


This tutorial helped me to step away from the Fixed Function pipeline and finally grok the shader based programmable pipeline. (I am a hobbyist).

Glumpy, which is used in this tutorial -https://glumpy.github.io/, is IMO the best way to work through https://thebookofshaders.com/ in python for a deeper understanding of fragment shaders.


Wow, that is one beautiful online book.


Thanks.


What a great resource, I am learning opengl right now and also working on a scientific visualization project. Very much looking forward to rendering meshes.

Right now I'm trying to convert a ROOT based 3D event display to a blender plugin using python. Very curious to hear about the work and resources of others also doing sciviz work.


One of the best introductions to graphics pipeline and primitives that I've seen. And I've seen a lot.


Great book ! Does any one does know of a similar material but for opencl/Vulcan for gpgpu ?


Is it down? I cannot access it.


The source for the book is also on Github. It seems like running make.sh will compile to HTML, though I haven't tried it myself.

https://github.com/rougier/python-opengl


Ah thanks for the link. As other commenters also mention, it looks like a single giant HTML page is causing the server loads.


You can clone the Github repo and then run a local webserver to access it at localhost:8000/book.html (there is a `make.sh` build script, but the repo already contains the produced HTML).

You can also fork the repo, enable Github Pages, and then access it at yourgithubname.github.io/python-opengl/book.html

I just made a Github issue suggesting to the author, if he's not opposed to using Github pages himself: https://github.com/rougier/python-opengl/issues/38


Thanks, I'll look into that and it would make sense t ohost it on github.


He does say This:

“Last point, I wrote the book in a kind of modern Kerouac's style such that you can download it once and continue reading it offline. Initial loading may be slow though.”

I do think the entire book is on a single HTML page


Yes, sorry for that. The post on hacker news put our server under some stress.


Still, the entire page/book only looks to be 1.2 MB. Apparently the server is under some stress right now.


Why is GLUT deprecated? This and just about every other tutorial I've seen uses it.

Since it's deprecated, is there something else I should be using?


The original GLUT has been abandoned two decades ago, it seems. Freeglut, a drop in replacement still seems to get regular updates and releases.

Alternatives that come to my mind are GLFW and SDL and you can also grab ImGUI for a nice, easy to use UI library that covers simpler use cases very well. They all deviate from how you use GLUT, but they aren't substantially harder to use.


There's nothing horribly wrong with using GLUT; it's just a badly designed library (lack of a context parameter on callbacks requiring use of globals, tons of missing functionality). GLFW is the "spiritual successor" to GLUT and is generally preferred nowadays. SDL2 is also a fine alternative.


@rougier, one thing I noticed reading it: the link to your research page in the Preface goes to a 404 (for me, at least).


Very nice, when will the rest of the chapters be available? If anyone knows


Absolutely astonishing work!


Very cool reading...




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: