making a good rendering engine is kinda hard
i want it to support multiple shader programs with different amounts of data (at minimum vertices/indices), as well as have good performance by not unnecessarily recalculating this data
i think i will always clear the screen every frame, it seems way too hard otherwise
the main thing is only updating certain parts of the data that is sent to a shader program, you can't just cut out or replace parts of the arrays since that would mess up all the indices, and how do you identify these regions?
the current hacky thing i'm using is having two different 'static' and 'dynamic' shader programs that do the same thing, and updating one of them more frequently. but that isn't ideal
also it's all in 2d but i stupidly didn't consider that the z axis is very useful for ordering, and now i wish i used it for everything from the beginning rather than having most shader programs only take 2d coordinates
if this was all implemented it could be too cumbersome to actually use it to draw stuff. what i have now is messy but at least it works and is kind of easy to use