Ahoi fellow gophers, Lately, I have been quite busy again with game engine development on Eternal. I've implemented prelimenary support for loading and saving scenes in the editor. I do still have a little bug to work out with textures not loading correctly at times it seems. I also made a bunch of progress on optimizing and improving lighting. I've implemented a copy-on-change UBO mechanism that only sends data to the GPU if a field actually changed, and started moving all lighting data into these UBOs. In the past, lighting in Eternal used regular uniforms. The problem with those is that they need to be updated every frame, and can't be shared between shader programs. An UBO you only need to update once, and the data can be read from any of your shader programs without having to rewrite the data, so that's definitively much more suitable. I fixed some bug with point lights not having proper light direction info, which caused the ambient/specular to basically do nothing. You can also now have multiple directional lights in a scene now and each will cast it's own shadows. (Previous version only supported one directional light per scene). I merged all that stuff into the main branch today and updated the documentation over at https://linkerror.com/eternal/ Moreover, I also created an 'official' IRC channel for the 3d engine. Come and join me at #eternal on libera.chat -- There's still culling bugs. Shadows or objects may vanish if they get culled wrongly. This is because of AABB issues I have to debug yet. All of this has been very very tedious work, but hey, baby steps, I guess ;) Another random thought; I need a logo for the engine. Ideally an ascii art logo. If anyone can come up with one, I'm open to submissions, ha! -jns