5 ms·
Apple ditched OpenGL and Vulkan for their own exclusive 3D graphics API. They're a terrible platform to develop for.
by snickerbockers 6y ago
Apple ditched OpenGL and Vulkan for their own exclusive 3D graphics API. They're a terrible platform to develop for.
- john_alan 6y ago...if you're writing cross-platform games. FTFY
- snickerbockers 6y agoOP is literally asking why PCSX2 isn't cross-platform.
- majewsky 6y ago> if you're writing cross-platform games and not using one of the established game engines that wrap OpenGL/Metal/Vulkan FTFY
- izacus 6y agoEven if you're developing with a game engine, you'll soon have to write your own shaders or at least deal with their bugs. And for that, you'll need your users' hardware (there are no nVidia macs anymore), youre users' driver (which is predominantely Windows) and the ability to debug it. Mac just doesn't make sense for this use-case beyond "I want an Apple logo!". Most people buy a tool to solve a problem, not hammer the problem to fit a brand.
- pjmlp 6y agoSame applies even if using something like OpenGL, Vulkan, which is why browsers black list GPUs.
- oarsinsync 6y agoApple ditched OpenGL for their own exclusive 3D graphics API that they had released in production before Vulkan was even announced. That they don't bother with supporting Vulkan is incredibly frustrating for me personally, but not even remotely surprising given Apple's mode of business.
- stephen_g 6y agoDoes MoltenVK not do what you want?
- aspenmayer 6y agoFor reference: "MoltenVK is a Vulkan Portability implementation. It layers a subset of the high-performance, industry-standard Vulkan graphics and compute API over Apple's Metal graphics framework, enabling Vulkan applications to run on iOS and macOS." [1] [0] https://moltengl.com/moltenvk/ https://moltengl.com/moltenvk/ [1] https://github.com/KhronosGroup/MoltenVK https://github.com/KhronosGroup/MoltenVK
- pjmlp 6y agoAll major middleware already does Metal, even non gaming stuff like Flutter.
- shrewduser 6y agoFlutter only just did that the other day and it's because iOS is a huge part of their pitch as a cross platform framework.
- pjmlp 6y agoWhich doesn't invalidate the point that anyone that cares has already done the work.
- ddevault 6y agoMost emulators don't use middleware, because it doesn't afford them anywhere near enough flexibility or performance.
- pjmlp 6y agoAs anyone from Flipcode and Gamedevnet days knows, middleware can be as thin as couple of function pointers with shared libraries loaded on demand for the desired 3D API. The approach taken by AAA game engines, although nowadays it looks more like a bunch of abstract classes/interfaces, depending on the language. When you look into a game engine, typically 3D API abstractions are like 10% of the whole codebase.
- throwaway2048 6y agoIf its so trivial, I'm guessing the developers would welcome patches.
- pjmlp 6y agoNowhere did I used the word trivial. I wouldn't mind to contribute if paid accordingly.