Hacker News new | ask | show | jobs
by ireallywantthat 983 days ago
You know that Vulkan targets vast amount of Hardwares which makes Vulkan Extensions a lucrative deal rather than thing you despise, right?

Don't get me wrong. I agree that it's less worrying to know beforehand that all the features will be available in the target environment with features made mandatory rather than extensions. But, it's not like the case of Apple/Sony/Xbox which has software tailored for the device.

Vulkan devices range from Virtual devices(Moltenvk) to Android(Low powered devices) to Desktops(Linux, Windows) to Workstations(Linux). Having ray tracing mandatory in low powered devices like low budget android phones doesn't make any sense, that's why it's made as extension.

But, you can be sure that any modern desktop with modern GPU by any vendor atleast adheres to Vulkan standard and has specified extensions available. That can't be said about experimental extensions though (Like Vulkan Video).

> Making them in the end hardly better than multiple backends, when doing serious stuff across multiple GPUs and OSes.

This "multiple backend" solution is not ideal too. Firstly, it was necessary because not all Vendors supported single Graphics API standard. Secondly, it isn't powerful as main API it gets translated to(DX,Vk,Mt). Thirdly, I don't see how it helps when target environment doesn't have an extension available.

Maybe "Multiple Backend" solutions might make few things easier like removing Verbosity and maybe they are good for Small applications but I don't think they are worthy replacements to Main APIs

1 comments

A wall of text to argue in favour of extension spaghetti.

How many cross platform applications have you shipped with Khronos APIs?

I did my graduation thesis in 3D particle visualisation and marching cubes implementation, based on a framework ported from NeXT/Objective-C in Windows/C++, using OpenGL.

Contributed to SDL, Ogre3D and jMonkeyEngine.

Also contributed to some BabylonJS stuff in WebGPU.

What are you 3D credentials?

> I did my graduation thesis in 3D particle visualisation

> Contributed to SDL, Ogre3D and jMonkeyEngine.

> What are you 3D credentials?

Appealing to Authority[1] is a fallacy/bias and a quick way to lose a debate.

Instead of saying you have all these creds and therefore your opinion matters more - explain why what you are arguing against is bad. If you are an actual expert, that will be shown through well formed arguments all on it's own.

Not all experts share your opinion, clearly, which makes this angle unhelpful.

[1] https://en.wikipedia.org/wiki/Argument_from_authority

Nah, as my experience in 30 years of industry shows, those that come up with appeal to authority argument, aren't really interested in listening anyway.

Life is too short to bother.

If you are that knowledgeable person in this domain, try to refute/discuss my content instead of asking my credentials.

What is the best alternative to Vulkan extensions in your opinion? Remember that Vulkan supports vast number of devices. I think that making featureset mandatory for all devices is not sensible approach here.

That's how you got OpenGL: by putting everything into extensions. You have to make certain extensions a part of the standard