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!
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!
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!
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
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.
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.
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.
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.
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.
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.
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!
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?
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
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
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!
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?
+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
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.
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.
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?
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?
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.
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
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.
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.
your tool would be great to learn cg, can you please share it - im on linux. i bet many of us wouldn't mind making a donation, given that your audience are mostly students :o) i found your git repo, and found moc.exe but it won't load with wine. got a build file we nixers can use?
This is by far the best tutorial on this pretty complicated(at least for me) topic, and helped me a lot. Thank you.
+MoulinRougexD :) You should take my graphics class at the University of Utah. :)
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. :)
:) Bust a move!
+MoulinRougexD A russian moving to the USA. Fuck logic.
TeleTubbie Luver le funny stereotypes x-:DDD
16:09 This is the best video on TH-cam for understanding Model View Projection Matrices. Thank You so much.
you da real MVP
I want to upvote this comment, but I can't
9 years later this is still an amazingly helpful video. Thank you!
😁
@@JamieKingCS Still commenting, what a god!
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!
Sure. No prob. Share the channel with your tech friends.
I wrote this application myself.
Dude that was really cool! What did you write it in, if I may ask? Is it in GitHub :) ?
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.
Jamie King Have you ever pushed the code of this application in GitHub? I'm interested :D
Can I play with you application? :D
Jamie King Not sure if you are still there, but I would love to use this tool!
This tool you made is amazing. It shows everything visually and makes it just click in my head, thanks!
one of the best videos i’ve seen on this topic. amazing visualization of the matrix multiplications
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!
Thanks bro, your explanation helped this budding game engine developer fix a bug that "bugged" me for days.
this is actually why i subbed; your kids will appreciate having father like u, especially the son :))
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!
+intrepidro Heh. You're welcome!
I'am really enjoying your series Jamie. Perfect for a snowed in Sunday :)
Thank You!!
💥
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
oh, that was awsome!!! Thank you Sir for all your effort!
This was incredibly helpful in making something that seemed complex much easier to understand. Awesome video!
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.
thank you for making hard topic so simple.. Its very nice.. I understood entire concept quite easily.. thank you..
best explanation on the whole internet!
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
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.
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.
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.
You've earned yourself a subscriber for the clear explanation. Will definitely check your playlist on how to understand the math behind it.
This is golden. I’m well into programming an OpenGl 3d java game and still didn’t understand how this matrix stuff worked.
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.
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.
10:53 and you thought you were lazy to begin with :D that cracked me up dude. Awesome tutorial thank you
Does rotate around the Z seem to rotate around the Y (at 7:38) ?
It's the end of 2022 now and I just found a new mind blow vid.
Thanks
VERY VERY VERY nice explanation and demonstration :D I finally understand why my crappy selfmade c# game didnt work ;)
This one is really great Mr. Jamie
View to Projection is an incredible tool
Thank you for this great explanation.
What a greate explaination!
Thank you!
Amazing! thank you, such a golden nugget of a video.
This is fantastic. Keep up the awesome work.
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!
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!
15:15 Amazing Moment !!!
so cool tool to visualize matricies, thanks alot!
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?
good visual representation. thanks
great explanation, is there any way to play with the tool you built?
Brilliant, super helpful man, thank you
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?
This is insanely great.
Amazing content! Thank you so much!
Thank you for the amazing content!! Is there a way to try out your visualisation engine?
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
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
When does the W homogeneous coordinate get involved?
great video! thanks for uploading this.
No prob. Share it with your tech friend.s.
Thank you so much! Really well done!
this is GOLD!
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!
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?
+TeleTubbie Luver Coming...coming...eventually...
+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
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.
Hey what is name od program that you USA at 6:09 for previewing transformations?
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.
+ezetreezy Yep! Graphics card doesn't care about 3D. That's just us doing some math in the vertex shader.
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?
Yep, and it looks better in the fragment shader. Keep watching.
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?
+subconscious bias We could do a Google hangout sometime, and I can look at it. If you're interested, computersciencesurgeons@gmail.com
+Jamie King That would be awesome, I will add you and message you sometime
Nice explanation!
Can you please release this application, I've always wanted to play around with these values without all the hassle.
This video is not in the github list. There is no code for this tutorial.
where can i download this application?
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.
Game engine playlist
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.
All the matrices use the transformations (translation, rotation, scale, etc.) I cover in that playlist. It’s several videos though.
Thanks!
ah man - great explanation dude
This is awesome!
good work man.
which one is your game engine playlist?
Damn, pretty darn good! Anyway we can download that app?
Would it be possible to share the matrix simulation application?
Jamie King Rocks. Guru, can i have link to your software which you are using here to simulate?
my god this is amazing
thanks a lot , very nice video!!
This app is cool, can we get it in order play with it???
"Anyway, modelviewprojection we're done." lol xD
How did you attached a 3D OpenGL application to a Windows Form?
+Michele Turchiarelli I did this early in the playlist...video 2 I think.
thanks,I'm beginning to learn 3d game programming,this video is very useful for me,
Go look at my game engine programming playlist.
Helped me a lot.
wheres the app we dont need the sources ?
fantastic
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
holy shit,you are a genius
very great!
Thanks Jamie King
that was awesome
brilliant, thanks
mind blown.
THANK YOU JAMIE
How would you calculate the xyz location of your camera in 3d space?
simeon gbolo There is a video in this playlist that shows how to do this.
It's actually the location of the eye I was referring to. Your videos are amazing, thanks !
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.
Found it! You answered my question in videos 55-59. Cheers!
No prob!
i was expecting you to go camera view, and show that the slider doesn't change perspective, since it's doing that anyway. lol
Why do I see you everywhere xD
so game cameras don't move?
Nope
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.
you are good teacher - also made me laugh :)
+subconscious bias Heh, thanks. :)
:)
Awesome
Ok that was a good tutorial
I want to understand this stuff so badly but the math is way over my head, I need to improve my math skills.
Study they Game Engine Programming playlist rigorously. I cover the math in a very basic way in there.
man, you're cool
could i take the code of this tutorial
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.
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.
+Ramy Emenwel don't know android...but I have a shape generator in my github that would give you a grid.
could you explain to me how this class works ?!
this is my mail: remenwel66@hotmail.com
整个中文字幕就更好了
对对对
all those confusions just cleared in 15 min. I should've watched this video earlier..
are you the kahn acandemy guy
your tool would be great to learn cg, can you please share it - im on linux. i bet many of us wouldn't mind making a donation, given that your audience are mostly students :o) i found your git repo, and found moc.exe but it won't load with wine. got a build file we nixers can use?
we're done here