Should you learn OpenGL or Vulkan first? (2022 UPDATED NEW!) #indiegamedevontop

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


Let’s begin with OpenGL. The internet calls it old and slow… and I disagree with this because, even though newer technologies are released, it usually doesn’t make the older ones obsolete. Even though Vulkan and newer APIs DO perform better than OpenGL, OpenGL is certainly not slow… and remember, if your program has poorly written code, it doesn’t matter what graphics API you’re using, your program is going to perform poorly.

Moving on to Vulkan, the internet calls it too complex for the beginner… but there’s actually a HUGE difference between complexity and verbosity. Complexity means made of multiple parts and hard to navigate around, while verbosity simply means expressing more. And I believe that all APIs have the same amount of complexity, even OpenGL. Vulkan is just a little bit more *verbose* and makes you write out more code.
Рекомендации по теме
Комментарии
Автор

Learn Vulkan first. Vulkan has way better branding then OpenGL. It has way better color scheme too (the striking red color). Not to mention the logo: the Minotaur, Teapot, dragon, and bunny are iconic. I don't think OpenGL even has a mascot. So... LEARN VULKAN.

LowLevelLemmy
Автор

Good distinction: Complexity vs. Verbosity

jaysistar
Автор

Imo when I first looked at graphics APIs, OpenGL was a lot less intimidating than Vulcan, but now that I can make a textured cube spin around, I think I'll try Vulcan again and see if it makes any more sense lol

Great, clear, and concise video though!

Snail
Автор

I never have such thought. By the time I learnt OpenGL, vulkan is not out yet not even mentle API from AMD. I learnt Vulkan when it just came out in 2016 Feb. I think vulkan is a bit verbose and over abstraction. But for multi-thread it really provide you complete freedom un-like in OpenGL we need to do stupid workaround like shared context. And in Vulkan you are more aware of GPU state and you have more control.
To learn OpenGL or Vulkan first, it's never about performance. Think about you learn a programming language, it's ridiculous to say you only want to learn the fastest language in the world.
More freedom, more complexity
I think people should always learn OpenGL, because it's more productive and it helps you open the gate to real-time graphics programming. Say you want to hardware accelerate on android, simply by uploading an image to GPU. Usually OpenGL is enough. And I think if you are experienced with OpenGL, learning vulkan just take a few steps further, won't be that painful anymore. Fun thing is you can compare two APIs to figure out the design decision and story behind Vulkan.

LUN-bofb
Автор

I'd say out of all the APIs, OpenGL (2.0+) is by far the least verbose, but a bit more complex than something like DirectX9. Vulkan though, as you said is more verbose than OpenGL, but is also a fair bit more complex. In OpenGL you just call a loader function and the entire API is ready to render, but in Vulkan and Direct3D APIs you need to create an instance and to a lot more set-up before being able to even clear the screen

dimi
Автор

Tho vulkan is verbose, i think it's still more complex than opengl. You have to be on a lower level in vulkan thus messing with lower levels things like devices. (but vulkan provides validation layers so it's easier to navigate so idk)

noodle-xuqv
Автор

Even though I do agree with you, I would still say Vulkan is not beginner-friendly simply for the fact that by the time you get any visual feedback, a lot of people would have given up.

Some people also quickly give up with OpenGL, and it only requires 2 libraries to link and 100 lines of code to get some visual results...

VictorGordan
Автор

I'd say, if you are a beginner programmer, or beginner in the field of 3d graphics or you want to see results ASAP - go OpenGl.
But if you are an experienced one and you want to master complex but #1 API - vulkan...
Personally, I'm learning vulkan after some huge expirience in software development and 3d graphics (OpenGl, DirectX, SDL, Unity) and it's still feels quite more complicated then older APIs, there also lack of good tutorials (just few good ones)... Though, I totally like this API...

konstd
Автор

Well i suck at both anyways lol i been happy just making the screen show up in glfw-

kyonas
Автор

I recently learned rust and now I want to learn graphics programming soo do you have any resources for vulkan/opengl? I have heard wrappers aren't that good if you want to learn how it works please help me

mcboat
Автор

No matter the API, framework. Always use C++ :D

cristianinujazznight
Автор

Vulkan is faster if you use it right. Otherwise it’s easy to make it run magnitudes slower than OpenGL

nickgennady
Автор

vulkan is just more verbose? As a seasoned graphics programmer i could not disagree more. Incoherent caches, manual synchronization queue ownership, manual memory allocation, descriptor pool pool pools etc, etc...
Vulkan is exponentially more complex and is so very much on purpose.

gideonunger
Автор

If you want to learn, I would recommend opengl. There are way more tutorials and as long as you know how to code its easier to follow. To be honest, you probably dont need the speed vulkan has if you are not working on a triple a game with a team. Opengl, while not easy, is more simple than vulkan but it will definitely be more than enough for any indie projects

cryptigo
Автор

Playing games using opengl I typically find issues to be rare, and vulkan games I try yo steer clear of due to it being a mess to run on any machine I've had. Trying to lear more about it consequently opengl is the entry point so it's good to know what kinds of differences there are.

e.c
Автор

not gonna lie thing is the video i was looking for great job

panzerplayz
Автор

Hi, the algorithm of YouTube bringed me here.
I wonder how do you think about bgfx, which is a library let you use different graphic APIs with same code.

mickyyang
Автор

Opengl isn't slow, it load mostly single core, vulkan can involve multiple threads, but using opengl will faster than unity, unreal, or godot

Xxx_HAuATOP__xxX
Автор

opengl, directx, and vulkan are not apis. they are specs which is a big state machine. They are not an api.

owenpbarker
Автор

True, i'm making a game engine with opengl

lanchanoinguyen