Vulkan
Examples and demos for the new Vulkan API (by SaschaWillems)
Vulkan-Samples
One stop solution for all Vulkan samples (by KhronosGroup)
Our great sponsors
Vulkan | Vulkan-Samples | |
---|---|---|
70 | 43 | |
9,628 | 3,863 | |
- | 5.4% | |
9.3 | 9.2 | |
5 days ago | 4 days ago | |
GLSL | C++ | |
MIT License | Apache License 2.0 |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Vulkan
Posts with mentions or reviews of Vulkan.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-07-13.
-
Usages for vkCreateHeadlessSurfaceEXT
PS. I have tried to use vulkan-wsi-layer (https://gitlab.freedesktop.org/mesa/vulkan-wsi-layer) to support the VK_EXT_headless_surface, and use sample in https://github.com/SaschaWillems/Vulkan to builed a headless version triange. However, it failed at acquireNextImage from the swapchain.
Samples in https://github.com/SaschaWillems/Vulkan have shown how to use vkCreateHeadlessSurfaceEXT. But these headless samples crash at acquireNextImage from the swapchain. Now I guess the problem lies in the vulkan-wsi-layer.
-
Proper way to access a read-only texture that has no sampler from an hlsl compute shader?
BTW, this problem can be reproduced as described below: - clone https://github.com/SaschaWillems/Vulkan.git - build the project and run it with arguments : -v - s hlsl to enable the validation layer and to use hlsl code - run ComputeShader project. The following validation error "Type mismatch on descriptor slot ..." will be shown in the console. - to fix it, as suggested above, you can replace the 3rd line of emboss.comp, sharpen.comp, and edgedetect.comp from: Texture2D inputImage : register(t0); //Creates validation errors to RWTexture2D inputImage : register(u0); //no validation errors (you'll then need to recompile the shaders to spv with a proper hlsl compiler such as Microsoft dxc)
-
Recommendations on how to start a small Vulkan project
Another way I saw some projects start was by using example base classes (either Sascha Willems' implementations or the framework used by Khronos Samples).
-
I've been working on a real-time ray tracing renderer
It's not a tutorial but I'd recommend Sascha Willems examples. A good next step could be adding models and shadows (see https://github.com/SaschaWillems/Vulkan/tree/master/examples/raytracingshadows). It's a single file but you can easily understand what each function does.
-
Add a second texture to Sascha Willems glftLoading app
Exactly as u/aerorang said. I recommend comparing your linked example with Sascha's gtTF Scene rendering example where he adds a normal map along with the base albedo texture. He also marked important parts of the code with the POI keyword, so you can search for them in the code.
- Check out the Feb 2023 Vulkan Ecosystem Survey Results!
-
With GPT-4, as a Software Engineer, this time I'm actually scared
Second, you need to learn the basics of Vulkan API, such as how to create instances, devices, queues, swapchains, command buffers, pipelines, shaders, etc. You can find some useful tutorials and examples on https://vulkan-tutorial.com/ , https://vkguide.dev/ , https://github.com/SaschaWillems/Vulkan34, etc.
- Greetings. I went through the Vulkan tutorial, but I'm really stuck going beyond this point. Any word?
Vulkan-Samples
Posts with mentions or reviews of Vulkan-Samples.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-06-13.
-
Looking for resources / mentor
Also beginner here, I think you can learn other's codes to get a better understanding of the API by learning how others can abstract these concept into higher level. They're many great projects out there like Google's pbr renderer filament https://github.com/google/filament, AMD's gltf sample https://github.com/GPUOpen-LibrariesAndSDKs/glTFSample and also as many suggested, the Sascha Willems's repos https://github.com/SaschaWillems and the official sample https://github.com/KhronosGroup/Vulkan-Samples
-
Recommendations on how to start a small Vulkan project
Another way I saw some projects start was by using example base classes (either Sascha Willems' implementations or the framework used by Khronos Samples).
-
Confused about sRGB swapchain format, the displayed colors looks wrong
I tested and saw this behavior using the hello_triangle example of the official Vulkan samples (in case the problem was with my program) on both Windows and MacOS (just in case...).
-
Check out the Feb 2023 Vulkan Ecosystem Survey Results!
I didn't spot one in https://github.com/KhronosGroup/Vulkan-Samples/tree/main/samples/extensions
-
New Vulkan Sample: HPP Timestamp Queries
Maybe check out the canonical page instead: https://github.com/KhronosGroup/Vulkan-Samples
- Greetings. I went through the Vulkan tutorial, but I'm really stuck going beyond this point. Any word?
- New Vulkan Sample - Conditional Rendering
-
Two new Vulkan samples from The Khronos Group! (Profiles and C++ bindings)
The first sample comes from Sascha Willems. It demonstrates the usage of the Vulkan Profiles Library. Sample - https://github.com/KhronosGroup/Vulkan-Samples/tree/master/samples/tooling/profiles Vulkan Profiles Library - https://github.com/KhronosGroup/Vulkan-Profiles
-
Cyberpunk 2077 on Steam Deck: 18% faster on SteamOS than Windows 10
Where on earth are you getting that from? That you have to tell Vulkan your app name? Show me in the API spec example where that happens? You could certainly be using helper libraries and tools which when you open a window on most any platform you have to declare a window title/name. But that is a SDL/Win32/X11/Wayland/etc thing, not a GPU api thing. VkInstanceCreateInfo which takes a VkApplicationInfo is fully optional and is merely informative. Mostly to be used by API debugging of various layers etc. IE: a game may be its own thing, but then "layers" like MangoHUD, Discord-Overlay, Steam-Overlay, etc, could exist and setting the VkApplicationInfo from those helps debugging "whose fault it is" but by no means is a requirement.
What are some alternatives?
When comparing Vulkan and Vulkan-Samples you can also consider the following projects:
vulkano - Safe and rich Rust wrapper around the Vulkan API
vulkan-guide - Introductory guide to vulkan.
vk-bootstrap - Vulkan Bootstrapping Iibrary
msdf-atlas-gen - MSDF font atlas generator
tinyrenderer - A brief computer graphics / rendering course
Vulkan-Guide - One stop shop for getting started with the Vulkan API
renderdoc - RenderDoc is a stand-alone graphics debugging tool.
gtec-demo-framework
VulkanApp - A repository for a graphics engine developed with Vulkan
bgfx - Cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library.
LearnOpenGL - Code repository of all OpenGL chapters from the book and its accompanying website https://learnopengl.com