Chapter 3 from OpenGLBook.com is now available. The new chapter covers index buffers and primitive types. Source code compatible with OpenGL 3.3 is provided.
The code for several demos in the GLUT tutorial was plagued with a int to void * conversion. While this seems to work perfectly in Windows, at least in this case, Linux users found out that it did not even compile.
The code has been updated and hopefully the problem is gone. Please do report any problems you find. I’m sure there must be some bugs still on the loose…
ShaderGen is an old tool from 3D labs, but its usefulness is not gone. The tool creates shaders that mimic the results of a set of fixed function state. There is a large set of options to define a state as available in OpenGL compatibility mode. Lighting, Fog, and all the other features that are gone in core profiles. Select the options you desire, check the result with fixed functionality, and then press “generate”. The tool creates the shaders that emulate those fixed function features. It only produces GLSL 1.2 code, but conversion shouldn’t be an issue.
ShareCG is a site with a huge amount of modelling tutorials, 3D models for download, and textures.
The Lighthouse3D OpenGL View Frustum Culling Tutorial has been ported to the new site. Bug reports and suggestions are most welcome.
The OpenGLBook site released chapter 2. This chapter covers how to draw simple geometry using vertex buffer objects.
GLUT was conceived by Mark Kilgard with the goal of providing a simple, yet powerful enough, toolkit to deal with the intricacies of the windowing system when building OpenGL applications. In my opinion GLUT was a very effective solution and completely fits the bill. As far as I know, GLUT is still the simplest toolkit around and yet it does most of what is needed for simple prototypes.
GLUT however is not free of criticism. Complaints about the lack of control on the event loop are abundant on the web and some extra functionality, context creation and multisampling, would be most welcome.
GLUT is not open source hence it could not be modified, so GLUT clones have appeared. These kept the API (all gluts functions are usually implemented exactly with the same name) but improved and extended it to address the above mentioned issues.
There are open source versions of GLUT, such as freeGLUT and OpenGLUT. They all kept the API so 99.9% of what will be presented in this tutorial is still valid. Nonetheless these new versions do have some extensions that make it worth a try. Check out the extensions in freeGLUT here.