Vulkan
Examples and demos for the new Vulkan API (by SaschaWillems)
DirectX-Graphics-Samples
This repo contains the DirectX Graphics samples that demonstrate how to build graphics intensive applications on Windows. (by microsoft)
Our great sponsors
Vulkan | DirectX-Graphics-Samples | |
---|---|---|
70 | 15 | |
9,693 | 5,711 | |
- | 1.3% | |
9.3 | 0.0 | |
10 days ago | 29 days ago | |
GLSL | C++ | |
MIT License | MIT License |
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
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.
-
offscreen rendering vs render to texture
This is the reference I used. https://github.com/SaschaWillems/Vulkan/blob/master/examples/hdr/hdr.cpp
-
Question about descriptor buffers.
Hi, I'm messing with descriptor buffers but I've came across certain issues I can't seem to solve. I'm using this tutorial as reference. I've tried UBOs and SSBOs, it works perfectly and there is no need to change the buffers offsets when recording a command buffer because I can access them by index like this:
-
Need help learning descriptor sets
Hi I am trying to learn Vulkan for an upcoming project and I have so far found everything to be straight forward if very verbose. I have now come to descriptor sets, layout bindings and the so forth and it's got more confusing than I can work out. I have been following this github repo for a headless compute example and it works fine as it is. But when I tried to add an additional storage buffer to the test shader than it comes with I am unable to copy the data over instead just getting a whole collection of 0's.
- Sascha Willems bloom example dependency management
-
Vulkan ray tracer with fog and stuff
P.S. do you know of Sascha Willems’ code? https://github.com/SaschaWillems/Vulkan
-
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.
DirectX-Graphics-Samples
Posts with mentions or reviews of DirectX-Graphics-Samples.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-05-03.
-
Very early state of my DirectX 12 and EnTT based ECS Engine called "Orpheus"
I also looked at the Microsoft sample like this: https://github.com/microsoft/DirectX-Graphics-Samples
-
Normalizing SSAO occlusion result gives odd result than not normalizing
It looks like Microsoft has official DirectX samples available, including an SSAO demo if you want to take a look at that. It does seem very different compared to your approach though, so it may not be of any use to you.
-
"reportedly Apple just got absolutely everything they asked for and WebGPU really looks a lot like Metal. But Metal was always reportedly the nicest of the three modern graphics APIs to use, so that's… good?"
In my post I was using the generate mipmaps example to illustrate what I'm saying. In order to generate mipmaps in realtime in OpenGL you would simply make a call to generatemipmaps() or whatever it is called. In Vulkan it is more challenging because you have to do explicit resource management, but it isn't that bad still. In D3D12 you have to write your own compute shader https://github.com/Microsoft/DirectX-Graphics-Samples/blob/master/MiniEngine/Core/Shaders/GenerateMipsCS.hlsli
-
zeux.io - Meshlet size tradeoffs
I wrote a sample a few years ago which implements this technique.
-
Learning DirectX 12 in 2023
I eventually moved on to the official DirectX 12 Graphic Samples, which had isolated examples that were easier to learn from incrementally. The “Hello World” sample is the best starting point to get the renderer setup with a triangle. This repo is a great reference when you need to verify process and structure (like the order of operation of APIs). Whenever I had a strange bug in my app, I’d go back to these examples to do a diff and see what I was missing.
-
Good clean examples of DirectX engine code?
You probably want to take a look at the officiel DirectX samples page: https://github.com/microsoft/DirectX-Graphics-Samples It’s got samples covering a single topic each, which make them easier to digest, but there’s also the MiniEngine which is a render engine.
-
Where to start learning OpenGL or DirectX11 Graphics Programming with C++?
MiniEngine game engine
-
GOG 2022 update #2: our commitment to DRM-free gaming - GOG.com
Something about the Github sample did catch my eye:
-
What is the best way to learn directx?
Microsoft put out this: https://github.com/microsoft/DirectX-Graphics-Samples
-
AMD 6900XT -Raytracing score matching RTX 3080 in Port Royal
There is also this thing, but I never figured out how to compile that.
What are some alternatives?
When comparing Vulkan and DirectX-Graphics-Samples you can also consider the following projects:
vulkano - Safe and rich Rust wrapper around the Vulkan API
DirectXTK - The DirectX Tool Kit (aka DirectXTK) is a collection of helper classes for writing DirectX 11.x code in C++
vulkan-guide - Introductory guide to vulkan.
D3D12MemoryAllocator - Easy to integrate memory allocation library for Direct3D 12
vk-bootstrap - Vulkan Bootstrapping Iibrary
directx12-seed - ✖🌱 A DirectX 12 starter repo that you could use to get the ball rolling.
msdf-atlas-gen - MSDF font atlas generator
DxrTutorials
tinyrenderer - A brief computer graphics / rendering course
Vulkan-Samples - One stop solution for all Vulkan samples
GettingStartedWithRTXRayTracing - Getting Started with RTX Ray Tracing
Vulkan vs vulkano
DirectX-Graphics-Samples vs DirectXTK
Vulkan vs vulkan-guide
DirectX-Graphics-Samples vs D3D12MemoryAllocator
Vulkan vs vk-bootstrap
DirectX-Graphics-Samples vs directx12-seed
Vulkan vs msdf-atlas-gen
DirectX-Graphics-Samples vs DxrTutorials
Vulkan vs tinyrenderer
DirectX-Graphics-Samples vs vulkan-guide
Vulkan vs Vulkan-Samples
DirectX-Graphics-Samples vs GettingStartedWithRTXRayTracing