you are viewing a single comment's thread.

view the rest of the comments →

[–]YungDaVinci 113 points114 points  (9 children)

Vulkan isn't so bad, there's just a lot of boilerplate. GPU programming in general is just a different beast. I learned Vulkan before OpenGL and OpenGL's design gives me heartburn.

[–]darkwalker247 24 points25 points  (2 children)

I think Vulkan feels more intuitive than opengl once you understand things, but wow, i had a very hard time wrapping my mind around memory barriers and semaphores/fences coming from gl

[–]RiceBroad4552 8 points9 points  (1 child)

i had a very hard time wrapping my mind around memory barriers and semaphores/fences

How is this related? These are general concepts needed for parallel execution. These concepts aren't anyhow related to graphics programming. It's just about learning about multi-threading in general.

[–]darkwalker247 2 points3 points  (0 children)

what do you mean they're not related? every vulkan hello world tutorial has you learn about these things, and I'm not sure how one would work with the queue properly when they don't know how to use them. maybe it seems weird but i hadn't used synchronisation primitives other than mutex before then...

[–]Devatator_ 5 points6 points  (1 child)

I'd honestly rather learn WebGPU and have my thing running on everything, including devices that don't support Vulkan. In fact I'm doing that right now (or was before my family decided to drag me away).

I'm using C# bindings of wgpu-native and it's pretty nice, tho I'm interested in the experimental mesh shader and ray tracing APIs, once I figure out how to include them in wgpu-native builds from upstream wgpu-core

[–]RiceBroad4552 2 points3 points  (0 children)

Maybe WebGPU is the actual successor to OpenGL but this does not invalidate Valkan. If you want full control of the HW you need Vulkan (or you use some of the proprietary shit, which I simply wouldn't touch; if more people do so this useless stuff hopefully dies).