Skip to content

Unofficial repo for Frank D. Luna's "Introduction to 3D Game Programming with DirectX 12".

Notifications You must be signed in to change notification settings

yottaawesome/intro-to-dx12

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Introduction to 3D Game Programming with DirectX 12 source code

Introduction

This is an unofficial fork of the sample code repo for Frank D. Luna's excellent book Introduction to 3D Game Programming with DirectX 12. No representation is made that the source code belongs to me, it's simply reproduced here for convenience (so you don't need to dig up the physical media of the book) and remains the copyright of Frank D. Luna.

Building

You'll need Visual Studio 2022 with the Desktop development with C++ and Game development with C++ Visual Studio workloads. Once you've satisfied these requirements, you should be able to open any of the included SLN files, build, and run the sample apps. Obviously, you also need to have a GPU that supports DirectX 12 for the samples to work correctly.

Changes

All projects have been updated to use Visual Studio 2022 and retargeted to the latest Windows SDK. For convenience, an additional solution file AllProjects.sln has been added that includes all the projects.

Considerations

If you're a novice looking to learn game development, this book and repo is probably not the best place to start, and you might be better off looking at resources for building games in Unreal Engine or Unity. This repo is mainly useful for professional and amateur game engine and graphics programmers wanting to learn how to work with DirectX 12. Needless to say, building a 3D game or rendering engine is a lot of hard work, and this book really only touches on the DX12 rendering aspect of such an engine, without touching on things like design, sound, gameplay, etc, so don't expect to master game development purely using this resource.

Additional resources

General

Guides and tutorials

Samples

Related technologies