- 38 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 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!
73% of our students come back for another course
We don't offer discounts on our courses. Ever.
"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!"
"Great stuff! If you've ever wondered how 3D graphics work but had no clue where to begin, this course is awesome. I've always been curious about how 3D stuff gets rendered, but I never really understood the ins and outs. This course totally blew my mind and gave me way more than I expected."
"From BASIC to C++: A 2025 Comeback! My first attempts at programming graphics were in 1988 in the BASIC language on an Epson PX-8 computer. Then I put it aside for a few years and returned to it in 2025. Five kids, a midlife crisis. Just the perfect time to fly in my own LHX-like simulator. I'm planning to take a C++ game engine course, but I'm taking my time to prepare and review for it."
"Blew my mind! I've been wanting to learn more about 3D graphics programming for quite some time, specially with retro machines in mind. This course blew my mind, Gustavo teaches everything so clearly, and even math topics that were really hard to understand from school and college, are now crystal clear. I've really developed a greater appreciation for all these topics. Thank you Gustavo, and it goes without saying that this course is highly recommended for everyone with a passion for computers, programming, math, and games. See ya!"