- 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 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.
"I really enjoyed some courses in Pikuma platform, but I think this is one of those which make you think: 'Incredible! I wanted to create a 2D/3D engine from scratch, understanding all the inner workings', and that's it, this is the right course for those who want to learn and do their own library! Thanks for this amazing course (and the others too)!"
"There is so much to learn! I have enjoyed this course, particularly I loved that the mathematics were explained and applied right afterwards. This course has taught me to appreciate the graphics we have today, the work other people have gone through in the past. It is crazy how much more knowledge and tricks there are to graphics programming."
"Thanks Gustavo for creating this amazing resource. Gustavo is brilliant at making a complex topic so approachable and fun to learn. The course is perfectly paced. All the theory and math is very well explained along with interesting info about retro games. I had learned linear algebra in high school but never really understood any of it but this course has was a true light bulb moment for which I'll be ever grateful! I'm looking forward to working through Gustavo's other courses."
"I can only say positive things about this course.
For starters, I have always been math curious but even in my university program, math was not so emphasised, (it was a program more focused on the business end of things). But being able to, so far, understand the complex, yet also in a way simple mathematics, was really amazing. I am also a C enjoyer, and this course does not disappoint and really takes you along to write the wheel so to speak.
For someone like me, with a philosophy background, this course goes deep into the thick of what I am most fascinated about with computer science, and well...graphics of course!
So far, I have only developed a 3D cube, but even my kid loves it and finds it really cool.
I think this course is truly exceptional, if you are like me and want to dig deep into a topic, but don't exactly know how, this would be the course for you."