Thanks a lot for the video! I have just started learning OpenGL & was second guessing whether I should just switch to learning Vulkan because of its superior features, but your advice has convinced me to stick with it for now. I'm also glad you mentioned WebGPU, I haven't really heard anything about it yet so I'll definitely check it out!
Here is my anecdotal experience learning graphics programming over the past 2 years: I wrote a bit of webgl in JavaScript and could never get a “feel” for the proper way to set things up. I am a web dev and I couldn’t map my understanding of modern apis onto the ephemeral global webgl state and how to use it at scale. I have recently started learning webgpu via Rust’s WGPU library. The difference in api ergonomics has felt like night and day. Having atomic stateless configurations like bind groups and render pipelines that all end up being used together per draw call just made it so much easier to understand how the data I was passing into my graphics code was being used. So I personally don’t think I’d a terrible idea to have it first shot at graphics programming being in webgpu instead of webgl, especially if you are already used to handling modern APIs
2:59 "one vertex at a f... at a time" Not sure if that was accidental but it made me laugh. When you said you struggle with large amounts of code, and seeing the big picture, that resonated with me. I think the issue I have is that I do try to keep the whole thing in my head, and when software reaches a certain complexity that doesn't work anymore. It becomes overwhelming. But I also don't know how to architecture software in a way that makes intuitive sense to me. So I usually just try my best at keeping things as simple as possible, so the code still fits in my head entirely.
May have been an accident, but I laughed hard reading that! I think of large codebases like relationships. When things get tough I may want to start over (and I have multiple times) but I’m learning that the same problems will re-emerge. Better to work at fixing what I have.
I've been learning vulkan as my first adventure into gp. Ha, and also I've been using it with zig lang so I have to translate all the code from vulkan Guide as I go ha and also I've only been using zig for like a month and a half so I'm still kinda learning it ha and also I've only been into system's programming for like 4 month. So yeah I think I might be a bit of a masochist but hey I'm having fun and I don't care if I fail completely so that's all that matters baby yyyyaaa
useful - thanks for sharing your thoughts i regard myself as very weak in the c++ department, so learning opengl while ramping up the c++ seems like the obvious way to go right now one thing's for sure - going to be quite the while before i feel like i'm limited by what opengl can do i'm also a sucker for shiny-new-toy syndrome so the thought of switching to vulkan was never going to be far away 😲
I feel that, it’s the same for me, the feeling is always “I can improve my project” 🤣
ปีที่แล้ว +3
I've been learning webgpu since September last year, I knew a bit of webgl and glsl but I didn't have a deep understanding. I've been coding a library to mostly work with shaders effects (not meshes, just a couple of triangles) and I've found myself in a couple of Vulkan tutorials just trying to find some related information and the general structure of the code is pretty similar to webgpu
I am new to CG programming and started with Vulkan. I personally don't see it as something difficult to learn (not bragging but hear me out), I just feel there isn't any good resource that we can learn its concepts from it. I'm saying that from the experience that I had from learning CUDA, I've never felt any struggle learning that because there are a lot of very good resources already available by NV which smooth the way out and even helped me to understand some parts of the Vulkan somehow. Which without them I can imagine it would have been impossible for me to understand anything from Vulkan. IMO, the root of making good resources has to start with the people or the companies who have developed this tool. Because they are the only ones who know the implemented concepts at the deepest level. The same way that NV did for CUDA, or other companies are doing for their own tools. And then people will learn from them and will create more resources. But the current situation looks like a game of research to figure out the under the hood of Vulkan's concepts, which is why it requires too much effort and people are struggling to learn it
100%, no it’s not strange! I’ve noticed that CUDA sort of functions as an intellectual bedrock for graphics programming. I’ve seen a lot of students learn CUDA first and then transition more easily into other apis. And I completely agree, apparently khronos group reached out to vulkan tutorial and provided them with some info. Not sure if they’ve done so with other big tutorials but there’s definitely a lack of official guidance, which is strange. After all, Vulkan wasn’t a gift from the heavens, it was written and implemented by humans, and yet when it comes time to find tutorials there seems to be zero information out there.
i made a ms paint clone using opengl , and tbh it was quite easy (with help of chatgpt) , now am planning for a 2d game engine as my resume , specially for games on android support , i heard vulkan is the only api which supports android ryt now, is it true?
I hava little experience in OpenGL and I started learning Vulkan 5 months ago. The process is full of pain, I am still struggling with basic stuffs like framebuffers and render passes. Should I drop Vulkan and learn OpenGL or just continue with Vulkan?
@@SkyFly19853 So what are the situations that happen with quake 1 remastered with vulkan? The only thing I have seen from this so far is its github page.
Well the problem is not about of how many code,it is all about efficient and power.if writing more code gives you more power,it is fair enough,if not just stick with lesser code.when i move from fixed function pipeline(in opengl) to shader,it is difficult dealing with 3d transformations since math libraries such as glm don't do anything for you,i have to write my own matrix and arrange them correctly.there are ton of unsaid setup procedures when using shaders.eventually,understand software at hardware level is absurd,no you can't.we need abstraction because we are human beings,using vulkan does not make you better programmer.coding can't fully reveal the hardware behind,it was the chip that does that for you.
Thanks a lot for the video! I have just started learning OpenGL & was second guessing whether I should just switch to learning Vulkan because of its superior features, but your advice has convinced me to stick with it for now. I'm also glad you mentioned WebGPU, I haven't really heard anything about it yet so I'll definitely check it out!
Here is my anecdotal experience learning graphics programming over the past 2 years:
I wrote a bit of webgl in JavaScript and could never get a “feel” for the proper way to set things up. I am a web dev and I couldn’t map my understanding of modern apis onto the ephemeral global webgl state and how to use it at scale.
I have recently started learning webgpu via Rust’s WGPU library. The difference in api ergonomics has felt like night and day. Having atomic stateless configurations like bind groups and render pipelines that all end up being used together per draw call just made it so much easier to understand how the data I was passing into my graphics code was being used.
So I personally don’t think I’d a terrible idea to have it first shot at graphics programming being in webgpu instead of webgl, especially if you are already used to handling modern APIs
Good video btw, alerts enjoy hearing others perspectives. Graphics programming has proven to be very difficult to learn!
2:59 "one vertex at a f... at a time" Not sure if that was accidental but it made me laugh.
When you said you struggle with large amounts of code, and seeing the big picture, that resonated with me. I think the issue I have is that I do try to keep the whole thing in my head, and when software reaches a certain complexity that doesn't work anymore. It becomes overwhelming. But I also don't know how to architecture software in a way that makes intuitive sense to me. So I usually just try my best at keeping things as simple as possible, so the code still fits in my head entirely.
May have been an accident, but I laughed hard reading that!
I think of large codebases like relationships. When things get tough I may want to start over (and I have multiple times) but I’m learning that the same problems will re-emerge. Better to work at fixing what I have.
Thank you for your great work!
I've been learning vulkan as my first adventure into gp. Ha, and also I've been using it with zig lang so I have to translate all the code from vulkan Guide as I go ha and also I've only been using zig for like a month and a half so I'm still kinda learning it ha and also I've only been into system's programming for like 4 month. So yeah I think I might be a bit of a masochist but hey I'm having fun and I don't care if I fail completely so that's all that matters baby yyyyaaa
useful - thanks for sharing your thoughts
i regard myself as very weak in the c++ department, so learning opengl while ramping up the c++ seems like the obvious way to go right now
one thing's for sure - going to be quite the while before i feel like i'm limited by what opengl can do
i'm also a sucker for shiny-new-toy syndrome so the thought of switching to vulkan was never going to be far away 😲
I feel that, it’s the same for me, the feeling is always “I can improve my project” 🤣
I've been learning webgpu since September last year, I knew a bit of webgl and glsl but I didn't have a deep understanding. I've been coding a library to mostly work with shaders effects (not meshes, just a couple of triangles) and I've found myself in a couple of Vulkan tutorials just trying to find some related information and the general structure of the code is pretty similar to webgpu
Absolutely! I found it really familiar and fun to pick up, except when the spec suddenly changes…
+1 for WebGPU, unfortunately there are no much learning resources about it(
I am coming from Rust and want to learn WGPU for game development.
I am new to CG programming and started with Vulkan. I personally don't see it as something difficult to learn (not bragging but hear me out), I just feel there isn't any good resource that we can learn its concepts from it.
I'm saying that from the experience that I had from learning CUDA, I've never felt any struggle learning that because there are a lot of very good resources already available by NV which smooth the way out and even helped me to understand some parts of the Vulkan somehow. Which without them I can imagine it would have been impossible for me to understand anything from Vulkan.
IMO, the root of making good resources has to start with the people or the companies who have developed this tool. Because they are the only ones who know the implemented concepts at the deepest level. The same way that NV did for CUDA, or other companies are doing for their own tools. And then people will learn from them and will create more resources.
But the current situation looks like a game of research to figure out the under the hood of Vulkan's concepts, which is why it requires too much effort and people are struggling to learn it
100%, no it’s not strange! I’ve noticed that CUDA sort of functions as an intellectual bedrock for graphics programming. I’ve seen a lot of students learn CUDA first and then transition more easily into other apis.
And I completely agree, apparently khronos group reached out to vulkan tutorial and provided them with some info. Not sure if they’ve done so with other big tutorials but there’s definitely a lack of official guidance, which is strange. After all, Vulkan wasn’t a gift from the heavens, it was written and implemented by humans, and yet when it comes time to find tutorials there seems to be zero information out there.
I taught myself python in 2 weeks with chatgpt, usually used Java but python just more fun for small projects
Agreed, there’s just something magical about being able to spin things up quickly. Chatgpt is crazy.
i made a ms paint clone using opengl , and tbh it was quite easy (with help of chatgpt) , now am planning for a 2d game engine as my resume , specially for games on android support , i heard vulkan is the only api which supports android ryt now, is it true?
Bro is recording this at 4 am.
To me it feels like we have to "reinvent the computer".
Totally get u. Too much boiler code , wish to focus on actual game logic more.
well if you want to work as an engine expert then you aren't really a gaming/movie master, youre the gpu master
Hi, I want to start learning Vulkan, where do I find information?
Vulkan Tutorial is probably still the best site for beginners, there’s also my Vulkan playlist!
@@GetIntoGameDev Thank u!!!
I hava little experience in OpenGL and I started learning Vulkan 5 months ago. The process is full of pain, I am still struggling with basic stuffs like framebuffers and render passes. Should I drop Vulkan and learn OpenGL or just continue with Vulkan?
In my opinion getting confident with OpenGL first will make the whole process quicker.
I can see... stars...
🤔😏
and I wish Vulkan work properly on Quake 1 Remastered...
Is it messing up? I haven’t tried Quake 1 remastered but I gave Quake 2 RTX a spin and it looked pretty cool.
@@GetIntoGameDev
Yes, it does.
You need to use some patching and scripting.
@@SkyFly19853 So what are the situations that happen with quake 1 remastered with vulkan? The only thing I have seen from this so far is its github page.
@@hbarudi
Its main menu is messed up and the mouse controls are NOT functioning correctly.
Few years ago, I started draw triangle tutorials and after 2 hours I deleted it.😅
I know the feeling 😅
2:20 me
Well the problem is not about of how many code,it is all about efficient and power.if writing more code gives you more power,it is fair enough,if not just stick with lesser code.when i move from fixed function pipeline(in opengl) to shader,it is difficult dealing with 3d transformations since math libraries such as glm don't do anything for you,i have to write my own matrix and arrange them correctly.there are ton of unsaid setup procedures when using shaders.eventually,understand software at hardware level is absurd,no you can't.we need abstraction because we are human beings,using vulkan does not make you better programmer.coding can't fully reveal the hardware behind,it was the chip that does that for you.
I don't think we are going that deep with Vulkan anyways. We are not writing assembly.
Learning vulkan for the thrill of having a white whale :D
Username checks out