3 ms·
A great overview of the terrible mess that underlies cross-3D-API shader compilation (and even though it focuses on D3D and Microsoft, it's not much better on o
by flohofwoe 3y ago
A great overview of the terrible mess that underlies cross-3D-API shader compilation (and even though it focuses on D3D and Microsoft, it's not much better on other 3D APIs - for instance you simply can't cross-compile Metal shaders from a Linux host - only from macOS and - somewhat recently - Windows).
If the Mach team can pull off this whole "Zig as a cross-3D-API shader compiler" and make it work as smoothly as "Zig as a cross-compilation toolchain", then this would be pretty much the biggest thing in computer graphics since 1995 or so :)
- lr1970 3y ago> If the Mach team can pull off this whole "Zig as a cross-3D-API shader compiler" and make it work as smoothly as "Zig as a cross-compilation toolchain", then this would be pretty much the biggest thing in computer graphics since 1995 or so :) And a major boost for Zig -- both as a language and a toolchain.
- astrange 3y agoIf you can do it on Windows doesn't that mean you can do it on Linux with Wine?
- flohofwoe 3y agoIt probably works, but Jenga tower hacks like that is exactly the problem ;)
- matheusmoreira 3y ago> for instance you simply can't cross-compile Metal shaders from a Linux host Why not? Doesn't that just mean that nobody has implemented it yet?
- flohofwoe 3y agoThe Metal shader compiler is only distributed as binary blobs for Mac and Windows. Reverse engineering of the undocumented output is possible of course, but that also means keeping track of all the changes Apple does to the output format in new versions.