digitalmars.D - Vulkan Tutorial Code uploaded to Github
- Doug Clayton (12/12) May 17 2019 Hi All,
- Nicholas Wilson (3/15) May 17 2019 Ah yes, the old arr.map!(toStringz).array.ptr;
- evilrat (8/11) May 17 2019 "erupted" was the only one that worked for me in the past, it was
- Doug Clayton (5/18) May 17 2019 I couldn't get the erupted bindings to work for the life of me,
- GoaLitiuM (3/19) May 17 2019 I've been using ErupteD on Windows quite a while with no problems
- Doug Clayton (3/13) May 17 2019 Linking issues. For some reason, I couldn't get it to link with
- GoaLitiuM (7/20) May 18 2019 ErupteD doesn't require any additional linking because it also
- KnightMare (8/10) May 18 2019 about enums:
- Doug Clayton (10/20) May 21 2019 Ah, I actually forgot to alias all of the enums in the spirv
Hi All, I just uploaded a working example of Vulkan working in D (With a Hello World triangle) on Github for anyone interested: https://github.com/DougClayton4231/VulkanTutorialD I couldn't find a working binding for Vulkan, so I hope this will help people get up and running and building their own applications. I only set up the Vulkan and GLFW3 bindings for Windows, so anyone on other OSes will need to extend those bindings with the appropriate functions and variables for those platforms. Big thanks to evilrat for helping me get those string arrays pointed to char**.
May 17 2019
On Friday, 17 May 2019 at 12:19:11 UTC, Doug Clayton wrote:Hi All, I just uploaded a working example of Vulkan working in D (With a Hello World triangle) on Github for anyone interested: https://github.com/DougClayton4231/VulkanTutorialD I couldn't find a working binding for Vulkan, so I hope this will help people get up and running and building their own applications. I only set up the Vulkan and GLFW3 bindings for Windows, so anyone on other OSes will need to extend those bindings with the appropriate functions and variables for those platforms.Great work.Big thanks to evilrat for helping me get those string arrays pointed to char**.Ah yes, the old arr.map!(toStringz).array.ptr;
May 17 2019
On Friday, 17 May 2019 at 12:19:11 UTC, Doug Clayton wrote:I couldn't find a working binding for Vulkan, so I hope this will help people get up and running and building their own applications."erupted" was the only one that worked for me in the past, it was then suspended, but now it seems it's up to date again (haven't tried). Did you had any issues using it? Also in repo readme it says "Native Debug" extension needed for VS Code, well, it isn't. Just enable "allow breakpoints everywhere" in settings. Other than that it does nothing useful (at least nothing noticeable).
May 17 2019
On Friday, 17 May 2019 at 13:29:18 UTC, evilrat wrote:On Friday, 17 May 2019 at 12:19:11 UTC, Doug Clayton wrote:I couldn't get the erupted bindings to work for the life of me, no matter what I tried. Also, that's good to know that the Native Debug extension isn't needed to debug the project. I'll remove that from the readme and add your info :)I couldn't find a working binding for Vulkan, so I hope this will help people get up and running and building their own applications."erupted" was the only one that worked for me in the past, it was then suspended, but now it seems it's up to date again (haven't tried). Did you had any issues using it? Also in repo readme it says "Native Debug" extension needed for VS Code, well, it isn't. Just enable "allow breakpoints everywhere" in settings. Other than that it does nothing useful (at least nothing noticeable).
May 17 2019
On Friday, 17 May 2019 at 14:46:23 UTC, Doug Clayton wrote:On Friday, 17 May 2019 at 13:29:18 UTC, evilrat wrote:I've been using ErupteD on Windows quite a while with no problems here. What kind of issues were you having with it?On Friday, 17 May 2019 at 12:19:11 UTC, Doug Clayton wrote:I couldn't get the erupted bindings to work for the life of me, no matter what I tried. Also, that's good to know that the Native Debug extension isn't needed to debug the project. I'll remove that from the readme and add your info :)[...]"erupted" was the only one that worked for me in the past, it was then suspended, but now it seems it's up to date again (haven't tried). Did you had any issues using it? Also in repo readme it says "Native Debug" extension needed for VS Code, well, it isn't. Just enable "allow breakpoints everywhere" in settings. Other than that it does nothing useful (at least nothing noticeable).
May 17 2019
On Friday, 17 May 2019 at 15:04:27 UTC, GoaLitiuM wrote:On Friday, 17 May 2019 at 14:46:23 UTC, Doug Clayton wrote:Linking issues. For some reason, I couldn't get it to link with the static or dynamic libraries.On Friday, 17 May 2019 at 13:29:18 UTC, evilrat wrote:I've been using ErupteD on Windows quite a while with no problems here. What kind of issues were you having with it?[...]I couldn't get the erupted bindings to work for the life of me, no matter what I tried. Also, that's good to know that the Native Debug extension isn't needed to debug the project. I'll remove that from the readme and add your info :)
May 17 2019
On Friday, 17 May 2019 at 18:30:49 UTC, Doug Clayton wrote:On Friday, 17 May 2019 at 15:04:27 UTC, GoaLitiuM wrote:ErupteD doesn't require any additional linking because it also operates as the loader, replacing "vulkan-1.lib" (which is the import library for the Vulkan loader supplied by Vulkan runtime) completely. Assuming the project is using dub, you just add it as a dependency and run the required functions (shown in the example) in runtime, and you should be good to go.On Friday, 17 May 2019 at 14:46:23 UTC, Doug Clayton wrote:Linking issues. For some reason, I couldn't get it to link with the static or dynamic libraries.On Friday, 17 May 2019 at 13:29:18 UTC, evilrat wrote:I've been using ErupteD on Windows quite a while with no problems here. What kind of issues were you having with it?[...]I couldn't get the erupted bindings to work for the life of me, no matter what I tried. Also, that's good to know that the Native Debug extension isn't needed to debug the project. I'll remove that from the readme and add your info :)
May 18 2019
I just uploaded a working example of Vulkan working in D (With a Hello World triangle) on Github for anyone interested...about enums: enum SpvCapability_ { SpvCapabilityMatrix = 0, ... }; // code sample obj.someCaps = SpvCapability_.SpvCapabilityMatrix; IMO better/understandable_enough: enum SpvCapability { Matrix = 0, ... }; // code sample obj.someCaps = SpvCapability.Matrix;
May 18 2019
On Saturday, 18 May 2019 at 14:25:27 UTC, KnightMare wrote:Ah, I actually forgot to alias all of the enums in the spirv bindings correctly so that they can be accessed globally, like they would be in C++. I'll upload the fixes today. I didn't alter any of the enum names from the original source in order to maintain a 1:1 binding. Otherwise, when people are following other people's code, the names would be completely different. Thanks, DougI just uploaded a working example of Vulkan working in D (With a Hello World triangle) on Github for anyone interested...about enums: enum SpvCapability_ { SpvCapabilityMatrix = 0, ... }; // code sample obj.someCaps = SpvCapability_.SpvCapabilityMatrix; IMO better/understandable_enough: enum SpvCapability { Matrix = 0, ... }; // code sample obj.someCaps = SpvCapability.Matrix;
May 21 2019