I forgot to mention this a while ago, but the lighting engine now runs fully on shaders. The scrolling star background also runs on a shader. Huzzah!
I’ve had the code in pieces for a while, but now it’s all together. It was worth all the effort and rage - the game now runs much faster and works on older laptops. The new engine is also more dynamic, allowing me to have more lights than before. The colours also seem to blend more naturally, which is a nice addition.
Unfortunately, it means I’ll have to sacrifice shadow casting until I figure out a way to do it with shaders. I just haven’t had time to figure it out yet. I have a few ideas in mind, but it’ll have to wait for now.