Ranter
Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Comments
-
They do mention that vulkan is not for the faint of heart.
GPUs are complex devices, now you get to see that complexity in its full glory (eh not actually because the drivers still hide a lot but anyway)
You might want to try OpenCL first to get used to this kind of programming, it's very very similar. -
@RememberMe I'm actually very well versed on OpenGL (not OpenCL, that's for compute), to the point where you could classify me as somewhat of an expert
Vulkan is definitely a step above that though. Atleast it will make my life as an engine developer easier because I don't have to pull all these abstractions out of thin air to get some resemblance of a good architecture.
Trying to design an architecture where render context and window creation has a clear seperation is not a lot of fun with OpenGL -
@12bitfloat I found my OpenCL experience come in handy when doing Vulkan (after all graphics is a kind of compute). A lot of the concepts were the same, just with extra headaches because of Vulkan's lower level nature.
But hey, sounds like you know your thing. Protip: use. Validation. Layers. As. Much. As. Possible.
Layers are awesome. Best thing about Vulkan's design, I swear. -
@RememberMe Oh that's what you mean. Yeah I guess OpenCL experience would help since it's also more low level. I just never really got into it since I'm just doing games so compute shaders were fine
I have the LunarG sdk for all that validation goodness :D
Also Nsight Graphics which I never knew was a standalone application. That will surely come in handy for profiling and debugging frames
Hopefully also with the ubiquitous "why the absolute f*** is the screen still black, everything should be working" before realizing that the default texture parameters on nvidia drivers lead to incomplete framebuffer attachments
You don't want to know how many hours I've wasted on this on multiple projects
Related Rants
-
linuxxx32*client calls in* Me: good morning, how can I help you? Client: my ip is blocked, could you unblock it for m...
-
DRSDavidSoft28Found this in our codebase, apparently one of my co-workers had written this
-
linuxxx23*client calls* "hello, we forgot the password to our WiFi router. Could you reset that for us?" 😐😶😮...
I've decided to switch my engine from OpenGL to Vulkan and my god damn brain hurts
Loader -> Instance -> Physical Devices -> Logical Device (Layers | Features | Extensions) | Queue Family (Count | Flags) -> Queues | Command Pools -> Command Buffers
Of course each queue family only supports some commands (graphics, compute, transfer, etc.) and everything is asynchronous so it needs explicit synchronization (both on the cpu and with gpu semaphores) too
rant
vulkan
wtf