Model View Projection Matrices

Поделиться
HTML-код
  • Опубликовано: 19 сен 2024
  • 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.

Комментарии • 168

  • @kylebrandson267
    @kylebrandson267 8 лет назад +102

    you da real MVP

    • @jousboxx9532
      @jousboxx9532 3 года назад

      I want to upvote this comment, but I can't

  • @CatchTheBus
    @CatchTheBus 8 лет назад +48

    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  8 лет назад +3

      +MoulinRougexD :) You should take my graphics class at the University of Utah. :)

    • @CatchTheBus
      @CatchTheBus 8 лет назад +1

      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  8 лет назад +2

      :) Bust a move!

    • @HugoIetsGaming
      @HugoIetsGaming 8 лет назад

      +MoulinRougexD A russian moving to the USA. Fuck logic.

    • @CatchTheBus
      @CatchTheBus 8 лет назад

      TeleTubbie Luver le funny stereotypes x-:DDD

  • @JamieKingCS
    @JamieKingCS  10 лет назад +130

    I wrote this application myself.

    • @AlbertTackie
      @AlbertTackie 10 лет назад +5

      Dude that was really cool! What did you write it in, if I may ask? Is it in GitHub :) ?

    • @JamieKingCS
      @JamieKingCS  10 лет назад +5

      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 лет назад +2

      Jamie King Have you ever pushed the code of this application in GitHub? I'm interested :D

    • @AhmedHan
      @AhmedHan 9 лет назад

      Can I play with you application? :D

    • @BenjaminChengCS
      @BenjaminChengCS 9 лет назад +1

      Jamie King Not sure if you are still there, but I would love to use this tool!

  • @polgomez9826
    @polgomez9826 10 лет назад +37

    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  10 лет назад +4

      Sure. No prob. Share the channel with your tech friends.

  • @Karsteski
    @Karsteski 2 года назад +3

    9 years later this is still an amazingly helpful video. Thank you!

    • @JamieKingCS
      @JamieKingCS  2 года назад +3

      😁

    • @Vlad-vk3mm
      @Vlad-vk3mm 2 года назад +1

      @@JamieKingCS Still commenting, what a god!

  • @SHEETALSHARMA-tz7sm
    @SHEETALSHARMA-tz7sm 4 года назад +2

    16:09 This is the best video on RUclips for understanding Model View Projection Matrices. Thank You so much.

  • @dartme18
    @dartme18 2 года назад +4

    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!

  • @maxrodriguez643
    @maxrodriguez643 2 года назад +1

    This tool you made is amazing. It shows everything visually and makes it just click in my head, thanks!

  • @intrepiddk
    @intrepiddk 8 лет назад +6

    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  8 лет назад

      +intrepidro Heh. You're welcome!

  • @PatrickPatzelt
    @PatrickPatzelt 4 месяца назад

    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

  • @frajet
    @frajet 9 лет назад +1

    this is actually why i subbed; your kids will appreciate having father like u, especially the son :))

  • @andreabavaro9286
    @andreabavaro9286 Год назад

    one of the best videos i’ve seen on this topic. amazing visualization of the matrix multiplications

  • @rsibley
    @rsibley 8 лет назад +1

    This was incredibly helpful in making something that seemed complex much easier to understand. Awesome video!

    • @JamieKingCS
      @JamieKingCS  8 лет назад +1

      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.

  • @f41nT
    @f41nT Год назад

    best explanation on the whole internet!

  • @assonancex
    @assonancex 2 года назад

    I'am really enjoying your series Jamie. Perfect for a snowed in Sunday :)
    Thank You!!

  • @Bulletforpaul
    @Bulletforpaul 10 лет назад +5

    VERY VERY VERY nice explanation and demonstration :D I finally understand why my crappy selfmade c# game didnt work ;)

  • @MrOnlineCoder
    @MrOnlineCoder 7 лет назад +3

    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

  • @tomatrix7525
    @tomatrix7525 3 года назад

    This is golden. I’m well into programming an OpenGl 3d java game and still didn’t understand how this matrix stuff worked.

  • @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.

  • @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.

  • @pmsolapur
    @pmsolapur 8 лет назад +1

    thank you for making hard topic so simple.. Its very nice.. I understood entire concept quite easily.. thank you..

  • @jacktruong7151
    @jacktruong7151 Год назад

    It's the end of 2022 now and I just found a new mind blow vid.
    Thanks

  • @MuhammadKorra
    @MuhammadKorra 5 лет назад +1

    10:53 and you thought you were lazy to begin with :D that cracked me up dude. Awesome tutorial thank you

  • @shaunmike
    @shaunmike 8 лет назад

    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  8 лет назад +6

      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.

  • @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.

  • @LAnonHubbard
    @LAnonHubbard 8 лет назад

    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.

  • @jacekfr3252
    @jacekfr3252 Год назад

    oh, that was awsome!!! Thank you Sir for all your effort!

  • @aran4843
    @aran4843 2 года назад

    View to Projection is an incredible tool

  • @jibankabiraj1724
    @jibankabiraj1724 Год назад

    Thank you for this great explanation.

  • @eagleeye1975
    @eagleeye1975 10 лет назад

    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  10 лет назад

      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!

  • @lshawn3623
    @lshawn3623 5 лет назад +7

    15:15 Amazing Moment !!!

  • @thetiphon
    @thetiphon 2 месяца назад

    good visual representation. thanks

  • @noname_2108
    @noname_2108 Год назад

    so cool tool to visualize matricies, thanks alot!

  • @HarshaVardhan-xx6ii
    @HarshaVardhan-xx6ii 4 года назад

    This one is really great Mr. Jamie

  • @Inspirtedmusic
    @Inspirtedmusic 9 лет назад

    This is fantastic. Keep up the awesome work.

  • @ggo4844
    @ggo4844 2 года назад

    What a greate explaination!
    Thank you!

  • @rahuldeshpande9997
    @rahuldeshpande9997 6 месяцев назад

    Brilliant, super helpful man, thank you

  • @NivBenSalmon
    @NivBenSalmon Год назад

    Amazing video, Thank you!

  • @nahbruhwhat
    @nahbruhwhat 6 лет назад

    This is insanely great.

  • @barellevy6030
    @barellevy6030 3 года назад

    Amazing! thank you, such a golden nugget of a video.

  • @stuck1a
    @stuck1a 5 месяцев назад

    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?

  • @Canadian-Boi-
    @Canadian-Boi- 10 лет назад +2

    "Anyway, modelviewprojection we're done." lol xD

  • @davidlieber3494
    @davidlieber3494 Год назад

    this is GOLD!

  • @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!

  • @muh2k4
    @muh2k4 6 лет назад

    Thank you so much! Really well done!

  • @hengyiyu9961
    @hengyiyu9961 3 года назад

    holy shit,you are a genius

  • @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?

  • @mpoadmin2978
    @mpoadmin2978 3 года назад

    my god this is amazing

  • @shihkt
    @shihkt 10 лет назад

    great video! thanks for uploading this.

    • @JamieKingCS
      @JamieKingCS  10 лет назад

      No prob. Share it with your tech friend.s.

  • @salelkaf
    @salelkaf 9 лет назад +2

    great explanation, is there any way to play with the tool you built?

  • @john_nikolaouu
    @john_nikolaouu Год назад

    Thank you for the amazing content!! Is there a way to try out your visualisation engine?

  • @mourirsilfaut6769
    @mourirsilfaut6769 3 года назад

    fantastic

  • @kenan08
    @kenan08 Год назад

    Does rotate around the Z seem to rotate around the Y (at 7:38) ?

  • @AkshayCJ47
    @AkshayCJ47 9 лет назад

    Nice explanation!

  • @leedansen
    @leedansen 9 лет назад

    ah man - great explanation dude

  • @stephen7715
    @stephen7715 5 лет назад

    mind blown.

  • @AE-yr6mo
    @AE-yr6mo 3 года назад

    When does the W homogeneous coordinate get involved?

  • @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

  • @Steven676
    @Steven676 8 лет назад

    This is awesome!

  • @merictunc
    @merictunc 10 лет назад

    Thanks Jamie King

  • @DlcEnergy
    @DlcEnergy 6 лет назад +4

    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_ 5 лет назад

      Why do I see you everywhere xD

  • @raygun369
    @raygun369 8 лет назад

    THANK YOU JAMIE

  • @wal10er
    @wal10er 6 лет назад

    good work man.

  • @AnonyMous-li2me
    @AnonyMous-li2me 10 лет назад +1

    that was awesome

  • @vivijoung
    @vivijoung 10 лет назад

    thanks,I'm beginning to learn 3d game programming,this video is very useful for me,

    • @JamieKingCS
      @JamieKingCS  10 лет назад

      Go look at my game engine programming playlist.

  • @HugoIetsGaming
    @HugoIetsGaming 8 лет назад +1

    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  8 лет назад +1

      +TeleTubbie Luver Coming...coming...eventually...

    • @michaelsavaglia1967
      @michaelsavaglia1967 8 лет назад

      +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  8 лет назад +2

      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.

  • @mukulbarai1441
    @mukulbarai1441 6 лет назад

    Helped me a lot.

  • @楊漢軒-x2o
    @楊漢軒-x2o 8 лет назад

    thanks a lot , very nice video!!

  • @theoloneubraga9268
    @theoloneubraga9268 3 года назад

    Ok that was a good tutorial

  • @saeedsaeed4838
    @saeedsaeed4838 7 лет назад

    very great!

  • @Chris_t0
    @Chris_t0 9 лет назад +1

    Can you please release this application, I've always wanted to play around with these values without all the hassle.

  • @SuperStrangeways
    @SuperStrangeways 9 лет назад

    brilliant, thanks

  • @smartdean8910
    @smartdean8910 Год назад

    This app is cool, can we get it in order play with it???

  • @ezetreezy
    @ezetreezy 8 лет назад

    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  8 лет назад +1

      +ezetreezy Yep! Graphics card doesn't care about 3D. That's just us doing some math in the vertex shader.

    • @ezetreezy
      @ezetreezy 8 лет назад

      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  8 лет назад

      Yep, and it looks better in the fragment shader. Keep watching.

  • @DavidDolynny
    @DavidDolynny 8 лет назад

    you are good teacher - also made me laugh :)

  • @ЕгорПильник-ж2х
    @ЕгорПильник-ж2х 3 года назад

    man, you're cool

  • @LesterShipMirOleg1992
    @LesterShipMirOleg1992 8 лет назад

    Damn, pretty darn good! Anyway we can download that app?

  • @DavidDolynny
    @DavidDolynny 8 лет назад

    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  8 лет назад

      +subconscious bias We could do a Google hangout sometime, and I can look at it. If you're interested, computersciencesurgeons@gmail.com

    • @DavidDolynny
      @DavidDolynny 8 лет назад

      +Jamie King That would be awesome, I will add you and message you sometime

  • @MrCybin
    @MrCybin 8 лет назад +2

    This video is not in the github list. There is no code for this tutorial.

  • @cly5570
    @cly5570 6 лет назад

    Awesome

  • @lolmo4
    @lolmo4 10 лет назад +4

    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  10 лет назад +2

      Study they Game Engine Programming playlist rigorously. I cover the math in a very basic way in there.

  • @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!

  • @MicheleTurchiarelli
    @MicheleTurchiarelli 8 лет назад

    How did you attached a 3D OpenGL application to a Windows Form?

    • @JamieKingCS
      @JamieKingCS  8 лет назад

      +Michele Turchiarelli I did this early in the playlist...video 2 I think.

  • @npip99
    @npip99 4 года назад

    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

  • @mdashrafulalammilton5881
    @mdashrafulalammilton5881 9 лет назад

    Jamie King Rocks. Guru, can i have link to your software which you are using here to simulate?

  • @broski8314
    @broski8314 8 лет назад +3

    all those confusions just cleared in 15 min. I should've watched this video earlier..

  • @hab1tats
    @hab1tats 10 лет назад

    Would it be possible to share the matrix simulation application?

  • @Unreadable69
    @Unreadable69 9 лет назад

    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 

  • @user-it4bo3ty7y
    @user-it4bo3ty7y 5 лет назад

    which one is your game engine playlist?

  • @williamnash9886
    @williamnash9886 6 лет назад

    so game cameras don't move?

    • @JamieKingCS
      @JamieKingCS  6 лет назад

      Nope

    • @cocbuilds
      @cocbuilds 5 лет назад

      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.

  • @simeongbolo
    @simeongbolo 9 лет назад

    How would you calculate the xyz location of your camera in 3d space?

    • @JamieKingCS
      @JamieKingCS  9 лет назад

      simeon gbolo There is a video in this playlist that shows how to do this.

    • @simeongbolo
      @simeongbolo 9 лет назад

      It's actually the location of the eye I was referring to. Your videos are amazing, thanks !

    • @JamieKingCS
      @JamieKingCS  9 лет назад

      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 9 лет назад +1

      Found it! You answered my question in videos 55-59. Cheers!

    • @JamieKingCS
      @JamieKingCS  9 лет назад

      No prob!

  • @awaken7602
    @awaken7602 8 лет назад +2

    整个中文字幕就更好了

  • @ArkadiuszBuras
    @ArkadiuszBuras 10 лет назад +1

    Hey what is name od program that you USA at 6:09 for previewing transformations?

  • @kennedycheskaki
    @kennedycheskaki 7 лет назад

    wheres the app we dont need the sources ?

  • @DlcEnergy
    @DlcEnergy 6 лет назад

    we're done here

  • @chewhammer2213
    @chewhammer2213 11 месяцев назад

    are you the kahn acandemy guy

  • @JamieKingCS
    @JamieKingCS  11 лет назад

    Um...don't get too excited. :P

  • @kennedycheskaki
    @kennedycheskaki 7 лет назад +2

    Thank me fellas, much thanks to me. As I found the sources github.com/1kingja

  • @dragansmoljan7917
    @dragansmoljan7917 8 лет назад

    yea, but the question is...WHATS IS IN THE BOX??????????????????

  • @ramyemenwel346
    @ramyemenwel346 7 лет назад

    could i take the code of this tutorial

    • @JamieKingCS
      @JamieKingCS  7 лет назад +1

      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