- 37 hours on-demand video content
- Lifetime access
- Downloadable resources and exercises
- Certificate on completion
- Access on mobile and desktop
- Secure checkout via Credit Card or PayPal
- 14-day money back guarantee
- Last updated November 2023
$79.99
ENROLL NOW FREE PREVIEWThis is one of my favorites!
This course is a complete immersion into the fundamentals of computer graphics! You'll learn how a software 3D engine works under the hood, and use the C programming language to write a complete software rasterizer from scratch; including textures, camera, clipping, and loading complex OBJ files. Pixel per pixel, triangle per triangle, mesh per mesh.
We'll review all the beautiful math that makes 3D computer graphics possible as we tackle all concepts from first principles. We'll also write a comprehensive software renderer that can display complex 3D objects on the screen without the help of any graphics API. No GPU, no OpenGL, no DirectX! Just a C compiler and a little bit of linear algebra is all we need to create a final project that is nothing short of amazing!
We'll simply use the command-line, a code editor, and a C compiler. All these tools are multi-platform, so you'll be able to code along on either Windows, macOS, or Linux!
Also, make sure you have pen and paper ready for the lectures. This course will probably be a little bit different than other programming courses you took before. We will take our sweet time and make sure we understand every formula we find along the way!
This is a self-contained course with no prerequisites. However, you will probably get the most out of it if you already know the basics of coding (if-else, loops, functions).
If you never programmed in C before, don't worry! Many successful students come from different languages like Java, Python, JavaScript, Swift, and others. We'll learn to work with the C language together.
Gustavo Pezzi is a university lecturer in London, UK. He has won multiple education awards as a teacher and is also the founder of pikuma.com.
Gustavo teaches fundamentals of computer science and mathematics; his academic path includes institutions such as Pittsburg State University, City University of London, and University of Oxford.
This course is not just a simple tutorial on how to use an existing graphics library or how to glue OpenGL or Vulkan code together. This course focus on the foundation of 3D graphics and provides a careful review of the math that underpins these concepts.
If you want to understand how computers display 3D objects on the screen and also learn some of the techniques used in the development of retro 3D games, then buckle up! This is going to be a 35-hour journey of pure nerd fun!
73% of our students come back for another course
We don't offer discounts on our courses. Ever.
"Great fun! I'm really enjoying this practical, purposeful and interesting introduction to both the C programming language and 3D programming. Having modelled in Blender and used Godot to create simple 2D games, this course has been eye opening in terms of the complexity hidden from us."
"Better than you expect! Worth every dollar. Gustavo clearly loves this stuff, loves teaching, and has put a lot of work into this course."
"I really think this course is outstanding! I notice the care and love that Gustavo puts into each topic. It is worth every penny. Gustavo is a natural-born teacher."
"Absolute brilliant in 3D programming education! I came to this course as an already experienced GPU developer with a simple goal. I wanted to understand more about 3D rendering. But not in the terms of proper usage of GPU frameworks' APIs. Instead I wanted to understand how these APIs work under the hood. It was one of the most interested programming journey (very long though) and in the end of it I can say that I didn't find the holy grail but the holy grail was completely demystified. Everything that seemed to be the 'magical' part of the GPU now is a set of operations and algorithms. Several years ago it was a pleasure for me to render the first 'hello triangle' program in Metal but to render it completely by hand in a pure C is a next level pleasure :) I would recommend this course to everyone interested in graphics programming. Doesn't matter if you already work with any GPU framework or not. This course is not about how to work with GPU but how to be a GPU!"
"I will recommend it to everyone that is interested in 3D graphics! It's just a very good introduction to 3D computer graphics."