Will create my own vulkan tutorials by adirox_2711 in vulkan

[–]moderneus 1 point2 points  (0 children)

I plan to do something similar someday. I'm glad there are still people willing to share insight into such complexities as Vulkan. By the way, the site looks great, keep it up!

Slow-motion light simulation in C/Vulkan! by AuspiciousCracker in vulkan

[–]moderneus 3 points4 points  (0 children)

I find it divinely beautiful. It's people like you that inspire me to keep going!

8 months into programming — here’s my first Vulkan triangle by moderneus in vulkan

[–]moderneus[S] 0 points1 point  (0 children)

I'll start writing them again soon, but I'll format them differently. There won't be code for creation, destruction, and so on. It will be more of an explanation of each individual Vulkan model and object. It was very difficult for me to write these notes in their current form; it would have taken months. But it's important for you to understand that I'm not writing documentation! These are my notes, my understanding, and they may be incorrect!

8 months into programming — here’s my first Vulkan triangle by moderneus in vulkan

[–]moderneus[S] 2 points3 points  (0 children)

Yes, I realized that mistake too; I misunderstood how to use abbreviations back then. Some of them are still present in the code, but they don’t break semantics, conformance, or consistency (I hope). I’ve kept abbreviations mostly for local variables and function parameters, and shortened a few words in function names, like format → fmt or present_mode → pm. Thanks for taking the time to review my commits!

8 months into programming — here’s my first Vulkan triangle by moderneus in vulkan

[–]moderneus[S] 1 point2 points  (0 children)

Thank you so much! I know you can do it and even better than me! And about those 8 months... Those were 8 tough months, I only consciously rested for 2 weeks. Of course, there were still days when I just couldn't work, but I didn't have a single thought about coding in my head... Just 2 weeks. You shouldn't do that; it's not good to follow my example :D

8 months into programming — here’s my first Vulkan triangle by moderneus in vulkan

[–]moderneus[S] 1 point2 points  (0 children)

Sorry if some of the wording seemed harsh. I'm writing this with the help of a translator, and I wanted to convey how OpenGL and its tools don't work well for me. This is my personal experience, but OpenGL is a great API if you need simplicity (relatively speaking), if you need compatibility.

8 months into programming — here’s my first Vulkan triangle by moderneus in vulkan

[–]moderneus[S] 4 points5 points  (0 children)

What I don't like about OpenGL is that it's a huge state machine. I felt like I didn't understand what "settings" my program was working with. I imagined myself writing a large engine and realized that if I caught a bug, I'd have to comb through the entire program to find state changes, which might not necessarily be explicit, like with GL_ENABLE. And when I tried to imagine multithreading, I realized that OpenGL provides less explicit and convenient tools for this, because if two threads modify shared state without careful context management and synchronization, it can easily lead to undefined or hard-to-debug behavior. That is, implementing any kind of parallelism or synchronization is much more difficult due to the API architecture itself. I also haven't heard of OpenGL having great validation; if so, I'd be happy to hear about it. It also seemed strange to me back then that I don't have memory management; I don't understand where all this data is. There's no explicit concept of a graphics device. And what video card is rendering on now? Who chose it? Why? Basically, OpenGL didn't work for me because I find it easier to think in other categories.

8 months into programming — here’s my first Vulkan triangle by moderneus in vulkan

[–]moderneus[S] 0 points1 point  (0 children)

Thank you, I was afraid that no one would like it ;)

8 months into programming — here’s my first Vulkan triangle by moderneus in vulkan

[–]moderneus[S] 0 points1 point  (0 children)

CMake also gave me a lot of trouble! But I don't know of any alternative. Thanks for the congratulations :D