Thank you so very much! It's hard to find a quick run thru on beginner knowledge of OpenGL ES and this is very helpful! And to answer that question of the coordinate plane being resized, all values in OpenGL are percentages! From the the colors 0.0f-1.0f to the coordinate plane -1.0 to 1.0
I do not understand your response. I am using SDL for that, not GLUT, as I have stated. I was stating not to ignore tutorials with sound graphics principles, simply because they are using GLUT. Ignore GLUT and garner the generic concepts, it's simple. I use more standard OpenGL calls which happen to be a subset of OpenGL ES. Therefore my code compiles on all posix platforms. The rendering logic I use for setting up context is SDL. This way there is one code base for the entire game.
Yes yes, no GLUT or GLU on OpenGLES supported platforms (IOS, Android). But don't ignore those tutorials! Just use the concepts. Also, you can ifdef the context setup and main loop which makes a call to portable code that runs on all the systems you're targeting. E.g. I do SDL for my PC rendering setup and all the actual drawing and game logic is in platform agnostic opengl. Same code runs on PC, Android and any posix system.
Your Video Is Very Useful Sharing David Jacobs provides and introduction to OpenGL ES. Coordinate systems and tranformations, drawing geometry, textures, and other details.
+TheRadioMu Okay, sit still in your room, and look straight ahead at a wall. How much of that wall do you see? Take note of the minimum and maximum area of the wall you see. Quite a bit of it if you are sitting far away. The farther away the wall is, the more of it you see. Now look at that Frustum again, the farther away the zFar wall is, the larger it is, because you're seeing more as the distance increases. This is also why, if you play a video game and you adjust the distance you can see away in your quality settings, for each little bit of distance you see further, the amount that needs to be rendered increases exponentially because father away = much more area you are seeing at that distance. If you point towards each corner of the limit of you can currently see, do you point straight ahead, inward, or do you point point out at an angle that grows larger?
this lecture would be awesome if he described the math behind the model-view-projection multiplication. that was my basic struggle. without understand the model-view-projection process then you are just guessing
Why do all universities teach OpenGL with a right-handed coordinate system? The negative-z into the screen was in no way enforced in any OpenGL since 1.0, and it most certainly isn't now with the state machine and matrix stacks abolished. Just because that's what SGI used back then? Is there a certain mathematical or otherwise academical reason for insisting on a right-handed coordinate system?
+as12df12 He stated in the video that it was just a construct, not fixed, it depends on the user at around 10:45, but he has to use some system when teaching and the best one to use is the most common one and the one OpenGL defaults to in order to avoid confusion.
The video mentioned that "90% of tutorials online were not helpful" due to using GLUT. This is nonsense. Many of them use generic graphics principles and are quite useful, just ignore the GLUT components. That was my point of mentioning GLUT. I am not using it, but it is silly to dismiss 90% of tutorials based on this. Also, the rendering logic remains the same or similar (unless you are using immediate mode for vertices etc), which is really slow anyway, so avoid it.
same here, i get it's not that hard! but WHY THE F should i learn this crap, when i have SceneKit and Unity... this lecture helps to clear that mental block
When IOS and Android killed Flash I expected something realistic as a replacement. Lets speak about OPENGL ES ... The famous engine that may or may not work, that you may or may not understand. Over-complicated, time demanding and with no good tutorial online. Try to load rigged mesh and you will find yourself in the ocean of troubles.
+zeljko banovic If you find this complicated, and it is probably the simplest form of OpenGL you can get, than you don't want to even look at modern OpenGL systems with shaders etc. Or even regular OpenGL on desktop systems. Stick to 2D.
You know... If you find writing to complicated you really should not write. You missed the point, and that is bad writhing. I did not say I cant handle it, I said it is too low level for 21 century ... They should encapsulated it. Like, create some native mesh loaders or some collision detection classes ...
zeljko banovic it's "too complicated" not "to complicated" and it's "writing" not "writhing". Also, it's "can't" not "cant". You really should learn to spell before criticizing someone else for their writing. :) Anyhow, OpenGL is a graphic library. Loading meshes and collision detection has nothing to do with graphics. If you want all that than what you need is a premade 3D Engine like Unity or the Unreal Engine.
+Neil Roy Kad ti budes pricao mojim jezikom, mozes da kritikujes moje spelovanje tvog nerazvijenog jezika... I dalje demonstriras nekulturu... Verovatno Amerikanac? Nista cudno...
+zeljko banovic I have too agree, it is getting way tooooo low, now if anyone wants to get from C++ to assembler they have a way to do it (but very few people really need to), now in graphics world - why everyone is pushed to use assembler (shaders) for everything? Put it there for those who need it, why deprecating tons of knowledge/tutorials/videos etc. on classic opengl (pre 3.3) and force this overarchitectured and confusing stuff on everyone? Crazy!
No matter what others say, this is clearly the best OpenGL tutorial I have ever seen for 3 years around.
And it is 11 years ago.... It's still the best till now
Hello. This is the best explanation of basic OpenGL I've ever seen. This guy is very skilled in his explanation. To the point and very informative.
Thank you so very much! It's hard to find a quick run thru on beginner knowledge of OpenGL ES and this is very helpful! And to answer that question of the coordinate plane being resized, all values in OpenGL are percentages! From the the colors 0.0f-1.0f to the coordinate plane -1.0 to 1.0
Cool video!
It's important to get that this video is based on OpenGL ES 1.1 that is really old. OpenGL ES 3.0is the current version.
the basic concepts are very useful for further study ,and you describe them very clear ,so thanks
Look on the date, its March 9, 2010. OpenGL ES 2.0 wasn't yet announced, and in 1.1 version u are not using shaders.
David Jacobs for PRESIDENT!
I do not understand your response. I am using SDL for that, not GLUT, as I have stated. I was stating not to ignore tutorials with sound graphics principles, simply because they are using GLUT. Ignore GLUT and garner the generic concepts, it's simple.
I use more standard OpenGL calls which happen to be a subset of OpenGL ES. Therefore my code compiles on all posix platforms. The rendering logic I use for setting up context is SDL. This way there is one code base for the entire game.
Yes yes, no GLUT or GLU on OpenGLES supported platforms (IOS, Android). But don't ignore those tutorials! Just use the concepts.
Also, you can ifdef the context setup and main loop which makes a call to portable code that runs on all the systems you're targeting. E.g. I do SDL for my PC rendering setup and all the actual drawing and game logic is in platform agnostic opengl. Same code runs on PC, Android and any posix system.
Thank so much Mr. David Jacobs. It is wonderful.
state based APIs... people coming from functional languages must love it :)
Your Video Is Very Useful Sharing David Jacobs provides and introduction to OpenGL ES. Coordinate systems and tranformations, drawing geometry, textures, and other details.
excellent lecture, i expect more lectures from you regarding opengl ;)
How to understand the parameters of glFrustumf(left, right, top, bottom, near, far) ?
18:30
Many people say that it's syntax sucks. Not just me. It's very counter intuitive and hard to read.
No problem my friend. Best of luck on your graphics programs/games! :)
cool video
10:50 you know that objects reduce size with greater distance, why is the view frustum growing greater with disrance : )
+TheRadioMu to avoid the deep screen appearing to narrow, when it doesn't
+TheRadioMu Okay, sit still in your room, and look straight ahead at a wall. How much of that wall do you see? Take note of the minimum and maximum area of the wall you see. Quite a bit of it if you are sitting far away. The farther away the wall is, the more of it you see. Now look at that Frustum again, the farther away the zFar wall is, the larger it is, because you're seeing more as the distance increases. This is also why, if you play a video game and you adjust the distance you can see away in your quality settings, for each little bit of distance you see further, the amount that needs to be rendered increases exponentially because father away = much more area you are seeing at that distance. If you point towards each corner of the limit of you can currently see, do you point straight ahead, inward, or do you point point out at an angle that grows larger?
this lecture would be awesome if he described the math behind the model-view-projection multiplication. that was my basic struggle. without understand the model-view-projection process then you are just guessing
+TheRadioMu linear algebra is it's own 60,000 videos
yogya present
openGL is openGL ,but just there is little difference in input and some function (for example there is no mouse in android ) :D
Why do all universities teach OpenGL with a right-handed coordinate system? The negative-z into the screen was in no way enforced in any OpenGL since 1.0, and it most certainly isn't now with the state machine and matrix stacks abolished. Just because that's what SGI used back then? Is there a certain mathematical or otherwise academical reason for insisting on a right-handed coordinate system?
Perhaps because right handed systems are defined conventions throughout mathematics, physics, engineering, etc..
+as12df12 He stated in the video that it was just a construct, not fixed, it depends on the user at around 10:45, but he has to use some system when teaching and the best one to use is the most common one and the one OpenGL defaults to in order to avoid confusion.
***** I agree with you completely --the best convention to use is the one which is actually a convention..
***** Whoa, I actually missed that, thanks.
Anthony Phillips Well, left-handed is a convention with game developers... but I see the point.
+as12df12 Thanks for the info but I find this difficult to believe. Take care.
The video mentioned that "90% of tutorials online were not helpful" due to using GLUT. This is nonsense. Many of them use generic graphics principles and are quite useful, just ignore the GLUT components. That was my point of mentioning GLUT. I am not using it, but it is silly to dismiss 90% of tutorials based on this.
Also, the rendering logic remains the same or similar (unless you are using immediate mode for vertices etc), which is really slow anyway, so avoid it.
Professor visibly miffed when nobody asks questions. My only question after my very first OpenGL lecture: "What?"
finally i get it. this guy rocks. i feel sorry for those students though, opengl in one day sucks
And nothing on shaders?!?!?! just call it a stat machine?
Future of Technology.
There is mouse in android.
6 mins 40 seconds he starts using "Feet"??. Come on people SI units!
Ian Tierney You mean 400000 milliseconds in.
+Ian Tierney nobody gives a shit about foreigners
+Ian Tierney Huh? This is a Stanford University video, they're in the United States, they use feet. Why are you surprised at this?
this is great, answers lot of 'why' questions.
same here, i get it's not that hard! but WHY THE F should i learn this crap, when i have SceneKit and Unity... this lecture helps to clear that mental block
Great but getting old, glFrustumf?!?!?! needs to be updated with Matrix based transforms.
Please, never comment on anything on the internet if you are Indian
+Mister Eftup Dafuq is wrong with you?
Agreed. Such an thick terrible accent makes my ears to bleed, head to hurt
this is awesome, thank you
39:22 the laugh...
are there only 2 people in the class or what?
I'm wondering
9:40 - illuminati presence in opengles confirmed!
THIS VIDEO JUST BECAME OBSOLETE - APPLE IS DROPPING SUPPORT FOR OPENGL
(unless you're part of the 90% mobile users who chose Android :-)
Still, the fundamentals in here are always going to be useful.
@@RyanMartinRAM true
Is there more of these videos because it says 19 in title?
omg this is so helpful
Hmm, seems legit to me.
When IOS and Android killed Flash I expected something realistic as a replacement. Lets speak about OPENGL ES ... The famous engine that may or may not work, that you may or may not understand. Over-complicated, time demanding and with no good tutorial online. Try to load rigged mesh and you will find yourself in the ocean of troubles.
+zeljko banovic If you find this complicated, and it is probably the simplest form of OpenGL you can get, than you don't want to even look at modern OpenGL systems with shaders etc. Or even regular OpenGL on desktop systems. Stick to 2D.
You know... If you find writing to complicated you really should not write. You missed the point, and that is bad writhing. I did not say I cant handle it, I said it is too low level for 21 century ... They should encapsulated it. Like, create some native mesh loaders or some collision detection classes ...
zeljko banovic
it's "too complicated" not "to complicated" and it's "writing" not "writhing". Also, it's "can't" not "cant". You really should learn to spell before criticizing someone else for their writing. :)
Anyhow, OpenGL is a graphic library. Loading meshes and collision detection has nothing to do with graphics. If you want all that than what you need is a premade 3D Engine like Unity or the Unreal Engine.
+Neil Roy Kad ti budes pricao mojim jezikom, mozes da kritikujes moje spelovanje tvog nerazvijenog jezika... I dalje demonstriras nekulturu... Verovatno Amerikanac? Nista cudno...
+zeljko banovic I have too agree, it is getting way tooooo low, now if anyone wants to get from C++ to assembler they have a way to do it (but very few people really need to), now in graphics world - why everyone is pushed to use assembler (shaders) for everything? Put it there for those who need it, why deprecating tons of knowledge/tutorials/videos etc. on classic opengl (pre 3.3) and force this overarchitectured and confusing stuff on everyone? Crazy!
gosh Objective-C's syntax is HORRIBLE