Code-It-Yourself! 3D Graphics Engine Part #3 - Cameras & Clipping

preview_player
Показать описание
Phew, it's a long one but I feel necessary to get this series moving. This video describes how to implement cameras and clipping planes in a 3D engine. In addition, I derive the look at and point at matrices, typically used in cameras, and talk about how to clip triangles against planes in world space, views space and screen space

Twitter: @javidx9
Twitch: javidx9
Рекомендации по теме
Комментарии
Автор

Hey, its long I know, but its difficult to demonstrate cameras without clipping, and its not very interesting to demonstrate clipping without cameras :D Anyway, as with all my videos - best enjoyed in your own time, and at your own pace.

javidx
Автор

“If your goal is to learn about wheels, then there’s nothing wrong with reinventing the wheel”

I think Jack’s a genius

smellthel
Автор

That awkward feeling that a random youtuber can explain Analitical Geometry much more intuitively than your average college professors.

jimjohn
Автор

This is exactly the level of complexity and abstraction I have been looking for in beginning computer graphics, but I could never find in the places I've looked. This series has given me a lot more confidence in approaching the maths and API's of lower level graphics programming. Thanks javidx9!

DUGlE
Автор

Wow, wish I had them math skills..
This is honestly the best YouTube channel when it comes to designing games / engines from scratch.
I like that you're not trying to overcomplicate things by adding complex language's features, I think that's good approach of teaching.
Well done!

outsiderst
Автор

For those who enjoy following along with the video instead of loading up the final source code, and things display back to front when you first load up "axis.obj", there was a bit of code skipped at the end of the first section where x/y of triProjected are inverted ( *= -1.0f) before offsetting by {1, 1, 0}.

echo
Автор

Thank you so much for this video series. a lot of the math that goes into 3d projection is really intimidating and hard to understand but your method of introducing a method as a black box then elaborating on that method further down the line really helps me understand the information being presented. Considering that I'm a high school student with below-average math grades and even I can understand and comprehend what's going on in these videos is just incredible. One other thing, I'm not just stealing the code you've graciously put up on Github, I'm writing it from scratch in python 3.7 with the PyGame library for plotting and some Vector3 calculations as well.
The fact my code works at all is just a testament to how well-structured your videos are. Keep doing what you do man you're the best!

lonkwuzhere
Автор

I really appreciate that you took the time at the top of this video to walk through the decision making process behind your refactor. I think people at every level of software development get frozen up and often completely shut down by these kinds of design dilemmas; I feel that you taking the time to talk about your own choices is a nice way to let people know that they are not alone in their indecision.

blahbeastie
Автор

This is a great little project!
I got a great deal of enjoyment out of implementing your 3D Graphics Engine in/for a SFML Render Window.
I slowly work my way through the videos and watched a few others.
It allowed me learn a great amount and revisit mathematics I haven't used in years.

My real surprise and delight was when I realized/understood your window or frame was the actual
Window's "console window" and the implications.
Dude, That's Novel! Good Show!

htweiss
Автор

Looking at this 3 years later and this is so instructive! I never had any class on the subject and I think the explanations are so clear. I won't make my own engine but I find it so interesting to see how it works.

thefrenchdev
Автор

55:20, thanks to this now I can't play games without hitting 100% brain usage trying to visualize every thing thats happening under the hood, I'm almost 2 months into learning computer graphics and I am just enforcing my belief in "making games is way more fun than actually playing them.", every day.

You've done a great job of explaining every bits of math that's going on. As a 'NOT a math genius' I really appreciate your efforts trying to visualize concepts for us visual learners.

I don't have much to say as I am still recovering from joy of watching this, please never stop making these videos.

kamran_aghlami
Автор

To those following along;
In the method, there's an unused normalized vec3d n. Don't attempt to fix the line below with that variable; else you'll be normalizing the value twice :P


Excellent tutorial Javid. I heard a rumour there's more 3D to come; I'd love to see a Javidsplanation of parent-child transformations for an object/scene graph!

whoshotdk
Автор

I have NO WORDS. This is some sort of Art. For my humanitarian mind – almost a Drama.
I'd wish you were my Math teacher at school years-years ago, I would understand what a greatest goal I have to suffer for!
Thank you for the pleasure of learning from you!

art_out_of_despair
Автор

I’m going to have to watch this one a few times to understand. I never got into vectors or matrices so this is all new to me.

dailyshadow
Автор

Great video as always, and I like the intro with the music! Perfect. I can't wait to see what you do next.

DSage
Автор

I thoroughly enjoyed your video to the point where I'm going to go back and watch Parts 1 and 2 before I continue to Part 4. The amazing thing to me is that it was all done using console characters. I'd like to see it rendered with your graphical framework.
Oh, and just one more thing: Your intro made me think of "2001: A Space Odyssey" straight away! I loved it!

joedempseysr.
Автор

every time you say "intuitively", I add two weeks. love the videos, though- thanks Javid

davidpike
Автор

This is still the console application right?

lucs
Автор

i have stayed up at night just to watch this video since it gives so much juicy information that I haven’t heard from anywhere else and explained well too.

mogusugom
Автор

I'm just incredibly in awe of both your progression and work.

Hyperdelica-Xander