zlacker

[parent] [thread] 6 comments
1. pjmlp+(OP)[view] [source] 2023-03-05 15:30:59
And with it turned everyone into a device driver developer, no wonder it isn't taking off as much as desired, outside Android and GNU/Linux.
replies(3): >>vlovic+t4 >>hnlmor+0b >>bsder+cS
2. vlovic+t4[view] [source] 2023-03-05 15:58:30
>>pjmlp+(OP)
Metal and DirectX12 (if I’m remembering my version numbers correctly) are very very similar to Vulkan so I’m not really sure what point you’re trying to make.
replies(2): >>dagmx+ma >>skoczn+ih1
◧◩
3. dagmx+ma[view] [source] [discussion] 2023-03-05 16:31:37
>>vlovic+t4
They’re similar to Vulkan in being low level.

But they’re significantly easier to target (less feature splitting) and much more ergonomic to develop with.

4. hnlmor+0b[view] [source] 2023-03-05 16:36:33
>>pjmlp+(OP)
But it was never intended to be a general purpose graphics SDK.

The way 3D rendering is done these days is drastically different from the days of OpenGL. The hardware is architecturally different, the approach people take to writing engines is different.

Also most people don’t even target the graphics API directly these days and instead use off the shelf 3D engines.

Vulkan was always intended to be low level. You have plenty of other APIs around still if you want something a little more abstracted.

5. bsder+cS[view] [source] 2023-03-05 20:50:59
>>pjmlp+(OP)
> And with it turned everyone into a device driver developer

Which is what graphics developers wanted.

The problems with OpenGL and DirectX 11 were that you had to fight the device drivers to find the "happy path" that would allow you the maximum performance. And you had zero hope of doing solid concurrency.

Vulkan and DirectX 12 directly expose the happy path and are incresingly exposing the vector units. If you want higher level, you use an engine.

For game developers, this is a much better world. The big problem is that if you happen to be an application developer, this new world sucks. There is nowhere near the amount of money sloshing around to produce a decent "application engine" like there are "game engines".

replies(1): >>astran+U72
◧◩
6. skoczn+ih1[view] [source] [discussion] 2023-03-05 23:25:55
>>vlovic+t4
I wouldn't put Metal next to DX12/Vulkan. I'd put Vulkan as the most low-level API, DX12 slightly above Vulkan (because of convenience features like commited resources, slightly simpler memory model), but Metal I'd put somewhere in the middle between OGL/DX11 and VK/DX12. Metal introduces many optimizations such as pipeline objects, but it requires much less micromanagement around memory and synchronization as VK/DX12 do.
◧◩
7. astran+U72[view] [source] [discussion] 2023-03-06 08:11:48
>>bsder+cS
Hmm, "vector units" isn't the right term because GPUs usually don't use those. It's better to write your shaders in terms of scalars.
[go to top]