The OpenGL Software Ecosystem
HTML-код
- Опубликовано: 25 июн 2024
- This video provides a short history of OpenGL and explains the role of software packages such as FreeGLUT, GLFW, GLEW and GLAD in setting up a working OpenGL environment.
📚 Timecodes 📚
0:00 Intro
0:24 History of OpenGL
3:00 Portability
4:45 The window and the context
5:40 The OpenGL ARB
7:00 OS/Windowing extensions
8:08 OpenGL frameworks
9:16 FreeGLUT and GLFW
10:29 The loading library
12:30 GLEW and GLAD
13:34 Outro
Please visit ogldev.org to see more of my tutorials on modern OpenGL.
Feel free to comment below.
🔗Contacts:
🔹Email: ogldev1@gmail.com
🔹Instagram: @ogldev1
🔹Github: github.com/emeiri/ogldev.git
🔹TikTok - / ogldev
🔹Twitter: @ogldev
🔹One time donations (Paypal): ogldev.org/donate.html
🔹Patreon: / ogldev
🙏Credits:
🔹All the logos in this video are the property of their respective companies (SGI, IBM, HP, Sun Microsystem / Oracle)
🔹Silicon Graphics logo - www.sgi.com, Fair use, en.wikipedia.org/w/index.php?...
🔹SG Indigo image - By Retro-Computing Society of Rhode Island - Own work, CC BY-SA 3.0, commons.wikimedia.org/w/index...
🔹SGI Indy image - By Bilby - Own work, CC BY 3.0, commons.wikimedia.org/w/index...
🔹SGI Cctane image - By Afrank99 (talk) - Own work, CC BY-SA 2.0, commons.wikimedia.org/w/index...
🔹Commodore 64 video - • Commodore 64 TV Commer...
🔹Atari video - • 1983 Atari 800 Compute...
🔹Sinclair video - • ZX Spectrum: An Americ...
🔹PC video - • PC Turns 30 (IBM 5150)
🔹King Quest II video - • King's Quest - Saving ...
🔹Doom video - • DOOM DOS / IBM PC Quic...
🔹Duke Nukem 3D video - • Duke Nukem 3D: Atomic ...
🔹CAD video - • Getting Started with S...
🔹SGI video - • SGI Octane: What can ...
🔹Jurrasic Park ("It's a unix system" scene) by Universal Pictures - • It's a unix system
🔹Linux drivers dri current diagram - By Shmuel Csaba Otto Traian, CC BY-SA 3.0, commons.wikimedia.org/w/index...
🔹OpenGL on windows diagram - www.opengl.org/pipeline/artic...
🔹Direct3D system integration diagram - learn.microsoft.com/en-us/win...
🔹Assasin's Creed Mirage video - • Assassin's Creed Mirag...
🔹Battlefield 5 video - • Battlefield V - Ray Tr...
🔹Shadow Of Mordor video - • Shadow Of Mordor: Open...
🔹Doom 2016 video - • DOOM 4 OpenGL 4.3 Test !
🔹OpenGL pipeline image - www.khronos.org/opengl/wiki_o...
🔹Image by Sharuk Ali from pixabay.com
🔹NVIDIA video - • GeForce Tech Demo: MFAA
🔹FreeGLUT logo - Image by Steve Baker who releases it under GNU Free Documentation License / 🔹freeglut.sourceforge.net/
🔹learnopengl.com by Joey De Vries
🙏Music Credits - RUclips Audio Library:
Masquerade by Luna Cantina, Trabaja Duro Juega Duro by Luna Cantina, Summer Somewhere In Cuba by Cumbia Deli, Stealth by Aakash Gandhi, Palace of Roses by Aakash Gandhi, Chiapas Marimba by Jimena Contreras, Foyf (Instrumental) - NEFFEX.
Enjoy,
Etay Meiri
#opengl
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!
Super informative, thanks!
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...
this is exactly what i needed, thanks man!
Glad I could help!
This is great!! It is good to know what things are the way they are.
Thanks!
Exceptional explanation! 😄
Thanks! 😃
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.
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.
Awesome content!
Appreciate it!
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!
This was awesome!
Thanks!
the GTA SA poster was also rendered with openGL
Ofcourse ;-)
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...
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 ;-)
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.
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/
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...
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?
D3D has more understandable programming interface.
I wish I had the time to cover it as well.