back

by rvz·6y ago·view on hn ↗
I find this very interesting. This is the first time I've seen a developer provide a AppImage for Linux and a build-it-yourself for Mac and Windows. Not sure if the dev owns any computer that runs Windows or Mac, but that seems reasonable. Also is there a reason for using Metal rather than MoltenVK for macOS?

Other than that, great project, spot on license choice, and best of all, Rust!

3 comments
My main working machine is running Linux - I have access to a Mac, but not Windows.

I've been looking for distrbution mechanisms for a while now, and static binaries are not easy for applications with a GUI.

As for Metal, it just works better currently with the underlying libraries I'm using (GLFW + gfx-rs), than MoltenVK.

For windows, you can create an Azure DevOps account/team for free, and create pipelines against your Github codebase for Windows builds. You'll probably have to install extra pre-requisites for your build though, not sure what's actually in the box, using custom windows agents at work, or linux/docker targets mostly.

It's (Azure DevOps) not always the easiest/best, but it's pretty good... my preference when including the project mgt tools.

> Also is there a reason for using Metal rather than MoltenVK for macOS?

Let me ask it the other way: is there a reason to use MoltenVK if we have a Metal backend?

In OP’s corner case maybe there is, to have a single GPU API and single shader language across all platforms they support.

This doesn’t apply to commercial software. Even if MoltenVK works flawlessly (I don't have experience with the technology), the only GPU API which does on Windows is Direct3D. For cross-platform stuff you want to support multiple GPU APIs, or you’ll have to spend a lot of money supporting users with broken/missing/nonexistent GL/VK drivers.

They do have a single GPU API (wgpu-rs) and only one version of the shaders - SPIRV.
Cross-platform compatibility, and being able to use the same graphics APIs and libraries as the rest of the computer industry.
Unfortunately, today, Vulkan doesn't get you cross platform compatibility. On many Windows machines only dx11/dx12 is available.

gfx-rs (which wgpu-rs is based on) is the closest thing one can get to a low overhead portable GPU API.

> Also is there a reason for using Metal rather than MoltenVK for macOS?

Likely the default of the underlying drawing library for Rust.

In addition, you have to install MoltenVK (a non-trivial task) if you want Vulkan on OS X.