This video was amazing! Back in college I took a graphics class where we learned openGL, but I never really knew why we needed stuff like GLFW, GLAD, GLEW, etc. This explained everything about it! I especially loved the history section about how OpenGL started.
I love the structure that you employ in the videos each builds of the last, assuming no prior knowledge unless you've talked about it makes it very enjoyable to watch and aligns with my personal philosophy so I appreaciate this series you've made will definitely check out your website wish you all the best, Max
My first contact with OpenGL was with the MiniGL driver, a "propriatary incomplete implementation"(yeah, that's a term) of openGL by 3Dfx which allowed OpenGL games ( mostly quake ) to run on 3Dfx Vodoo cards. John Carmack didn't care to implement 3fdx Glide for Quake, so 3dfx implemented what Carmack used and then other devs tried to use OpenGL in a way that it works with MiniGL which, as mentioned, was closed source and incomplete and since ID never released a list of OpenGL functions they used and 3Dfx never released a list of OpenGL functions they reimplemented, there was some guessing involved during a time when OpenGL was not fully supported by GPU drivers, Direct3D was considered crappy.
@@todorsamardzhiev144 Yeah. But in the 90ies, graphical progress happened so very fast. Between the Vodoo1 and the Vodoo3 are just 3 years. They built a whole new chip factory in Mexico during that time. And one more year later, 3dfx was a bunch of patents in nVidias desks. The RTX3090 is older than 3 years. Well, 1996's 350nm chip production and the current 4nm chip production are like physically different worlds, so of course making a new chip and building a new factory isn't a thing you can do in a year any more.
Nice video! I'd like to see some of the OpenGL and/or Vulkan videos running on SDL2/3, at least the initial setup. I have observed that many engines prefer this library.
I can take a look at SDL in the future but for now I have to focus on the core of OpenGL and Vulkan. I have seen many tutorials on SDL that actually show you how to create a complete game with it so I guess it's a much more extensive library than GLFW.
Wow, such a great explanation, congratulations. All the information you talked about should be included in the getting started section of any OpenGL tutorial.
Nice overview. But OpenGL is definitely still available on the mac. Apple calls it deprecated to try and scare people into using metal, but baring terminal insanity (which is always possible for apple), OpenGL support will probably never go away.
I wouldn't be so sure about it. Apple is not afraid of removing old things and breaking backwards compatibility. They made it pretty clear when they removed 32 bit application support. Nothing stops them from removing OpenGL as well since most modern macOS apps are using Metal anyway.
Thanks! I've seen messages by Unity that they are also going to remove OpenGL support on Mac following Apple's deprecation statement so I would be very hesitant to continue developing in OpenGL there.
With new OpenGL core context some old GL functions were deprecated and removed, but including glew header those function names still exists and you can use them by mistake. GLAD will generate headers without those pesky function :).
I have to admit that I'm not familiar with WebGPU. Not sure if I would put it head to head with OpenGL since it's intended for the browser. I guess the best comparison is WebGL. Will be interesting to see where it goes.
@@OGLDEV I would highly suggest you look into WEBGPU. Native means it runs on desktop with bare C++ or rust. Bevy, the rust game engine uses WebGPU. The only downside is that it is new and lack documentation, but WebGPU is probably the only truly cross platform API, afaik. Thanks for all your work!.
I have used GLFW and GLAD, now I'm loading the function pointers myself and opening the window with the Win32 API for no pragmatic reason, and contrary to common sense, since I plan, at least for now, to also release the game on Linux.
I have to admit that I'm not experienced with actual game development but my guess is that the answer depends on the type of game that you are developing. Is it outdoor or indoor? Do you need an animation system? Do you need to render terrain? Is it a 3D platformer? You should probably start with the largest objects and drill down to the smaller details. Just my 2cents...
Hello. Do you assist if someone is stuck and needs your help? I am learning OpenGL and I tried to follow your tutorial on Object picking but I fail to follow, I need help with picking and would really appreciate your help.
Sorry, I have never used Dev++. I only have time to support a single environment so I chose Visual Studio which is very popular and free (community edition).
It’s not just the opengl, but when you develop stuff till you need sound like FMOD and Physx of Nvidia and other libraries, they literally does not exist to Linux, but all works on windows 32 or 64 versions, that’s the reality, game development only works on windows
Isn't Physx NVIDIA specific? You have Linux alternative for sound and physics such as OpenAL and Bullet physics. Many games on Steam are available for Linux as well. I agree that in general Windows seems like an easier platform to develop for but die hard Linux fans will claim the opposite. The real question is the size of the target market. If most of the PCs are running Windows then this is where most of the money is.
Errata: turns out that OpenAL is actually not governed by Khronos. This Open* prefix can be confusing...
Today is a good day brother. TY for a good video also
@AlbertRyanstein Thanks buddy!
This video was amazing! Back in college I took a graphics class where we learned openGL, but I never really knew why we needed stuff like GLFW, GLAD, GLEW, etc. This explained everything about it! I especially loved the history section about how OpenGL started.
Glad you liked it!
I love the structure that you employ in the videos
each builds of the last, assuming no prior knowledge unless you've talked about it
makes it very enjoyable to watch and aligns with my personal philosophy so I appreaciate this series you've made
will definitely check out your website
wish you all the best,
Max
Thank you so much!
My first contact with OpenGL was with the MiniGL driver, a "propriatary incomplete implementation"(yeah, that's a term) of openGL by 3Dfx which allowed OpenGL games ( mostly quake ) to run on 3Dfx Vodoo cards.
John Carmack didn't care to implement 3fdx Glide for Quake, so 3dfx implemented what Carmack used and then other devs tried to use OpenGL in a way that it works with MiniGL which, as mentioned, was closed source and incomplete and since ID never released a list of OpenGL functions they used and 3Dfx never released a list of OpenGL functions they reimplemented, there was some guessing involved during a time when OpenGL was not fully supported by GPU drivers, Direct3D was considered crappy.
Those were the days...
ID literally released the entire source.. but it was a tad too late for 3dfx.
@@todorsamardzhiev144 Yeah. But in the 90ies, graphical progress happened so very fast. Between the Vodoo1 and the Vodoo3 are just 3 years. They built a whole new chip factory in Mexico during that time. And one more year later, 3dfx was a bunch of patents in nVidias desks.
The RTX3090 is older than 3 years.
Well, 1996's 350nm chip production and the current 4nm chip production are like physically different worlds, so of course making a new chip and building a new factory isn't a thing you can do in a year any more.
Nice video! I'd like to see some of the OpenGL and/or Vulkan videos running on SDL2/3, at least the initial setup. I have observed that many engines prefer this library.
I can take a look at SDL in the future but for now I have to focus on the core of OpenGL and Vulkan. I have seen many tutorials on SDL that actually show you how to create a complete game with it so I guess it's a much more extensive library than GLFW.
Wow, such a great explanation, congratulations.
All the information you talked about should be included in the getting started section of any OpenGL tutorial.
Thanks!
Exceptional explanation! 😄
Thanks! 😃
nice explanation now I finally understand why they are so important and keep me away from that compatibility hell
Thanks!
Awesome content!
Appreciate it!
Nice overview. But OpenGL is definitely still available on the mac. Apple calls it deprecated to try and scare people into using metal, but baring terminal insanity (which is always possible for apple), OpenGL support will probably never go away.
I wouldn't be so sure about it. Apple is not afraid of removing old things and breaking backwards compatibility. They made it pretty clear when they removed 32 bit application support. Nothing stops them from removing OpenGL as well since most modern macOS apps are using Metal anyway.
@@vvgr409 You might be right, we'll see. The fact remains however that OpenGL is currently still supported on macos.
Thanks! I've seen messages by Unity that they are also going to remove OpenGL support on Mac following Apple's deprecation statement so I would be very hesitant to continue developing in OpenGL there.
Simply fantastico! Thank you Sir for all the help - compliments!
You're very welcome!
This is great!! It is good to know what things are the way they are.
Thanks!
this is exactly what i needed, thanks man!
Glad I could help!
With new OpenGL core context some old GL functions were deprecated and removed, but including glew header those function names still exists and you can use them by mistake. GLAD will generate headers without those pesky function :).
True, and using core profile in GLFW also helps avoiding deprecated stuff.
What are your thoughts on WebGPU and its abstractions over vulkan/dx/metal? - A decent replacement for opengl?
I have to admit that I'm not familiar with WebGPU. Not sure if I would put it head to head with OpenGL since it's intended for the browser. I guess the best comparison is WebGL. Will be interesting to see where it goes.
@@OGLDEV WebGPU has become a native solution now tho :D
What do you mean by 'native'?
@@OGLDEV I would highly suggest you look into WEBGPU. Native means it runs on desktop with bare C++ or rust. Bevy, the rust game engine uses WebGPU. The only downside is that it is new and lack documentation, but WebGPU is probably the only truly cross platform API, afaik. Thanks for all your work!.
@hakeemadam955 I hope to find the time for it...
This was awesome!
Thanks!
the GTA SA poster was also rendered with openGL
Ofcourse ;-)
Still it is a fun history lesson
Thanks!
GTA SA? My brother🤙🤙🤙
That's what I'm telling ya, Sweet.
I have used GLFW and GLAD, now I'm loading the function pointers myself and opening the window with the Win32 API for no pragmatic reason, and contrary to common sense, since I plan, at least for now, to also release the game on Linux.
Cool, as long as you enjoy it ;-)
Any resources to handle CCD or FABRIK IK with Assimp
Not exactly Assimp but you may be able to find some relevant info here: guillaumeblanc.github.io/ozz-animation/samples/
When you make a game, what objects do you start making first?
I have to admit that I'm not experienced with actual game development but my guess is that the answer depends on the type of game that you are developing. Is it outdoor or indoor? Do you need an animation system? Do you need to render terrain? Is it a 3D platformer? You should probably start with the largest objects and drill down to the smaller details. Just my 2cents...
Hello. Do you assist if someone is stuck and needs your help? I am learning OpenGL and I tried to follow your tutorial on Object picking but I fail to follow, I need help with picking and would really appreciate your help.
Sorry, but I work full time so I don't have time for such help. If you send me specific questions I'll try my best to answer.
I configured open GL lib in windows but I cant compile in Dev ++
What error are you getting?
@@OGLDEV i cant compile anything
Sorry, I have never used Dev++. I only have time to support a single environment so I chose Visual Studio which is very popular and free (community edition).
I have problems with lib configurations in wind like sfml open GL ray lib the setup seems correct but I cant compile or execute any file what to do ?
What sort of problem is there with the lib config? What do you mean you can't compile or execute?
It’s not just the opengl, but when you develop stuff till you need sound like FMOD and Physx of Nvidia and other libraries, they literally does not exist to Linux, but all works on windows 32 or 64 versions, that’s the reality, game development only works on windows
Isn't Physx NVIDIA specific? You have Linux alternative for sound and physics such as OpenAL and Bullet physics. Many games on Steam are available for Linux as well. I agree that in general Windows seems like an easier platform to develop for but die hard Linux fans will claim the opposite. The real question is the size of the target market. If most of the PCs are running Windows then this is where most of the money is.
OpenGL still works on all apple computers btw. It's "deprecated" but likely not going anywhere.
True, but I doubt that anyone will start a new project using OpenGL on the Mac. Maintenance of existing code at the most.
@@OGLDEV Raylib and Monogame both still use OpenGL on mac, but that might change at some point
I suspect they won't be writing a lot of new OpenGL code on the mac.
OpenGL and Modern OpenGL.... We need a SUPER Modern OpenGL. 3.3 and 4.5 (DSA) are pretty different.
DSA is considered modern OpenGL, but right now it doesn't look like they are going to create a super modern OpenGL...
Are you reading from wiki!!!
I'm not reading from wiki but I did use it for the background research.
@@OGLDEV Thank you for the reply
np :-)