I watched the fireship video : The last real programmers are dying out...https://www.youtube.com/watch?v=zv6B6PQOuHE
9/10 developers are using ai to write their code.
That stat hit like a ton of bricks. After working on a new rendering engine to study up on vulkan and slang, and getting this stuff working without relying on ai. I felt like the world basically said, “we’ll put it right here, right on the refrigerator.”
I want to finish this stuff up and put it up on my portfolio so that I can demonstrate a deep understanding of graphics programming. What’s weird is I feel like now more than ever it’s important to filter candidates for jobs by their technical knowledge, so it doesn’t feel like a complete waste. The main issue is that I have no way to convey that the portfolio project is representative of my knowledge, not an LLM's. Even if I do a comprehensive right or a video there is no way for a person to really trust that I am smart enough to have done this on my own. Now more than ever it seems reputation amongst colleagues in the industry is what is most important. Because anyone can roleplay being amazing at anything regarding knowing things.
My biggest accomplishments in my vulkan/slang project as of late is that I got hot reloads for meshes and shaders working. The next major thing I want to get up and running is a revised version of shader hot reloads that are more efficient with how they reload. The other thing is getting shader parameter reflection cleaned up. I want to make it so that my fragment and vertex shaders can all output their parameters so that I can write to them with the appropriate variable name and variable type. The long haul dream would be to get c++ modules working with the project, then have a c++ type generator for the reflection data from slang that hot reloads into a c++ module. That c++ module would then be a dependency on the game side of things, and that would in effect get hot reloaded as well. The big lift is that the multi-compilation steps will lead to gross errors. For example you go to change a slang shader, then that triggers a hot reload of slang, then that detects a parameter change and triggers a compile of the generated module which triggers a compile of the c++ game module. That game module will get errors if a parameter changes if it was using it and the report will be something obscure like… symbol not found for SMySpecialShader_CPP::brightness. Ideally that error would just point to the slang shader file instead. Also the user may not want instant automatic hot reload, they’d probably get annoyed if it kept trying to hot reload every time they made a change. That will probably need to be reworked.
I also set up the selection of unique shaders per model today! It was pretty gross. It was mainly just done to verify some behavior with shader hot reload. So I could have two different shaders running at once and see if they were triggering the reloads appropriately. It worked, but it made me realize I have a bunch of work around managing pipelines.