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 bc6f997174 Code updated to include chapter 4 changes пре 8 година
Chapter01 ab0e6a19a7 Minor changes пре 8 година
Chapter02 1273bf289e Fixed window name typo for chapter 2 пре 8 година
Chapter03 481d2c7120 Chapter 3 done (windows) пре 8 година
Chapter04 57c3130ae8 Forgot to add search to vcxproj пре 8 година
Chapter05 bc6f997174 Code updated to include chapter 4 changes пре 8 година
External 61add41043 Fixed FMOD version reference in readme пре 8 година
.gitignore 7d78c7be94 Added gitignore пре 8 година
LICENSE 87bace1813 Update LICENSE пре 8 година
README.md 61add41043 Fixed FMOD version reference in readme пре 8 година

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.