Post AzfCtZjw40aIdc4H3Y by shironeko@fedi.tesaguri.club
(DIR) More posts by shironeko@fedi.tesaguri.club
(DIR) Post #Azf7Z2lSSMDinuAcmu by floooh@mastodon.gamedev.place
2025-10-26T14:34:26Z
0 likes, 0 repeats
sokol-gfx experimental Vulkan backend progress:- staging uploads into immutable buffers- binding immutable vertex- and index-buffers- ...and multiple rewrites along the way as I'm getting a feel for how syncing/staging/barriers should be done......next up is the (untextured) cube sample which requires a depth buffer and uniform data uploads.Progress is slow though since I only work on weekends on the backend, and Vulkan is incompatible with quick evening coding sessions :)
(DIR) Post #Azf7Z3gt0q9pg12UIi by floooh@mastodon.gamedev.place
2025-10-27T13:43:20Z
0 likes, 0 repeats
...and uniform uploads working :) This is using a double-buffered, host-visible, persistently-mapped uniform buffer which accumulates all uniform updates for one frame, and uses the new-ish vkCmdPushDescriptorSet() call to record the offset to the uniform data snippet into the frame's command buffer.
(DIR) Post #Azf7Z4KwbuCTgFmTjs by WAHa_06x36@mastodon.social
2025-10-27T23:07:45Z
0 likes, 0 repeats
@floooh This is super cool, but also, even just hearing you talk about Vulkan rendering is enough to get a second-hand headache from the API.
(DIR) Post #Azf7Z4rudKZVKVCo7s by floooh@mastodon.gamedev.place
2025-10-28T08:07:46Z
0 likes, 0 repeats
@WAHa_06x36 it's funny in a sad way discovering all the different places where Vulkan repeats OpenGL's mistakes. Vendor extensions are the obvious one, but a side effect of that is that there are places where input parameters are interpreted entirely differently depending on 'context', and those have been shoehorned into the API later as a result of extensions that have been incorporated into core...
(DIR) Post #Azf7Z5VGH22zIXcESW by floooh@mastodon.gamedev.place
2025-10-28T08:11:06Z
0 likes, 0 repeats
@WAHa_06x36 some really useful later additions (like push descriptors) hardly have any documentation and no example code anywhere on the internet, they basically expect that you followed Vulkan's development since the beginning and stumbled over the problem that the new funcitionality fixes in a certain way (together with three other alternatives which fix the same problem in other ways) - which is the exact same problem that modern OpenGL has (except there's more example code for GL).
(DIR) Post #Azf7Z61AMPZGtUXiBk by floooh@mastodon.gamedev.place
2025-10-28T08:12:31Z
0 likes, 0 repeats
@WAHa_06x36 TL;DR: Vulkan is already the same mess (or even worse) after one decade that OpenGL has become after 25 years (kinda predictable tbh, but it still sucks)
(DIR) Post #Azf7Z6X4Rn5YURTBuy by shironeko@fedi.tesaguri.club
2025-10-28T08:28:41.915581Z
0 likes, 0 repeats
@floooh @WAHa_06x36 I guess doing a graphics API is like herding cats and the vendors will do it their way anyway.
(DIR) Post #Azf7ZELfO4igjOCCFk by floooh@mastodon.gamedev.place
2025-10-27T13:48:11Z
0 likes, 0 repeats
...for regular resource bindings (textures, storage buffers/images and samplers) I'll need to use the traditional descriptor handling, because only one descriptor set can use the push-method.There's also VK_EXT_descriptor_buffer, but I'll need to check how well that's supported...
(DIR) Post #AzfCtYM9CxxiLXvlL6 by floooh@mastodon.gamedev.place
2025-10-28T09:10:36Z
0 likes, 0 repeats
@shironeko @WAHa_06x36 that's where Microsoft's iron fist was really important in the DX7..DX10 era. MS did a much better job at that cat herding thing than Khronos (who mostly also just followed Microsoft's lead and updated GL to support the features introduced in the last major D3D version).
(DIR) Post #AzfCtZjw40aIdc4H3Y by shironeko@fedi.tesaguri.club
2025-10-28T09:28:34.657988Z
0 likes, 0 repeats
@floooh @WAHa_06x36 I kinda like the vulkan wildness, matches the rest of free software
(DIR) Post #AzfGf0vj5YcSRJtYI4 by floooh@mastodon.gamedev.place
2025-10-28T10:00:35Z
0 likes, 0 repeats
@shironeko @WAHa_06x36 for me it reminds me of the late 90s where every GPU vendor did entirely pointless experiments like Matrox's 'environmental mapped bump mapping' or NVIDIA's 'quadratic texture mapping' which then never were adopted by other GPU vendors. The Microsoft DirectX team played an important role to harmonize early GPU features by putting the foot down and not supporting those silly experiments in D3D.
(DIR) Post #AzfGf24yodcE0JESLw by shironeko@fedi.tesaguri.club
2025-10-28T10:10:46.104724Z
0 likes, 0 repeats
@floooh @WAHa_06x36 I mean there's gotta be some transition pain as windows and all of desktop becomes more and more irrelevant
(DIR) Post #AzfSVcuSE4Eomjaeg4 by floooh@mastodon.gamedev.place
2025-10-28T12:15:04Z
0 likes, 0 repeats
@shironeko @WAHa_06x36 I don't believe that anymore, after all PC gaming has been declared dead since aroud the late 90s, but is stronger today than ever before.The simpler explanation is that Khronos is simply shit at designing 3D APIs ;)
(DIR) Post #AzfSVdxgJYPi326kLY by shironeko@fedi.tesaguri.club
2025-10-28T12:23:30.336561Z
0 likes, 0 repeats
@floooh @WAHa_06x36 do kids still do PC these days?
(DIR) Post #AzfbalHhPm7TnKzDBg by floooh@mastodon.gamedev.place
2025-10-28T13:52:19Z
1 likes, 0 repeats
@shironeko @WAHa_06x36 only anectodal evidence, but my nephew has been growing up with Minecraft and PC MMOs and then has started to build his own gaming rigs. Mobile and console gaming never really interested him.The youngest generation in my wider family don't seem to be interested in video games at all though, no matter the platform, instead they seem to go back to passive entertainment (basically watching short-attention-span video clips).