Projection Matrices in OpenGL

preview_player
Показать описание


Thank you to the following Patreon supporters:
- Dominic Pace
- Kevin Gregory Agwaze
- Sébastien Bervoets
- Tobias Humig
- Peter Siegmund
- Kerem Demirer

Gear I use:
-----------------

Рекомендации по теме
Комментарии
Автор

A few years late but for anyone still watching this, javidx9 has an amazing series where he tackles the graphics pipeline in depth through the use of a console and the power of the CPU.It provides a far more intuitive view over what is actually going on under the hood.

cykablyat
Автор

The minute I changed my projection matrix to no longer be centered at 0 my triangles were getting drawn in totally bizarre ways... took me half an hour to remember that matrix multiplication order matters and I was multiplying backwards in my vertex shader!

ryanmeyers
Автор

The conversion of orthographic projection matrix values from relative to pixel really help explained this concept for me. The quick math demonstration at the end was perfect. Wish I could like the video twice.

jrpk
Автор

I like how he is also explaining how things far away look smaller. I mean he's just not excluding anyone with different skill levels.
Love you

rajasbondale
Автор

Well before these series it was extremely difficult to learn graphics API'S from the Internet. For some reason there are no good tutorials out there about that stuff even that programming is actually one of the easiest topics to learn through the internet. Very good job! Keep going! (We also can't wait for the Game Engine

nikoszervo
Автор

Just so everyone knows, he didn't mention that matrix multiplication is NOT commutative, and has to be matrix * vec4

finnbuhse
Автор

Implementing your own projection matrix is very useful; it makes it easy to get the inverse. Getting the inverse very handy for shooting a ray though an arbitrary point on the screen (e.g., to find what's under a mouse pointer).

BlackJar
Автор

More theory please. You can find thousands of videos already of people just coding without explanation.

skrolikowski
Автор

If your vertex positions got messed up but everything seems to be alright, it could be bacause of your shader program.
instead of
gl_Position = position * u_MVP;
write
gl_Position = u_MVP * position ;
as the matrix multiplication is NOT communicative ( mat_1 * mat_2 != mat_2 * mat_1 )

Micha-mjvg
Автор

This is exactly what I needed in order to understand how to convert SDL2 renderer stuff to OpenGL in my game, thank you so much! Projection Matrices FTW

nerijusvilcinskas
Автор

Another GREAT Technical Video Cherno! Much appreciated. More theory with practical application is the BEST teaching style. Theory BEFORE application is necessary for real understand, memory recall, and better applications development.

nox
Автор

I know some people below dont like the mostly talking and few coding, but I find that style to be the best. It was how my programming teachers in college taught. Basically in the 1 hour 15 minutes of course time it would be on just one topic. 45 minutes of the class to talk about logic and syntax.. do's and don'ts. History of the topic, current status, why its good, etc.. then we would have 30 minutes on the computers to play with the code.

You know what you're doing. You know the code and theory.. so you know how complex it is.. If you feel you should do it this way to make sure everyone gets it then thats probably the best way. After all you know more about this stuff then we do.

vertigo
Автор

you also have to use orthographic projection when implementing shadow mapping from a sun-like light source (outdoor scene), As "sun rays are parallel "

BichoPragmatico
Автор

Love the theory Mr. Cherno. You ave done a great explanation of OpenGL.

Like I didn't know that GLU was the one that loaded all those function pointers. I was always confused as to how I could just call these OpenGL functions without loading them from the DLL first. Note GLU has extra functions such as GluPerspective(...).


I learnt what the hell are shaders in modern graphics libraries. I learnt about vertex shaders and fragment shaders.

I learnt that by using gl buffers you could store memory directly into the GPU. And shaders allow you to write callback functions that run on the GPU.

dmasterify
Автор

6:25 reminds me of that episode of Father Ted where he's trying to explain the difference between a small sheep and a far away sheep

violenceisfun
Автор

I'm very thankful for all this explanation of how things work. I finally have a grasp of what's happening when I type code!

timothyvandyke
Автор

I've been looking for this, good video. Thank you

AxElKo
Автор

the emotionally motivating music at the start damn

not_halls
Автор

Would like to see an application of the concepts you've gone over, maybe in rendering a basic first person scene, but it's certainly useful to get the theory in a well-packed video too! Maybe another series?

vrysk
Автор

damn man, you saved me from pulling my hair out (edit: once again). thanks.

jairoacosta