Post-Relaunch Update
A quick breakdown of the changes that have happened since the relaunch and a bit of information about what's to come.
A quick breakdown of the changes that have happened since the relaunch and a bit of information about what's to come.
You may have noticed that for a few days the site was unavailable. This was caused by my old host, GoDaddy, who without informing me pulled the plug on my VPS account that hosted this site for the last three years. I still don't know why this happened and can't manually reactivate the account. Oh well, their loss.
However, this fiasco gave me incentive to finish converting the site to Markdown in preparation for release to GitHub Pages. I was planning this anyway, so tonight I put the final touches on the conversion, and as of right now, the entire site is hosted on GitHub pages.
1.) Even though the site's code samples were previously released under the MIT license, the site's contents were not open source. This has now been remedied by licensing the contents of the site under the Creative Commons Attribution-ShareAlike 4.0 International license (CC BY-SA 4.0). The source code for the entire site is now available on GitHub for anyone to mess around with.
2.) I don't have to pay for hosting anymore, so no more ads (yay!).
3.) Inline code samples are now hosted as gists, which makes maintaining the site content less of a nightmare.
4.) Chapters are stored as Markdown, so they're editable in any text editor, not restricted to a clumsy web-based WYSIWYG editor.
I'm expecting more issues with the site in the next couple of days, so if you come across something that doesn't look quite right, please report the issue.
Over the course of the last few months, I have received numerous emails and bug reports from people trying to compile the sample code as C++ code. So many, in fact, that I'm starting to think that the site may actually benefit from C++ code samples instead of C code samples.
To get a good idea of the consensus of C++ vs C in this case, I've opened up a little poll. Please take a second or so to select an option from the list and vote, I'd really like to hear your opinion on this. Also, if you have a comment on this, please post it as well.
Poll Closed
If you're getting the message Unable to create OpenGL 4.0 context (flags m, profile n)
when creating your context (where m and n are numbers) your hardware does not support OpenGL 4.0.
Sadly, this is not something you can fix without upgrading your hardware. As mentioned in the Preface, the minimum graphics hardware you need for an OpenGL 4.0 context is:
It is possible to run many of the samples using OpenGL 3.3 by using the code files found in the "OpenGL 3.3" directories of each chapters' source code listings. However, OpenGL 4.0+ core features will not work in OpenGL 3.3.
This post walks you through setting up OpenGL, GLEW, and FreeGLUT support in Visual C++ in order to compile the samples properly. My original thought was to put this in an appendix after all of the chapters were completed, but there's need for it now, so here's the extremely verbose step-by-step explanation: