8 ms·
A lot of the point of Vulkan is not having to rewrite your entire graphics stack for every OS you want to target.
by opencl 8y ago
A lot of the point of Vulkan is not having to rewrite your entire graphics stack for every OS you want to target.
- AnimalMuppet 8y agoIsn't that kind of the point of OpenGL?
- marcosdumay 8y agoYes, but OpenGL is so outdated that the people that should use it the most (game and 3D application developers) were avoiding it due to a hardware vs. API incompatibility. Vulcan was created to get that same portability, with an API that fits modern hardware.
- kllrnohj 8y agoThat isn't remotely true. OpenGL is only outdated on macOS where Apple hasn't updated it for 8 years. OpenGL 4.6 isn't anything like OpenGL 1.0/2.0 even though you can still _run_ those old OpenGL 1.0/2.0 tutorials. You can even do most of the cool stuff of Vulkan in OpenGL via AZDO techniques (example: https://developer.nvidia.com/opengl-vulkan https://developer.nvidia.com/opengl-vulkan )
- Const-me 8y ago> OpenGL is only outdated on macOS Also on Windows. Apparently, if you want to distribute your software to wide audience, you can only rely on OpenGL 3.0, with minimal set of extensions. Here’s an example: https://github.com/Const-me/GL3Windows#building-and-running https://github.com/Const-me/GL3Windows#building-and-running All the target systems had latest Windows updates, and they all run Direct3D 11 software just fine (I mostly develop for D3D and I test on them). On some systems it works in 10.1 compatibility mode, MS calls that “feature levels”. Not a big deal in practice, the majority of D3D11 stuff still works OK.
- HelloNurse 8y agoNo. Both ATI and Nvidia drivers include recent OpenGL versions, so OpenGL support problems are limited to actually not capable hardware. In the old link you offer as example, Intel HD3000 and HD4000 are bad, with bad drivers that lie about OpenGL versions (hence the need to downgrade the client), and fortunately obsolete. Current Intel integrated graphics have improved. And VMware is a virtual machine, not hardware; it should be expected to be terrible.
- Const-me 8y ago> Intel HD3000 and HD4000 are bad, with bad drivers that lie about OpenGL versions Technically that’s probably true. However, if you drop support of Intel GPUs, your GL4+ software will no longer run on a huge count of older Windows laptops people are still using. For many kinds of software this is a bad tradeoff. That’s exactly why all modern browsers implement WebGL on top of Direct3D, and overwhelming majority of multi-platform games and 3D apps use D3D when running on Windows. > VMware is a virtual machine, not hardware; it should be expected to be terrible. It’s only terrible for OpenGL. The virtual GPU driver uses host GPU to render stuff, and it runs D3D11-based software just fine. I don’t use it for gaming but it’s nice to be able to use a VM to reproduce and fix bugs in my software caused by outdated OS, windows localizations, and other environmental factors.
- kllrnohj 8y agoThat's not why they do that at all. They don't need anything recent from OpenGL or Direct3D, which is why they target DX9. And DX9 specifically is targetted because that also works on XP, which D3D10 doesn't. Intel GPUs D3D drivers have historically been better than their OpenGL ones (which isn't saying much since their D3D drivers are also trash), but now we're talking driver quality of one player which has nothing to do with the API itself or opengl somehow being outdated on windows. But ANGLE also targets desktop OpenGL (and vulkan), and as OpenGL 4.3 adoption increases I'd expect increasingly more browsers to use it for WebGL 2.0 since you don't need translation there at all. OpenGL 4.3 provides full compatibility with OpenGL ES 3.0. You seem to be pretty confused on how OpenGL versions line up with the D3D ones, too. For reference OpenGL 3.1 is roughly equivalent to D3D 10.1. When you're complaining about only getting GL 3.1, you're also complaining about being stuck with D3D 10.1
- marcosdumay 8y agoYou know that OpenGL is an API standard, and not a piece of software, right?
- kllrnohj 8y agoYes? What does that have to do with anything that I've said?
- astrange 8y agoBut you have to rewrite it for every major hardware vendor, or else you won't get the performance you want. GL should always work for the simple case, but instead you need to rewrite to avoid bugs in its many layers. And once you have Vulkan/Metal, industry-specific wrappers are better than the impossible to debug procedural GL junk.
- sparky_ 8y agoI'm not sure I agree with the claim, but even if we take a full rewrite at face value, "every major graphics vendor" for desktop applications is NVIDIA and AMD/ATI. On mobiles, you're probably using Unity or similar middleware and therefore not thinking about bare metal (no pun intended)
- pjmlp 8y agoActually it is more like every major GPU family, thanks to the extension fest of Vulkan.
- _bxg1 8y agoThat's the point of OpenGL; to my understanding, Vulkan is a modernized, lower-level spiritual successor to OpenGL.