Recommendations For C++/OpenGL Linux Tutorials? 117
QuaveringGrape writes "After a few years of Python I've recently been trying to expand my programming knowledge into the realm of compiled languages. I started with C, then switched over to C++. A friend and longtime OpenGL programmer told me about NeHe's tutorials as a good step after the command-line programs started to get old, but there's a problem: all the tutorials are very Windows-based, and I've been using Linux as my single platform for a while now. I'm looking for suggestions for tutorials that are easy to learn, without being dumbed down or geared towards non-programmers."
Re:Have you tried this thing called 'Google'? (Score:3, Interesting)
I forgot to add, the framework comes in Linux flavors. I have contributed to the Linux tutorials myself there.
Re:Have you tried this thing called 'Google'? (Score:2, Interesting)
Parent obviously didn't read the summary. But that said, the code written in NeHe's tutorials are ported to like 20 or more platforms, and you might find that to be useful.
I learned OpenGL by buying a copy of the Red Book [amazon.com], and then used Allegro [sf.net] (a cross-platform gaming library) to set up a rendering surface. This could also be accomplished by using the SDL [libsdl.org] library, but I do not have any experience using it.
(Regarding Allegro, the 4.4 series is a completely different API from the 4.9 series in development, but both can create a window for rendering OpenGL. I would personally suggest using the 4.9 series.)
Re:Standard C++ books (Score:3, Interesting)
Koenig's "Ruminations" are beautiful! So glad you included it!
Definitely second that list. I would add Alexandrescu's "C++ coding standards" (I'm an Andrei fanboy), and Sutter's "Exceptional C++: 47" and "Exceptional C++: 40 new".
For the very beginning of C++, I like Lippman's "Essential C++", and, when you're feeling up to it, Lippman's "C++ Primer". If you want to know how C++ works under the hood, read "Inside C++ Object Model", also by Lippman (it's heavy lifting, and not needed for just using the language).
There are some other nice books around this topic, but I think these two lists complete the 'core'.
Source code of glxgears (Score:3, Interesting)
Also, when I was looking for an OpenGL example that uses just X11, without Qt/Glut/whatever, the best one I could find was this: http://msdn.microsoft.com/en-us/library/dd318252(VS.85).aspx [microsoft.com] (Yes, the irony is overwhelming...)
VTK (Score:1, Interesting)
If you really be able to make complicated 3D scenes quickly I'd recommend learning VTK (Visualization ToolKit). It's what professional visualization researchers use to display data, has a bit of a learning curve but it has a ridiculous number of 3D graphics algorithms (extrusion, creating meshes from point clouds, transformations, importing data from various formats, etc. etc.)
Also if you really want to be able to prototype ways to visualize 3D data quickly there are python bindings :)