NVIDIA has put out what they call 'VkHLF', a high level abstraction library on top of Vulkan. Looks like it's under a BSD-style license too.
It's described as so:
It's still in the early stages, but it sounds very interesting. It essentially makes working with certain parts of Vulkan easier without adding an overhead if used correctly.
I wonder how many more Vulkan layers we can expect to see?
You can find VkHLF on github.
It's described as so:
QuoteVkHLF is an experimental high level abstraction library on top of Vulkan. It adds features like transparent suballocation, resource tracking on the CPU & GPU and simplified resource creation while staying as close as possible to the original Vulkan API. In contrast to Vulkan-Hpp, which was carefully designed not to introduce any additional cost, this library can add a signifact cost depending on the usage pattern. Though, when used properly, it is possible to use this library with minimal additional cost while improper use can result in OpenGL performance levels.
It's still in the early stages, but it sounds very interesting. It essentially makes working with certain parts of Vulkan easier without adding an overhead if used correctly.
I wonder how many more Vulkan layers we can expect to see?
You can find VkHLF on github.
Some you may have missed, popular articles from the last month:
All posts need to follow our rules. For users logged in: please hit the Report Flag icon on any post that breaks the rules or contains illegal / harmful content. Guest readers can email us for any issues.
Combining high and low levels is way to go as always. It speeds up developing while allowing for optimizations later if needed. I expect it to be like OpenGL (or even D3D considering it's in C++) in terms of ease of use but with the ability to rewrite slow paths at the lowest level possible. Before only vendors could fix that.
Last edited by rkfg on 10 Jan 2017 at 9:41 pm UTC
Last edited by rkfg on 10 Jan 2017 at 9:41 pm UTC
0 Likes
Why nshidia, why??
0 Likes
Why nshidia, why??
Because of Nintendo Switch
0 Likes
If using VkHLF incorrectly can result in performance comparable to OpenGL used correctly, this is a win-win. :)
But seriously, Vulkan needs libs like this to make it accessible to the masses.
But seriously, Vulkan needs libs like this to make it accessible to the masses.
0 Likes
Sounds good. We need more middleware like that.
0 Likes
We need a layer that makes vulkan as easy to use as metal, that will make many devs lo love it
0 Likes
Vulkano is easier to use than raw Vulkan: https://github.com/tomaka/vulkano
0 Likes
Vulkano is easier to use than raw Vulkan: https://github.com/tomaka/vulkanoYeah, but I don't think game devs will switch to Rust just to use it. Anyway, the more the better. There's never a single approach that works best for everybody.
0 Likes
Hmh, lacking a bit of docs... reading a bit of the sourcecode (for me) does not really tell me how to "properly" use the API.
@Shmerl hmh.. Rust... have dabbled a bit in it, liked it so far. Seems to get more and more popular out there...
@Shmerl hmh.. Rust... have dabbled a bit in it, liked it so far. Seems to get more and more popular out there...
0 Likes
Hmh, lacking a bit of docs... reading a bit of the sourcecode (for me) does not really tell me how to "properly" use the API.No wonder considering the dislaimer:
Since this project is in its early stages and under heavy development expect bugs and interface changes for a while. It should not be used for production code yet!
0 Likes
Vulkano is easier to use than raw Vulkan: https://github.com/tomaka/vulkanoYeah, but I don't think game devs will switch to Rust just to use it. Anyway, the more the better. There's never a single approach that works best for everybody.
Some already might. Rust can remove a lot of pains that exist in C++ despite all the latest advancement in the language. The only thing that can slow down such adoption would be middleware. Tons of stuff exists in C++ for gaming engines to use, and so far there is no interop with Rust (or with any other language for that matter really). Libraries in C are better in this sense - you can use them from Rust. SDL is a good example.
0 Likes
Sure, but this only applies to projects that start from scratch. And besides, you're underestimating the effort and the risk of dumping existing code bases and know-how in any organization larger than a single developer.Vulkano is easier to use than raw Vulkan: https://github.com/tomaka/vulkanoYeah, but I don't think game devs will switch to Rust just to use it. Anyway, the more the better. There's never a single approach that works best for everybody.
Some already might. Rust can remove a lot of pains that exist in C++ despite all the latest advancement in the language. The only thing that can slow down such adoption would be middleware. Tons of stuff exists in C++ for gaming engines to use, and so far there is no interop with Rust (or with any other language for that matter really). Libraries in C are better in this sense - you can use them from Rust. SDL is a good example.
I don't doubt that Rust is a nice programming language though.
0 Likes
Sure, but this only applies to projects that start from scratch. And besides, you're underestimating the effort and the risk of dumping existing code bases and know-how in any organization larger than a single developer.
I don't doubt that Rust is a nice programming language though.
Knowledge usually isn't dumped, it's simply extended. I.e. they might be invested in C++, but if they are smart, they can start shifting things to Rust gradually.
0 Likes
Knowledge usually isn't dumped, it's simply extended. I.e. they might be invested in C++, but if they are smart, they can start shifting things to Rust gradually.Maybe Rust will replace C++ in the industry one day, who knows. I don't think this will happen quickly though.
In any case, the thread is about VkHLF, which is a C++ library. I think most games that would benefit from Vulkan are still developed in C++ so this library certainly seems useful.
We'll see if AMD and/or Intel deem it necessary to provide their own competing abstractions. They could always try to optimize them for their own hardware's strengths. Nvidia certainly might.
0 Likes
Yeah, as long as the higher level API doesn't dictate a global design (for instance how to use multithreading) and doesn't mandate stateful approach (like OpenGL), it should be useful.
0 Likes
See more from me