this two-week project was just labelled 'general render improvements'. the rendering code i'm using could do some renders, but it couldn't really do much, and it wasn't really any one critical problem so much as a half-dozen different major issues.
so, some of those have been fixed.
over the past two weeks:
there are a few glitches with all of those (plants are always drawn flat, so they kind of float on sloped tiles; the render update only works on a single chunk at a time, so hexes at the edge of a chunk end up not updating all their adjacent tris; etc) and there are still some real big rendering limitations -- most notably, the landscape is still a heightmap and can't handle overhangs or any variety of more complex geometry -- but on the whole this has made rendering a lot more structured and useful.
i also got an idea for a workaround for gpipe's glitchy uniform code, which will help a lot when i need to use uniforms for real later on.
so that's a lot! most notably, now that i have interactivity working this theoretically means i have all the parts needed to make, you know, a game with an actual gameplay loop in it, which is something that i kind of put off forever.
so, some of those have been fixed.
over the past two weeks:
- i got slopes working, for hexes and for tris, and started calculating their normals as well as possible given the vertex limits in play
- i got slopes generating on the map with a basic smoothing pass
- i put in some value noise heightmap worldgen, and got 'chunk loading' working more coherently
- i restructured the buffer allocations slightly to make updates easier...
- ...and wrote some interaction code that updates the map data and does an in-place buffer write
- i made some super basic types for tile occupants, and got some plants rendering
- i tweaked the shader slightly to discard transparent fragments -- this means that i don't have to depth-sort any cut-out, stenciled geometry like plants
- i put in some rudimentary texturing types, inspired by the minecraft ctm mod
there are a few glitches with all of those (plants are always drawn flat, so they kind of float on sloped tiles; the render update only works on a single chunk at a time, so hexes at the edge of a chunk end up not updating all their adjacent tris; etc) and there are still some real big rendering limitations -- most notably, the landscape is still a heightmap and can't handle overhangs or any variety of more complex geometry -- but on the whole this has made rendering a lot more structured and useful.
i also got an idea for a workaround for gpipe's glitchy uniform code, which will help a lot when i need to use uniforms for real later on.
so that's a lot! most notably, now that i have interactivity working this theoretically means i have all the parts needed to make, you know, a game with an actual gameplay loop in it, which is something that i kind of put off forever.