Code of the Game Programming in C++ book. Complete OpenGL 3D tutorial code and samples to use as a learning resource. Including basic shader code examples too.

#gamedev #example #cpp #opengl #engine #tutorial #c++ #library #framework #starter #glsl #shaders #gl #3d #2d

Sanjay Madhav 3a90a2faa9 Added Exercise 7.2 camera code 8 years ago
Chapter01 fed429f9ec Chapter 1 mac 8 years ago
Chapter02 398d8ed3bc Added chapter 2 character assets (for Exercises) 8 years ago
Chapter03 8e49ec2928 Chapter 3 mac 8 years ago
Chapter04 70ddf554ae Chapter 4 mac 8 years ago
Chapter05 09f77ffe65 Chapter 5 mac 8 years ago
Chapter06 64e627b398 Removed unnecessary extra includes in Main.cpp 8 years ago
Chapter07 6d227a7d41 Updated fire loop sound to enable doppler effect 8 years ago
Chapter08 eca5ff04e7 Fixed window title for chapter 8 8 years ago
Chapter09 35c677f1c0 Use screen width/height variables in unprojection 8 years ago
Chapter10 f496faafb5 Removed racing car asset from Chapter 10-12 (don't need it beyond 9) 8 years ago
Chapter11 11d5aa9348 Merged LoadFont/GetFont 8 years ago
Chapter12 ab0e663904 Change AddSprite to use sorted insertion 8 years ago
Chapter13 ab0e663904 Change AddSprite to use sorted insertion 8 years ago
Chapter14 fb04980ca4 Chapter 14 mac 8 years ago
Exercises 3a90a2faa9 Added Exercise 7.2 camera code 8 years ago
External 61add41043 Fixed FMOD version reference in readme 8 years ago
FMODStudio 2809ff2e29 Added FMODStudio assets for Chapter 7/10 8 years ago
.gitignore 11d5aa9348 Merged LoadFont/GetFont 8 years ago
LICENSE 87bace1813 Update LICENSE 8 years ago
README.md 61add41043 Fixed FMOD version reference in readme 8 years ago

README.md

Game Programming in C++ Code

This repository contains the source code for Game Programming in C++ by Sanjay Madhav.

The source code for the chapters is released under the BSD 3-clause license. See LICENSE for more detail. Note that this license does not apply to the code in the External directory. Each External project is licensed separately.

Building the Code

Each chapter's code is tested and works on both Microsoft Windows and Apple macOS.

To compile on Windows, install Microsoft Visual Studio 2017 Community (https://www.visualstudio.com/downloads/). During installation, select the "Game Development in C++" workflow. In each Chapter directory, there is a corresponding ChapterXX-windows.sln file to open.

To compile on macOS, install Xcode from the App Store. Each chapter has a corresponding ChapterXX-mac.xcodeproj file.

Code for Chapter 7 and beyond uses the FMOD API for audio. This requires a separate installation from (https://www.fmod.com/download). Download and install version 1.09.x of the FMOD Studio API (newer versions are untested). On Windows, install FMOD to the default directory. On Mac, copy the contents of the FMOD package into External/FMOD.