It sure took me long enough, but #ElegyEngine can now render textured models !!!
Also got a pretty colourful "missing texture" texture now. Should be very easy to notice and still look aesthetically pleasing
4 posts total
It sure took me long enough, but #ElegyEngine can now render textured models !!! Also got a pretty colourful "missing texture" texture now. Should be very easy to notice and still look aesthetically pleasing Just finished the script for my first GoldSRC mapping video. This is gonna be fun I finally finished editing my video about creating new weapon classes in Half-Life and it is a whopping 26 minutes long. I feel it could've been shorter, but considering just how much stuff I managed to cram in there, it's alright. The original recordings were about 60-70 minutes total. Counter-Strike 2's responsive smoke is cool and all, but can GoldSRC do it? Yes. Yes, it can. @admer@tech.lgbt when you first threw the nades i thought "oh, okay, that's cool i guess", and then when you shot at the smoke my mind was blown lol. how'd you do this? |
This took a lot longer than I expected to say the least:
Loading glTF and PNG files was the easy part; most of the effort went into the material/shader system.
Typically when you write a renderer, you can define which resources (textures, matrices etc.) occupy which slots in the shader. E.g. view & proj matrix -> slot 0, model matrix -> slot 1, textures -> slot 2.
But here I wanted a more data-driven thing, where the shader & renderer agree on a few common slots, and the rest it figures out from the material file. So you can easily just write a new shader and use it! No need to touch the renderer code at all.
There were lots of little nuances to this, so it took a while.
I also realised, however, that my renderer plugin API is pretty inflexible and flawed. I'll need to redo that next month. Oops!
This took a lot longer than I expected to say the least:
Loading glTF and PNG files was the easy part; most of the effort went into the material/shader system.
Typically when you write a renderer, you can define which resources (textures, matrices etc.) occupy which slots in the shader. E.g. view & proj matrix -> slot 0, model matrix -> slot 1, textures -> slot 2.