- 45 hours on-demand video content
- Lifetime access
- Live meetup
- 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 April 2026
$99.99
ENROLL NOW FREE PREVIEW
This 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!
Since our main goal is understanding and not simply speed or productivity, I have made a judgment call of not using A.I. tools (or any other shortcuts) in our learning journey.
"But isn't A.I. better at solving problems than us?" ...maybe, but that doesn't matter. Ultimately, this was designed to be a platform for amateurs and hobbyists, so there is really no reason to spoil the fun of discovery.
71% of our students come back for another course
We don't offer discounts on our courses. Ever.
"If you haven't seen these readings before, let me tell you that these are the courses that I wanted to have before going to college. And if you are interested in computer graphics, inner workings, or just trying to understand better computers. They are fabulous."
"Is very good but is an old course. I like that the teacher explains almost everything, tells the reason about what we and why its important. But as it says in the title, is old, and get all the tools to make this work is kinda hard because now in 2026 visual studio and SDL ( a library ) have been updated to new versions, at the moment I'm writing this, I'm using the newest version of Visual Studio and the newest SDL library before the 3.0 version, I got some errors implementing the library in the Visual Studio that I havent solve yet, I'd like some update to the 'Compiling the Proyect' Part to includes links or ways to get the versions that we need for the course but the discussion table very usefull and i also apreciate that the teacher after all the time he stills checking the board and solving issues the students have. I just have done the 3% of the course so I assume that after we have all the tools working correctly, the rest of the course must be good taking in count the experience with the Lua course I have prove (not done) wicht i liked (english is not my native language, sorry if it sounds weird)"
"Good stuff! Critical if you want to do 3D graphics programming."
"Amazing course! It demystified a lot computer graphics for me. Now I can see that it’s not something magic and unachievable."
"Pretty Awesome so far! I still can't believe I wrote something with C."