- 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 December 2025
$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!
71% of our students come back for another course
We don't offer discounts on our courses. Ever.
"I genuinely didn't expect to enjoy this course as much as I did.
Most of the time when I'm learning something in programming or math, I hit that frustrating wall where everything feels like a black box. You're told what to do, maybe even how to do it, but not why. And that always makes me want to scream: I don't want to just use abstractions blindly, I want to actually understand what's going on underneath. This course delivers exactly that.
Instead of hiding complexity, it carefully unwraps it. Concepts are introduced in a way that feels natural and logical, with clear explanations, visual intuition, and strong references that tie everything together. Nothing feels vague. You can actually follow the reasoning step by step and build a mental model of how things work.
One of the biggest highlights for me was how it explains matrices and linear transformations. These are topics that often feel abstract and disconnected when learned traditionally, but here they finally click. The course provides one of the best explanations I've seen for why they matter, especially in the context of graphics. You don't just learn formulas, you understand their purpose and how they shape the world of 3D rendering.
Overall, this course is incredibly engaging and intellectually satisfying. It doesn't just teach you techniques, it deepens your intuition and gives you a real feel for the math and graphics behind the scenes.
If you're someone who hates treating things as black boxes and wants to truly understand what you're building, this course is absolutely worth your time. It's not just educational, it's genuinely enjoyable.
Totally wonderful experience. Thank you, Gustavo."
"Ok"
"Best course for computer graphics fundamentals. Buy this if you really want to learn how computer graphics works."
"I'm stupid, but I love this course. So I'm almost 43 years old and decided to quit my comfy corporate job to save my soul :) Now I'm jobless, and since I have some free time, I decided to learn C... I'm not sure it's the best idea I've had, because this course constantly makes me feel stupid :) and I'm definitely having doubts that my brain is built for this kind of stuff... For example, in the beginning the teacher gave us this little 'easy' challenge to draw a rectangle on the screen. Easy task, he said, easy exercise... I spent almost a day banging my head against it, eventually managing a shitty solution, but it was working! So I was really happy and got quite a lot of dopamine out of it :D
Anyway, if you're a beginner I recommend doing what I did: before taking this course, I did some learning of C basics on my own. Then I gathered my courage and started this course :) So if you're a beginner, do some learning of basics before taking this one. Please note that the teacher really does explain what he's doing, even explains the basics, but you feel much more comfortable if you already know some of those basics.
The course is great, I'm still at the beginning, but I'm definitely excited about what's coming. I need to be honest, I don't see myself programming 3D graphics on my own after this course. I simply can't believe that I'll be able to learn this :) But if I'm able to do something like that after finishing this course, then man... I'm definitely buying more courses on pikuma.com :)
The teacher is great, I love his teaching style. Would love to be able to download those videos, because currently my internet connection sucks, so it would be nice to download videos and watch them later at high quality without interruptions.
Anyway, sorry for this wall of text, this rambling :) Have an amazing day good people!"