Loading video...

Video Failed to Load

Go Home

In this course, you'll learn how a 3D software renderer works by coding a complete 3D rasterizer from scratch in C. • math review • wireframe • flat-shaded polygons • texture mapping • loading OBJ files • camera • clipping • etc. Enroll now: 🔗

34,493 views • 3 years ago •via X (Twitter)

11 Comments

Mehmet Akyüz's profile picture
Mehmet Akyüz3 years ago

The best course on software rendering. If you're into graphics programming, there you go, Gustavo will hold your hand gently.

Graeme's profile picture
Graeme3 years ago

I’m busy doing this course. It’s brilliant. Do it.

Kknewkles Wildwision's profile picture
Kknewkles Wildwision3 years ago

Does the course process multi-group and multi-object OBJ files? Asking for a friend... 😂 (Pure curiosity, actually. Working on OBJ parsing at the moment and some _miscreant_ meshes were detected in the wild)

pikuma.com's profile picture
pikuma.com3 years ago

It's "the simplest thing that works" approach. We open a raw OBJ file and start reading vertices, faces, UV coords, and then we proceed to render that data. Our code is one 3D object per-file, but we can render multiple 3D objects/meshes in one scene.

Alex's profile picture
Alex3 years ago

looks great! for someone with very basic experience using an existing API (opengl) how well does this course transfer over to that kind of skill?

pikuma.com's profile picture
pikuma.com3 years ago

I'm biased, but I think this course is *exactly* for those students. You probably won't need to implement this yourself, but it helps to clarify why OpenGL does things the way it does (or Direct3D, or Vulkan, etc.) The content is agnostic to the graphics API you choose to use.

Yamaheru's profile picture
Yamaheru3 years ago

I'd be amazing if it'd regional pricing :(

Steve Moffett's profile picture
Steve Moffett2 years ago

I’m probably thinking wayyyyy too far into the future and making big assumptions with this question, but out of curiosity, if I made an application based on what I learn in this course, would I be bound by GPL or more restrictive software licenses?

pikuma.com's profile picture
pikuma.com2 years ago

The USP of my content are the lectures and the intuition you get from it. You're free to do whatever you want with the code, but I would not recommend using it on production anyway. Code is cheap; we can find everything on Github anyway. Understanding is king! 🙂

MrZinvixYT's profile picture
MrZinvixYT1 year ago

Which language will be used?

pikuma.com's profile picture
pikuma.com1 year ago

C99

Related Videos

DreamCraft3D: Hierarchical 3D Generation with Bootstrapped Diffusion Prior paper page: present DreamCraft3D, a hierarchical 3D content generation method that produces high-fidelity and coherent 3D objects. We tackle the problem by leveraging a 2D reference image to guide the stages of geometry sculpting and texture boosting. A central focus of this work is to address the consistency issue that existing works encounter. To sculpt geometries that render coherently, we perform score distillation sampling via a view-dependent diffusion model. This 3D prior, alongside several training strategies, prioritizes the geometry consistency but compromises the texture fidelity. We further propose Bootstrapped Score Distillation to specifically boost the texture. We train a personalized diffusion model, Dreambooth, on the augmented renderings of the scene, imbuing it with 3D knowledge of the scene being optimized. The score distillation from this 3D-aware diffusion prior provides view-consistent guidance for the scene. Notably, through an alternating optimization of the diffusion prior and 3D scene representation, we achieve mutually reinforcing improvements: the optimized 3D scene aids in training the scene-specific diffusion model, which offers increasingly view-consistent guidance for 3D optimization. The optimization is thus bootstrapped and leads to substantial texture boosting. With tailored 3D priors throughout the hierarchical generation, DreamCraft3D generates coherent 3D objects with photorealistic renderings, advancing the state-of-the-art in 3D content generation.

AK

161,530 views • 2 years ago