Hacker News new | ask | show | jobs
by 1propionyl 883 days ago
(Not OP)

These days that's a lot less of a concern than it used to be. It is a lot of up-front work to facade e.g. Metal, Vulkan (and even D3D12) but it's much much much easier than back in OpenGL vs D3D9/10 days.

Most of the general concepts are more or less the same across them all these days. The "shapes" of the APIs are very similar.

A texture is a texture is a texture. Same for a vertex/index/uniform buffer, vertex/fragment/compute shaders (notably not geometry, but you can just use compute), etc.

1 comments

I'm not in the graphics world at all, but I read this lively discussion last week (post [0], discussion [1]) that made me think the situation was pretty messy. Is it maybe not as bad as that makes it appear?

[0] https://www.carette.xyz/posts/we_are_doomed/

[1] https://news.ycombinator.com/item?id=38994780

I'd recommend wgpu. It should be a fairly easy migration from Metal, as Apple has been actively involved in the design, and there are similar concerns for developer experience (unlike, say, Vulkan).

Unfortunately, graphics is in many ways the easy part. Really excellent integration with system menus, preferences, keyboard, input method editing, all have more variation across platforms and a still-evolving story of solid Rust abstractions. Lately, we've decided to try joining forces with the winit project to see if we can get those problems solved well.