These tutorials focus mainly on OpenGL, Win32 programming and the ODE physics engine. OpenGL has moved on to great heights and I don't cover the newest features but cover all of the basic concepts you will need with working example programs.
Working with the Win32 API is a great way to get to the heart of Windows and is just as relevant today as ever before. Whereas ODE has been marginalized as hardware accelerated physics becomes more common.
Games and graphics utilities can be made quickly and easily using game engines like Unity so this and Linux development in general will be the focus of my next tutorials.
Win32 API Tutorials
Before diving into the first tutorial the following might help explain why we prefer to create our Windows applications using the Win32 API.
Through writing an application using straight Win32 you will gain a better understanding of how the API works, reduce bloat and have more control over the appearance and behavior of your applications. You will be interacting with the windows operating system at the lowest level possible and gain access to features not available when using Microsoft Foundation Classes (MFC) or a visual compiler.
To give an example I would like you to think back to when you last saw a multicolored window, one that didn't use the current theme colors. Most likely you have rarely seen one; the reason for this is that there are no simple functions to set the colors of a window or its controls. This is a blatant attempt by Microsoft to make all applications conform to a standard appearance. By failing to provide an easy way to set the colors of a window and its controls Microsoft can be somewhat assured that few anarchistic looking applications will be produced. To overcome this limitation and many others we will need to know the Win32 API in depth; then we can create a better way to design and manage our windows through the use of owner-drawn controls and object orientated programming, which are covered later in the tutorials.
In this series of tutorials I will start by showing you how to create a standard single window application and progress through to encapsulating the main window and other controls in C++ classes.
All of the example programs used with these tutorials were compiled using the free Dev-C++ compiler which is covered in the second tutorial.
If you are new to Win32 API programming then I suggest you download a copy of the Win32 Reference Manual and this help file viewer before going on to the first tutorial on how to make a Basic Window.
For further help you could also go to #winprog on Efnet IRC where you can ask questions and talk about anything to do with the Win32 API.
Creating a Window
Dev-C++
Adding Controls
Resources
Splash Screen Tutorial (bitmap resource)
Dialogs Tutorial (template resource)
OpenGL
Buttons
Standard Buttons
Checkbox Buttons
Radio Buttons
Auto Radio Buttons
Color Buttons
Group Boxes
Standard Group Box
Static Controls
Static Text Control
Menus
Adding a Class Menu
Edit Boxes
Standard Edit Box
List Boxes
Standard List Box
Combo Boxes
Standard Combo Box
Dialog Boxes
Modeless Dialog Box
Status Bar
Status Bar
Scroll Bars
Scroll Bar Controls
Tool Bars
Toolbars
Tool Tips
Tooltips
Timers
Timers
Progress Bar
Progress Bars
Multiple Document Interface
MDI Application
Console Debug Window
Dialog Main Window
Object Orientated Win32
Win32 Reference Section