Model View Projection Matrices

  Рет қаралды 96,856

Jamie King

Jamie King

Күн бұрын

Shows a model world projection matrices example in OpenGL and DirectX. These transformations must be multiplied in a particular order. These matrices take us from a three dimensional mathematical representation to two dimensional screen space.

Пікірлер: 171
@Karsteski
@Karsteski 2 жыл бұрын
9 years later this is still an amazingly helpful video. Thank you!
@JamieKingCS
@JamieKingCS 2 жыл бұрын
😁
@Vlad-vk3mm
@Vlad-vk3mm 2 жыл бұрын
@@JamieKingCS Still commenting, what a god!
@CatchTheBus
@CatchTheBus 9 жыл бұрын
This is by far the best tutorial on this pretty complicated(at least for me) topic, and helped me a lot. Thank you.
@JamieKingCS
@JamieKingCS 9 жыл бұрын
+MoulinRougexD :) You should take my graphics class at the University of Utah. :)
@CatchTheBus
@CatchTheBus 9 жыл бұрын
Jamie King Haha, right now i`m in Russia, but i plan on moving in USA, so may be i`ll! Would defenitly be glad to though. :)
@JamieKingCS
@JamieKingCS 9 жыл бұрын
:) Bust a move!
@HugoIetsGaming
@HugoIetsGaming 9 жыл бұрын
+MoulinRougexD A russian moving to the USA. Fuck logic.
@CatchTheBus
@CatchTheBus 9 жыл бұрын
TeleTubbie Luver le funny stereotypes x-:DDD
@SHEETALSHARMA-tz7sm
@SHEETALSHARMA-tz7sm 4 жыл бұрын
16:09 This is the best video on KZbin for understanding Model View Projection Matrices. Thank You so much.
@polgomez9826
@polgomez9826 11 жыл бұрын
This is amazing. I'm starting to learn computer graphics (using modern OpenGL, so gotta write shaders myself) and i just have to thank you for this video, and all of them. The math behind matrices is amazing. Thank you!
@JamieKingCS
@JamieKingCS 11 жыл бұрын
Sure. No prob. Share the channel with your tech friends.
@kylebrandson267
@kylebrandson267 8 жыл бұрын
you da real MVP
@jousboxx9532
@jousboxx9532 3 жыл бұрын
I want to upvote this comment, but I can't
@mac2105
@mac2105 Ай бұрын
Thanks bro, your explanation helped this budding game engine developer fix a bug that "bugged" me for days.
@maxrodriguez643
@maxrodriguez643 2 жыл бұрын
This tool you made is amazing. It shows everything visually and makes it just click in my head, thanks!
@frajet
@frajet 9 жыл бұрын
this is actually why i subbed; your kids will appreciate having father like u, especially the son :))
@andreabavaro9286
@andreabavaro9286 2 жыл бұрын
one of the best videos i’ve seen on this topic. amazing visualization of the matrix multiplications
@dartme18
@dartme18 3 жыл бұрын
Probably the best approach to an OpenGL "camera" tutorial I've seen. I think it would have been nice to explore other adjustable parameters like "up" direction for the camera, and looking at different field of views and angles for perspective and the orthographic projection, etc. Thank you for posting!
@assonancex
@assonancex 3 жыл бұрын
I'am really enjoying your series Jamie. Perfect for a snowed in Sunday :) Thank You!!
@JamieKingCS
@JamieKingCS 3 жыл бұрын
💥
@PatrickPatzelt
@PatrickPatzelt 8 ай бұрын
as humans we tend to think the world resolves around us anyways... epic as well as this tutorial, the best tut on this topic ive come across at the end of many hours searching
@tomatrix7525
@tomatrix7525 4 жыл бұрын
This is golden. I’m well into programming an OpenGl 3d java game and still didn’t understand how this matrix stuff worked.
@intrepiddk
@intrepiddk 9 жыл бұрын
Great Video! I had one semester of 3D-modelling and one semester computer animation and I almost understood nothing. This video helped me alot more than all those lectures! Thank you!
@JamieKingCS
@JamieKingCS 9 жыл бұрын
+intrepidro Heh. You're welcome!
@rsibley
@rsibley 8 жыл бұрын
This was incredibly helpful in making something that seemed complex much easier to understand. Awesome video!
@JamieKingCS
@JamieKingCS 8 жыл бұрын
Thank you much. This video is the one I spent the most time on: making the visualization tool, explaining the topic, wrapping my head around the concepts myself. Of all my videos, this is the one I am most proud of. Thanks for the kind words.
@jacekfr3252
@jacekfr3252 Жыл бұрын
oh, that was awsome!!! Thank you Sir for all your effort!
@MuhammadKorra
@MuhammadKorra 5 жыл бұрын
10:53 and you thought you were lazy to begin with :D that cracked me up dude. Awesome tutorial thank you
@bennyiko5709
@bennyiko5709 4 жыл бұрын
Your video was very helpful in visualizing the transformation from model to world, world to view, and view to projection. Initially I was taught to include the model and viewing transformation as one. Nice to see how it all comes together. That flattening of the z axis is the rendering of the scene.
@LAnonHubbard
@LAnonHubbard 9 жыл бұрын
This was a very good video. I like the slider towards the end of the video that went between 0 and 1 so you could see it flat on the projection plane but still being in the 3D world from another viewpoint.
@shaunmike
@shaunmike 9 жыл бұрын
This is excellent; I am attempting to teach myself CG, and this is far better than a book. The eye coordinates were explained very well; the book I have seems to not emphasize that the world moves about the camera well.
@JamieKingCS
@JamieKingCS 9 жыл бұрын
My goal is to build the playlist I wish existed when I was learning graphics. It's so hard to gather this stuff from static images in a book, so I built this tool. Within a month or so, I will have it in github. Thanks for the kind words.
@JamieKingCS
@JamieKingCS 11 жыл бұрын
I wrote this application myself.
@AlbertTackie
@AlbertTackie 11 жыл бұрын
Dude that was really cool! What did you write it in, if I may ask? Is it in GitHub :) ?
@JamieKingCS
@JamieKingCS 11 жыл бұрын
Eh, just a local SVN. I guess I could push it out there. I was just trying to learn this material by allowing myself to "touch" what's going on.
@JoaoMilasch
@JoaoMilasch 10 жыл бұрын
Jamie King Have you ever pushed the code of this application in GitHub? I'm interested :D
@AhmedHan
@AhmedHan 10 жыл бұрын
Can I play with you application? :D
@BenjaminChengCS
@BenjaminChengCS 10 жыл бұрын
Jamie King Not sure if you are still there, but I would love to use this tool!
@f41nT
@f41nT 2 жыл бұрын
best explanation on the whole internet!
@Lexyvil
@Lexyvil 4 жыл бұрын
You've earned yourself a subscriber for the clear explanation. Will definitely check your playlist on how to understand the math behind it.
@MrOnlineCoder
@MrOnlineCoder 7 жыл бұрын
Finally I understand MVP matrixes. This video helped me a lot! Thank you! P.S. nice application, really should be used in 3d graphics courses
@andersonferreira669
@andersonferreira669 3 жыл бұрын
Your tutorials have been really helpful to new students all around the world. I have been learning computer graphics, trying to understand projections, matrices etc and But I find your demo program very, very helpful to demonstrate all the inner workings in real time, It would be really great if you can share the source code, or the binaries. It will help many others to program very cool things. I am very grateful for all your work, thanks.
@jacktruong7151
@jacktruong7151 2 жыл бұрын
It's the end of 2022 now and I just found a new mind blow vid. Thanks
@Bulletforpaul
@Bulletforpaul 10 жыл бұрын
VERY VERY VERY nice explanation and demonstration :D I finally understand why my crappy selfmade c# game didnt work ;)
@ggo4844
@ggo4844 2 жыл бұрын
What a greate explaination! Thank you!
@pmsolapur
@pmsolapur 8 жыл бұрын
thank you for making hard topic so simple.. Its very nice.. I understood entire concept quite easily.. thank you..
@HarshaVardhan-xx6ii
@HarshaVardhan-xx6ii 5 жыл бұрын
This one is really great Mr. Jamie
@noname_2108
@noname_2108 Жыл бұрын
so cool tool to visualize matricies, thanks alot!
@thetiphon
@thetiphon 7 ай бұрын
good visual representation. thanks
@jibankabiraj1724
@jibankabiraj1724 Жыл бұрын
Thank you for this great explanation.
@eagleeye1975
@eagleeye1975 11 жыл бұрын
I want to thank you for this! I am working with XNA 4.0 and was very confused about the 3 Matrix parameters I needed to use for every "Draw" call... and how to scale things in the world, etc... So you really helped me visualize all of that. Thanks!
@JamieKingCS
@JamieKingCS 11 жыл бұрын
Ya, no problem. There are lots of videos in this playlist on the various 3D geometry stuff. Share the channel with your tech friends. Thanks!
@aran4843
@aran4843 3 жыл бұрын
View to Projection is an incredible tool
@john_nikolaouu
@john_nikolaouu 2 жыл бұрын
Thank you for the amazing content!! Is there a way to try out your visualisation engine?
@rahuldeshpande9997
@rahuldeshpande9997 11 ай бұрын
Brilliant, super helpful man, thank you
@lshawn3623
@lshawn3623 6 жыл бұрын
15:15 Amazing Moment !!!
@kenan08
@kenan08 2 жыл бұрын
Does rotate around the Z seem to rotate around the Y (at 7:38) ?
@barellevy6030
@barellevy6030 3 жыл бұрын
Amazing! thank you, such a golden nugget of a video.
@davidlieber3494
@davidlieber3494 2 жыл бұрын
this is GOLD!
@Inspirtedmusic
@Inspirtedmusic 9 жыл бұрын
This is fantastic. Keep up the awesome work.
@nahbruhwhat
@nahbruhwhat 6 жыл бұрын
This is insanely great.
@11markrodgers11
@11markrodgers11 9 жыл бұрын
I have a basic understanding of vertex/matrix multiplication but I'm having a bit of trouble with the whole MVP matrices stuff. I'd really love if you could share you're application you made here so those of us who still need some help can play around with it and try to get a better understanding. Thanks for your great tutorials!
@AE-yr6mo
@AE-yr6mo 4 жыл бұрын
When does the W homogeneous coordinate get involved?
@stuck1a
@stuck1a 9 ай бұрын
Is the something lilke a "common" projection matrix or at least camera position which is used for isometric games? Or does everyone use own values?
@mpoadmin2978
@mpoadmin2978 3 жыл бұрын
my god this is amazing
@thebrunorobert
@thebrunorobert 6 жыл бұрын
Amazing content! Thank you so much!
@salelkaf
@salelkaf 10 жыл бұрын
great explanation, is there any way to play with the tool you built?
@shihkt
@shihkt 11 жыл бұрын
great video! thanks for uploading this.
@JamieKingCS
@JamieKingCS 11 жыл бұрын
No prob. Share it with your tech friend.s.
@AkshayCJ47
@AkshayCJ47 10 жыл бұрын
Nice explanation!
@hengyiyu9961
@hengyiyu9961 3 жыл бұрын
holy shit,you are a genius
@romanbubnov5790
@romanbubnov5790 4 жыл бұрын
Great Job, i'm curious on what tool did you use to create sliders, checkboxes, labels, because i want to try to recreate this kind of application myself
@muh2k4
@muh2k4 7 жыл бұрын
Thank you so much! Really well done!
@leedansen
@leedansen 10 жыл бұрын
ah man - great explanation dude
@smartdean8910
@smartdean8910 Жыл бұрын
This app is cool, can we get it in order play with it???
@wal10er
@wal10er 6 жыл бұрын
good work man.
@mourirsilfaut6769
@mourirsilfaut6769 3 жыл бұрын
fantastic
@Canadian-Boi-
@Canadian-Boi- 10 жыл бұрын
"Anyway, modelviewprojection we're done." lol xD
@11markrodgers11
@11markrodgers11 9 жыл бұрын
Could you possibly elaborate on the point of the projection matrix? I'm not quite understanding why it needs to be squished into 2d when we're viewing it in the viewport as 3d?
@Steven676
@Steven676 8 жыл бұрын
This is awesome!
@ezetreezy
@ezetreezy 9 жыл бұрын
Where is all the work being done at in the graphics pipeline when you are applying the MVP matrices to your vertex data? Im assuming the Vertex Shader? Since that is where all our uniform matrices are being applied to all the data.
@JamieKingCS
@JamieKingCS 9 жыл бұрын
+ezetreezy Yep! Graphics card doesn't care about 3D. That's just us doing some math in the vertex shader.
@ezetreezy
@ezetreezy 9 жыл бұрын
Jamie King If we apply phong shading/diffuse lighting(since you do this later in the playlist)...is some of the work(or could be most of the work) being forced upon the Fragment shader instead of the vertex shader?
@JamieKingCS
@JamieKingCS 9 жыл бұрын
Yep, and it looks better in the fragment shader. Keep watching.
@LesterShipMirOleg1992
@LesterShipMirOleg1992 8 жыл бұрын
Damn, pretty darn good! Anyway we can download that app?
@npip99
@npip99 5 жыл бұрын
3:54, Hm, to keep the symmetry, shouldn't it be called the World matrix? I mean, it represents where a model is in the world, not the model itself. The model coordinates are already the standard xyz with no transformation at all. You can see its the only one thats named after the former word and not the latter
@DavidDolynny
@DavidDolynny 9 жыл бұрын
you are good teacher - also made me laugh :)
@JamieKingCS
@JamieKingCS 9 жыл бұрын
+subconscious bias Heh, thanks. :)
@DavidDolynny
@DavidDolynny 9 жыл бұрын
:)
@楊漢軒-x2o
@楊漢軒-x2o 8 жыл бұрын
thanks a lot , very nice video!!
@stephen7715
@stephen7715 5 жыл бұрын
mind blown.
@vivijoung
@vivijoung 11 жыл бұрын
thanks,I'm beginning to learn 3d game programming,this video is very useful for me,
@JamieKingCS
@JamieKingCS 11 жыл бұрын
Go look at my game engine programming playlist.
@theoloneubraga9268
@theoloneubraga9268 3 жыл бұрын
Ok that was a good tutorial
@mukulbarai82
@mukulbarai82 7 жыл бұрын
Helped me a lot.
@Chris_t0
@Chris_t0 9 жыл бұрын
Can you please release this application, I've always wanted to play around with these values without all the hassle.
@DavidDolynny
@DavidDolynny 9 жыл бұрын
I can move my object matrix around, then I can rotate my object matrix, then I can move object again with the shared view matrix, then when I try to rotate the object with the shared view matrix (it rotates the object like in step 2, and doesn't rotate my object like its rotating the entire world with the object...?) I keep getting confused at this last step, any idea?
@JamieKingCS
@JamieKingCS 9 жыл бұрын
+subconscious bias We could do a Google hangout sometime, and I can look at it. If you're interested, computersciencesurgeons@gmail.com
@DavidDolynny
@DavidDolynny 9 жыл бұрын
+Jamie King That would be awesome, I will add you and message you sometime
@AnonyMous-li2me
@AnonyMous-li2me 10 жыл бұрын
that was awesome
@Timo-Epis
@Timo-Epis 2 ай бұрын
where can i download this application?
@saeedsaeed4838
@saeedsaeed4838 8 жыл бұрын
very great!
@mdashrafulalammilton5881
@mdashrafulalammilton5881 9 жыл бұрын
Jamie King Rocks. Guru, can i have link to your software which you are using here to simulate?
@HugoIetsGaming
@HugoIetsGaming 9 жыл бұрын
I have not seen model loading in this tutorial playlist, why not? Isn't it very important to render models when using openGL, to make the scene look better?
@JamieKingCS
@JamieKingCS 9 жыл бұрын
+TeleTubbie Luver Coming...coming...eventually...
@michaelsavaglia1967
@michaelsavaglia1967 9 жыл бұрын
+Jamie King Thanks for these videos, I'm studying computer games programming at Uni and these videos are extremely useful. I'm only up to here so far, but by the looks of it, there are no videos on texturing, are these in the works? again, thankyou for these videos:D
@JamieKingCS
@JamieKingCS 9 жыл бұрын
Michael Savaglia Yea, you'll see texturing soonish (month or two). I just barely uploaded the first video to this playlist since I came out of hiding. Going to add more...thinking one or two a week but no promises.
@mpoadmin2978
@mpoadmin2978 7 күн бұрын
still hard stuff when you need a camera just to look at the camera. Not something the end user tends to care about
@DlcEnergy
@DlcEnergy 7 жыл бұрын
i was expecting you to go camera view, and show that the slider doesn't change perspective, since it's doing that anyway. lol
@antling_
@antling_ 6 жыл бұрын
Why do I see you everywhere xD
@ЕгорПильник-ж2х
@ЕгорПильник-ж2х 4 жыл бұрын
man, you're cool
@raygun369
@raygun369 9 жыл бұрын
THANK YOU JAMIE
@merictunc
@merictunc 10 жыл бұрын
Thanks Jamie King
@SuperStrangeways
@SuperStrangeways 9 жыл бұрын
brilliant, thanks
@Unreadable69
@Unreadable69 10 жыл бұрын
Have you happened to publish the application at all? My university assignment is asking for me to create a 3d scene and it would help soooo much if you have released it :D 
@williamnash9886
@williamnash9886 6 жыл бұрын
so game cameras don't move?
@JamieKingCS
@JamieKingCS 6 жыл бұрын
Nope
@cocbuilds
@cocbuilds 6 жыл бұрын
The camera is completely theoretical. At the end of the day, you're just trying to figure out what will go into your viewport based on where the "camera" is.
@kennedycheskaki
@kennedycheskaki 8 жыл бұрын
wheres the app we dont need the sources ?
@이호영-d4l7m
@이호영-d4l7m 5 жыл бұрын
which one is your game engine playlist?
@hab1tats
@hab1tats 11 жыл бұрын
Would it be possible to share the matrix simulation application?
@Multilingualtricker
@Multilingualtricker 6 жыл бұрын
Do you have a specific video for the maths relating to each of the M, V and P matrices. I looked through your playlist but nothing stood out.
@JamieKingCS
@JamieKingCS 6 жыл бұрын
Game engine playlist
@Multilingualtricker
@Multilingualtricker 6 жыл бұрын
Thanks, I looked through it but didn't see (from the title) one video that corresponded to the M matrix, V matrix and P matrix, but maybe I just need to look harder.
@JamieKingCS
@JamieKingCS 6 жыл бұрын
All the matrices use the transformations (translation, rotation, scale, etc.) I cover in that playlist. It’s several videos though.
@Multilingualtricker
@Multilingualtricker 6 жыл бұрын
Thanks!
@MrCybin
@MrCybin 8 жыл бұрын
This video is not in the github list. There is no code for this tutorial.
@simeongbolo
@simeongbolo 10 жыл бұрын
How would you calculate the xyz location of your camera in 3d space?
@JamieKingCS
@JamieKingCS 10 жыл бұрын
simeon gbolo There is a video in this playlist that shows how to do this.
@simeongbolo
@simeongbolo 10 жыл бұрын
It's actually the location of the eye I was referring to. Your videos are amazing, thanks !
@JamieKingCS
@JamieKingCS 10 жыл бұрын
Somewhere in this playlist I walk through making a first person camera, and I show how the eye moves with the arrow keys and mouse.
@simeongbolo
@simeongbolo 10 жыл бұрын
Found it! You answered my question in videos 55-59. Cheers!
@JamieKingCS
@JamieKingCS 10 жыл бұрын
No prob!
@MicheleTurchiarelli
@MicheleTurchiarelli 9 жыл бұрын
How did you attached a 3D OpenGL application to a Windows Form?
@JamieKingCS
@JamieKingCS 9 жыл бұрын
+Michele Turchiarelli I did this early in the playlist...video 2 I think.
@cly5570
@cly5570 7 жыл бұрын
Awesome
@broski8314
@broski8314 8 жыл бұрын
all those confusions just cleared in 15 min. I should've watched this video earlier..
@lolmo4
@lolmo4 11 жыл бұрын
I want to understand this stuff so badly but the math is way over my head, I need to improve my math skills.
@JamieKingCS
@JamieKingCS 11 жыл бұрын
Study they Game Engine Programming playlist rigorously. I cover the math in a very basic way in there.
@awaken7602
@awaken7602 8 жыл бұрын
整个中文字幕就更好了
@你大跌
@你大跌 7 жыл бұрын
对对对
@chewhammer2213
@chewhammer2213 Жыл бұрын
are you the kahn acandemy guy
@ArkadiuszBuras
@ArkadiuszBuras 11 жыл бұрын
Hey what is name od program that you USA at 6:09 for previewing transformations?
@ramyemenwel346
@ramyemenwel346 7 жыл бұрын
could i take the code of this tutorial
@JamieKingCS
@JamieKingCS 7 жыл бұрын
This entire playlist is on github. Click on one of the annotations after a few seconds into one of the videos where I do live coding.
@ramyemenwel346
@ramyemenwel346 7 жыл бұрын
thank you, for your quick response. actually i'm working on my graduation project and i need to draw a grid or world and a centered camera like the one in this tutorial but i'm work on android so i want to know how to do this with openGl. could you help me.
@JamieKingCS
@JamieKingCS 7 жыл бұрын
+Ramy Emenwel don't know android...but I have a shape generator in my github that would give you a grid.
@ramyemenwel346
@ramyemenwel346 7 жыл бұрын
could you explain to me how this class works ?!
@ramyemenwel346
@ramyemenwel346 7 жыл бұрын
this is my mail: remenwel66@hotmail.com
@DlcEnergy
@DlcEnergy 7 жыл бұрын
we're done here
Perspective Projection Matrix and Depth
11:52
Jamie King
Рет қаралды 26 М.
In Video Games, The Player Never Moves
19:21
Josh's Channel
Рет қаралды 471 М.
Try this prank with your friends 😂 @karina-kola
00:18
Andrey Grechka
Рет қаралды 9 МЛН
Cat mode and a glass of water #family #humor #fun
00:22
Kotiki_Z
Рет қаралды 42 МЛН
IL'HAN - Qalqam | Official Music Video
03:17
Ilhan Ihsanov
Рет қаралды 700 М.
Model View Projection Matrices in OpenGL
15:53
The Cherno
Рет қаралды 91 М.
The Camera Transform
47:18
UC Davis Academics
Рет қаралды 131 М.
An introduction to Shader Art Coding
22:40
kishimisu
Рет қаралды 1 МЛН
AI Is Making You An Illiterate Programmer
27:22
ThePrimeTime
Рет қаралды 302 М.
The Math behind (most) 3D games - Perspective Projection
13:20
Brendan Galea
Рет қаралды 444 М.
Math for Game Developers - The Camera View Transform Matrix
12:20
Jorge Rodriguez
Рет қаралды 46 М.
Try this prank with your friends 😂 @karina-kola
00:18
Andrey Grechka
Рет қаралды 9 МЛН