After seeing this tutorial, it seriously frustrates me why most other tutorials don't explain this subject as clearly. In other words, really nice tutorial!
In reality what happens with the projection matrix is to transform coordinates to clip space, then from that they will be diveded to w to get to the NDC system. After having had NDC, there is even one more transformation to screen space, and that is when fragment shader start to execute.
Good tutorial. Just wanted to mention one thing. The result of the multiplying the projection matrix with the modelview matrix is actually in clip-space. gl_Position therefore is in clip-space. After the vertex shader, OpenGL will perform perspective divide (dividing by w) to transform to NDC (followed by viewport transformation to map from NDC-space to screen-space). See www.khronos.org/opengl/wiki/Vertex_Post-Processing .
I think we forgot to talk about the screen matrix...that projection matrix eventually has to end up on the screen. Seems we need another matrix to change projection to actual screen pixels.
When you see any "movement" in world space (or even rotating the camera), it's the world that moves around the camera. I would say "It's not the spoon that bends, but you" - but that's been done :)
This is the best OpenGL tutorial I have ever seen.
Glad you guys like it!
This is the best introductory tutorial for OpenGL. Can't believe others couldnt elaborate it that easily.
Amazing. Describes the most important concepts in a graphics class in 7 minutes rather than several hours of lectures.
I have seen many tutorials on this subject but, this one is the most clean explanation among them. You deserve more attention. Bravo.
This is the best tutorial for learning openGL even I am now study this in 2021. Thanks a lot Jeffry
Clean, clear, and really gives understanding. 10/10, especially considering the time you did it in.
omg i love you, this is the intro i needed into this topic
After seeing this tutorial, it seriously frustrates me why most other tutorials don't explain this subject as clearly. In other words, really nice tutorial!
In reality what happens with the projection matrix is to transform coordinates to clip space, then from that they will be diveded to w to get to the NDC system. After having had NDC, there is even one more transformation to screen space, and that is when fragment shader start to execute.
Good tutorial. Just wanted to mention one thing. The result of the multiplying the projection matrix with the modelview matrix is actually in clip-space. gl_Position therefore is in clip-space. After the vertex shader, OpenGL will perform perspective divide (dividing by w) to transform to NDC (followed by viewport transformation to map from NDC-space to screen-space). See www.khronos.org/opengl/wiki/Vertex_Post-Processing .
Seriously a very good tutorial ! Will watch your other vids as well. Thanks!
+Vikramaditya Kukreja Thanks!
Your videos are real good, keep up the good work.
You're awesome you compressed a long text tutorial into 7min video!
I think we forgot to talk about the screen matrix...that projection matrix eventually has to end up on the screen. Seems we need another matrix to change projection to actual screen pixels.
Clearly! Thank you!
Great tutorials, thank you.
Thanks really helpful!
Very well made tutorials! You should make tutorials on the recent Vulkan API as well.
Thanks! I'll leave the Vulkan tutorials to you :)
Hey Jeffrey, Thank you so much for these tut, only one question why have you stopped making more tutorial?
Thanks,it is the best tutorial
Sun Sunshine Glad you liked it
I get that the camera never moves in the camera space, but the camera has a world space position, so does the camera actually move within world space?
When you see any "movement" in world space (or even rotating the camera), it's the world that moves around the camera. I would say "It's not the spoon that bends, but you" - but that's been done :)
Great tutorial , it helped a lot , thank you
What happened to tutorial #8?
It's there - it's an Index Buffer code example. Tutorial 8 - Index Buffer Code Example in OpenGL (code)
Thanks,man!
you rock \m/