1
Programming / Re: Mods and code changes.
« on: February 18, 2016, 12:28:51 am »
Everything I'm openly planning is contained in the baseview, yes.
But the 32-8 and 8-32 conversion will be useful to have around, even just for reference.
With GPU rendering to 32-bit I don't have to lose info e.g. repeating colours. I've got an untouched 8bits that I could store a reverse-lookup for the CLUT for the entire framebuffer so you'd still know which pixel was which if you ever needed that info. I can't think of a use case where i'd need it, but you could save it out to VRAM or even CPU addressable memory if you wanted it so the info isn't going to be lost.
More likely I'd bind a separate 8-bit render target for that, and either an RGB-24 for the colour buffer or a 32bit RGBA and use the alpha for transparency. Alpha is a little weird in an 8bit world so I'd been ignoring it.
I chose the baseview because it was easy, rather than starting with the Geoscape or Battlescape. It's self contained and the workload was low. Its a couple of hundred lines of code for the render. The colourspace conversion probably quadruples that, maybe more, but again that stuff could be useful.
If the Baseview was easy, I did have a peek at the geoscape because of the way the ugly way the world texture doesn't rotate with the world. I thought it'd be nice to fix that, but as soon as you start antialiasing you have the same RGBA-to-CLUT problems. Everything I thought of in the geoscape was cosmetic really. I thought about having clouds, waves, that sort of thing but they are just distractions.
Country highlights, clickable countries, and a few other options came to mind but nothing that grabbed me as code I wanted to tackle while I was focused on the Base.
The battlescape is a bit more of a beast. A 24 bit renderer could add transparent smoke, and variable zoom levels which are nice tweaks but not something I was too fussed over. It's too big to think about right now.
I did make a checklist of the work involved in using the BattlescapeGenerator to output a base defence mission as a vertex buffer object and then use a mesh of the base defence layout as the map screen in the BaseView. It'd be an interesting side project, generating a mesh isn't too hard, and you get nice pan, zoom, rotate on the BaseView map. It'd look cool and you'd be able to preview what the base defence would look like which might help some players, modders, or specific scenarios people came up with.
It was an interesting thought experiment, but there are a few problems to solve if you autogenerated meshes and I'm not sure I'd want to tackle those head on until I was a lot more familiar with the project.
But the 32-8 and 8-32 conversion will be useful to have around, even just for reference.
With GPU rendering to 32-bit I don't have to lose info e.g. repeating colours. I've got an untouched 8bits that I could store a reverse-lookup for the CLUT for the entire framebuffer so you'd still know which pixel was which if you ever needed that info. I can't think of a use case where i'd need it, but you could save it out to VRAM or even CPU addressable memory if you wanted it so the info isn't going to be lost.
More likely I'd bind a separate 8-bit render target for that, and either an RGB-24 for the colour buffer or a 32bit RGBA and use the alpha for transparency. Alpha is a little weird in an 8bit world so I'd been ignoring it.
I chose the baseview because it was easy, rather than starting with the Geoscape or Battlescape. It's self contained and the workload was low. Its a couple of hundred lines of code for the render. The colourspace conversion probably quadruples that, maybe more, but again that stuff could be useful.
If the Baseview was easy, I did have a peek at the geoscape because of the way the ugly way the world texture doesn't rotate with the world. I thought it'd be nice to fix that, but as soon as you start antialiasing you have the same RGBA-to-CLUT problems. Everything I thought of in the geoscape was cosmetic really. I thought about having clouds, waves, that sort of thing but they are just distractions.
Country highlights, clickable countries, and a few other options came to mind but nothing that grabbed me as code I wanted to tackle while I was focused on the Base.
The battlescape is a bit more of a beast. A 24 bit renderer could add transparent smoke, and variable zoom levels which are nice tweaks but not something I was too fussed over. It's too big to think about right now.
I did make a checklist of the work involved in using the BattlescapeGenerator to output a base defence mission as a vertex buffer object and then use a mesh of the base defence layout as the map screen in the BaseView. It'd be an interesting side project, generating a mesh isn't too hard, and you get nice pan, zoom, rotate on the BaseView map. It'd look cool and you'd be able to preview what the base defence would look like which might help some players, modders, or specific scenarios people came up with.
It was an interesting thought experiment, but there are a few problems to solve if you autogenerated meshes and I'm not sure I'd want to tackle those head on until I was a lot more familiar with the project.