Today, The Khronos Group announced their newest Vulkan initiative with the Unified Samples Repository. A new place to find what they say are high-quality Vulkan code samples reviewed by their team.
Made in response to user demand, to have an accessible place to learn Vulkan with working samples hopefully this might help increase adoption of the open graphics API. It's a big collaboration between Khronos, AMD, Arm, NVIDIA, Samsung, Sascha Willems and more.
"Khronos believes that anyone can learn how to use Vulkan, and the Working Group is continuously looking at how to improve the experience and availability of resources," said Kris Rose, Developer Relations Manager, The Khronos Group. "Now that we have laid the foundation for the project with a comprehensive set of samples covering best practices, API usage, and performance, we will continue to grow the pool of samples with submissions from members, and hopefully, new external contributors. In the future, we hope to open this up to the public so that Vulkan developers can submit their code samples for review.".
They've said it's open for any Khronos member to contribute code, plus external contributors are also welcome but they will need to speak to Developer Relations at Khronos. All the info can be found in their announcement here, find the samples here on GitHub.
Simply couldn't find the time.
Now, I do have some time that I would like to invest in learning a graphics API,
but OpenGL seems to be quite obsolete by now.
Then again, Vulkan as a first graphics API without prior knowledge of GPU architectures,
sounds a bit too challenging.
What do you think is the best approach?
Thanks for any input! :)
Quoting: subI wanted to learn OpenGL and didn't manage for years.
Simply couldn't find the time.
Now, I do have some time that I would like to invest in learning a graphics API,
but OpenGL seems to be quite obsolete by now.
Then again, Vulkan as a first graphics API without prior knowledge of GPU architectures,
sounds a bit too challenging.
What do you think is the best approach?
Thanks for any input! :)
I was in a similar situation as you 4 years ago when Vulkan came out. I just read the spec (make sure to get the one without extensions) and I can honestly say most of it is pretty simple. Synchronization is not so hard either, if you know them from operating systems. Vulkan is just verbose, otherwise there is really nothing too complicated there. Sure your first code won't be performant, and probably has subtle bugs, but it's easy to start.
I started with compute, as graphics has much more to configure, and it's pretty simple. Once comfortable with using buffers and images, graphics is not that big a step either.
Note that this was right after Vulkan was released, and there weren't any examples around. I approached it step by step, let's make a device, that was easy, now let's create a buffer, cool, now add a compute shader that increments every index, done and voila, a Vulkan program.
Last edited by ShabbyX on 1 November 2019 at 4:06 am UTC
That's much appreciated. :)
So I guess will start getting some of those demos to run and read the spec.
Yet, I'm not expecting it to be "pretty simple". :D
Edit: The base spec is currently > 2100 pages of rather dense content. Ewwww.
Last edited by sub on 1 November 2019 at 8:02 am UTC
Quoting: subEdit: The base spec is currently > 2100 pages of rather dense content. Ewwww.
A lot of it is things you don't need to start with Vulkan! Renderpass subpasses, multi gpu, the many image formats etc. Like I said, start from the beginning, learn the basics (how to create a device and query its properties for example, then you will find yourself past 10% of the spec already.
When the Vulkan specs were released I was excited but in the first year there was literally no literature other than the specs. (The first educational book pretty much was a copycat job of the specs and felt it didn't help at all)
Quoting: subI wanted to learn OpenGL and didn't manage for years.
Simply couldn't find the time.
Now, I do have some time that I would like to invest in learning a graphics API,
but OpenGL seems to be quite obsolete by now.
Then again, Vulkan as a first graphics API without prior knowledge of GPU architectures,
sounds a bit too challenging.
What do you think is the best approach?
Thanks for any input! :)
The best education on Vulkan to me was the youtube series (german)
Youtube
See more from me