About this Series

C++ Programming Issue 1: Introduction to C++

This VTM will introduce you to the world of C++, using beginner-level examples and descriptions. The lessons include proper use of variables, data types, operators, loops, and arrays.


  • Introduction to C++ (24.7 mins)
  • Variables and Data Types (19.5 mins)
  • Operators (24.8 mins)
  • Control Statements and Branching (24.8 mins)
  • Control Statements and Looping (18.8 mins)
  • Introduction to Arrays (22.4 mins)

C++ Programming Issue 2: Intermediate Techniques

This VTM expands upon the techniques established in the first VTM. The included lessons cover the use of pointers, structures, functions, classes, and the nature of inheritance in object-oriented programming.


  • Introduction (2.1 mins)
  • Pointers (30.8 mins)
  • Structures (12.7 mins)
  • Functions (35.6 mins)
  • Classes (53 mins)
  • Inheritance (21.4 mins)

C++ Programming Issue 3: Introduction to Game Development

This VTM will introduce you to the necessary skills to write your own game using C++! The lessons cover the creation of the main game loop, the construction of the draw engine, and the development of each of the necessary classes to make the game work.
Note: The Introduction video of this VTM mentions that the game will be ported to the Game Boy Advance. This content has yet to be recorded, as it was not the main focus of the VTM.


  • Introduction (22.8 mins)
  • Project management (23 mins)
  • Game Loop (33.7 mins)
  • Draw Engine (39.5 mins)
  • Sprite Class (31.2 mins)
  • Character Class (16.5 mins)
  • Level (1 hr 4 mins)
  • Enemy Class (48.7 mins)
  • Mage and Fireball (34 mins)

C++ Programming Issue 4: Graphical User Interface (GUI) Design

This VTM will teach you how to develop your own graphical user interface, or GUI, for your applications. The lessons will use wxWidgets, so that the result will be compatible with multiple platforms, rather than being limited strictly to Windows. Lessons include how to obtain wxWidgets, the creation of your first application using wxWidgets, control creation, use of events, graphic implementation, and how to use precompiled headers to speed up compile times.


  • Introduction to wxWidgets (11.7 mins)
  • Creating Your First Application (14.1 mins)
  • Creating Controls (24.3 mins)
  • Event Handling (20.5 mins)
  • Using Dynamic Events (15.8 mins)
  • Creating and Editing Graphics (20.2 mins)
  • Using Precompiled Headers (7.5 mins)

C++ Programming Issue 5: Creating a Sprite-Based Game

Issue 5 of the C++ Programming VTM Series will enhance and hone the skills obtained in every issue thus far, teaching you how to improve upon the game created in Issue 3. Throughout the lessons, you will create a graphics engine for the game, a custom user interface in which to play it, and a fully functional level editor, allowing the player to customize their gaming experience! Plus, as an added bonus, the CD includes special lessons only available on this disc!


  • Introduction (8.4 mins)
  • Creating the Game's Interface (16.1 mins)
  • Integrating Existing Code (34.7 mins)
  • Timer User Input (12.8 mins)
  • Game State Management System (29.5 mins)
  • Adding Sprite Speed Control (14.2 mins)
  • Graphics Finalization (27.2 mins)
  • Creating the GUI for the Level Editor (38.5 mins)
  • Adding GUI Functionality - Part 1 (28.7 mins)
  • Adding GUI Functionality - Part 2 (32.8 mins)
  • Adding GUI Functionality - Part 3 (22.7 mins)
  • Saving and Loading Packages (17.9 mins)
  • Loading Packages into the Game (41 mins)
  • BONUS (only available on this CD): Content for implementing Mana pickups in the game

OpenGL In-Depth (C++ VTM #6)

Are you interested in learning about graphics programming using OpenGL? Have you ever wanted to create your own fully-interactive 3D applications? Now is your chance to get in tune with this popular 3D graphics API! The OpenGL In-Depth will take you from the beginner level to a thorough understanding of the OpenGL graphics API as you explore the graphics techniques behind many of today's modern game engines and 3D applications! You'll learn multiple methods for interfacing with OpenGL as you create your own multiplatform 3D graphics programs, allowing you to design and explore your own virtual worlds! You'll also see how to integrate custom geometry, texturing, lighting, and fully navigable viewports into your applications! You'll also see how to create your own particle engine to populate your scenes with sparks, fire, smoke, and other environmental effects! Once you've laid a foundation for using OpenGL, it's time to take your skills to a higher, more professional level by learning focused techniques and advanced applications. In this VTM, you'll see how to handle many of the techniques currently used by professionals in the graphics industries! You'll see how to handle real-time shadowing and reflections, antialiasing, and bump-mapping, as well as creating your own custom shaders! The VTM also includes how to optimize your 3D environments using Octrees, Quadtrees, and BSP Trees!

In addition, you'll receive a full lecture over the creation of three-dimensional curves! You'll develop an understanding of the mathematics behind Bezier, Hermite, and NURBs curves! These techniques can then be applied for the creation of your own curved-based surfaces, such as NURBS!

As an added bonus, we'll also show you how you can tap into the FBX format for bringing a variety of 3D assets into your applications! You'll see how you can create an importer for your programs to allow you to use the FBX format to bring geometry, textures, lights, and even skinning information and bone animation into your scenes! The lecture will cover how to use FBX to bring a fully animated and textured character into your own OpenGL application!


  • Rendering Techniques Discussion
  • Exploration of the OpenGL Library: GL, GLu, and GLUT
  • Graphics Architecture
  • Interfacing with OpenGL using wxWidgets, SDL, GLUT, and the Windows API
  • Applied Linear Algebra including matrices and vector operations
  • Geometry and Transformation Handling for Animation and Interactive Viewports
  • Texture Mapping using BMPs and TGAs
  • Lighting techniques utilizing multiple light types and a discussion of lighting models
  • Techniques for fast geometry rendering using display lis
  • Creating and using text
  • BONUS TOPIC: Creating an OBJ Loader for importing custom geometry from your favorite 3D application!
  • Utilizing the Stencil Buffer to create real-time shadows and reflections
  • Using antialiasing techniques in your applications
  • Discussion of optimization techniques including BSP Trees, Octrees, and Quadrees
  • Curve discussion covering Berstein Polynomials, Bezier Curves, Hermite Curves, and NURBs Curves
  • Discussion of Scene Trees
  • Shader Creation with Vertex Shaders and Fragment Shaders
  • Selecting objects in your 3D viewports

This VTM is your one shot opportunity to get started creating your own 3D applications using this incredible graphics API! You'll find everything you need to develop a deep understanding of graphics programming using OpenGL!