07-01-2024, 04:31 AM
(This post was last modified: 07-01-2024, 04:34 AM by web2gamedevconvert.
Edit Reason: WTF MyBB
)
(05-19-2024, 12:15 PM)Brian Beuken Wrote: I'm currently doing my main project over on my www.patreon.com/brianbeuken page in OpenGLES3.1
I've decided my next project is going to be a Vulkan project, just to learn it and put it into some practical use... not in a hurry though, I've done a few tutorials in the last year and it still leaves me cold... but....for the sake of science I will endure...
I've been speedrunning through a Vulkan tutorial series yesterday, and intend on continuing.
My impressions so far:
The code is surprisingly cleaner than if I were to use OpenGL, but I really don't like the very fucking long class names they're using.
Having been coding in C almost exclusively for 1 year, I came to love things like `strncmp()` or `snprintf()`.
Now in Vulkan it's like `device.enumerateDeviceExtensionProperties()` or `instance.destroyDebugUtilsMessengerEXT()` (yes, I'm using C++ for Vulkan), which takes up a lot of horizontal space, so prepare not being able to program on a 9:16 monitor without using line breaks like a maniac!
The other problem I noticed is that it seems like the API's change all the time.
I've been following a tutorial that uses Vulkan 1.2, I use Vulkan 1.3.
I didn't know if this is a version problem or an OS problem (he's using Windows, I'm using OpenBSD), but this part of the code didn't work for me, because it says that `eWarning`. `eVerbose`, and `eError` are not members of `vk:: DebugUtilsMessageTypeFlagBitsEXT`, and that you can't use `vk:: DebugUtilsMessengerCreateInfoEXT()` as a constructor, even though it's available.
As it turned out, the problem was the extremely verbose function names I ranted about 1 paragraph ago, because simply copy/pasting his code ended up fixing the problem.
Because I noticed I was using the wrong function names all along.
But what is clearly a version related problem is `vk:: DispatchLoaderDynamic()`, because on Vulkan 1.3 I'm getting the warning "Definition of implicit copy assignment operator for 'DispatchLoaderDynamic' is deprecated because it has a user-declared copy constructor".
I also intend to experiment with Swift and Metal after releasing a game written in Vulkan.
Not because I like Apple, but because I'm just curious about it.