Note: I dont use tiles, I use 3D Polygons :)
I'm currently working on a real-time renderer for scanned real life objects. My main goal is to have an isometric viewer with the simple ability to rotate the object.
This alone is a simple problem. I basically had the full solution for it, but I wasn't happy with the performance at all.
As you might know, software rendering based on the CPU is slow (but I don't want to code a game engine, just a small viewer which should be okay with a low poly count like < 10000) but for what i need it works surprisingly good.
The only part where my renderer is toooo slow is the z-buffer (multiple seconds for a 3000 poly obj). Mainly because it loops xyobjects*polygons.
Currently I'm using some sort of painters algorithm to draw polygons one after another, which brings me some problems: https://youtu.be/PDq4xtrgoi8
As you can see the distances per poly are calculated very poorly, just the center of the poly to world point 1000,1000,1000.
My question is not just about the pointers algorithm but I'd love to use a minimal failing method of drawing the polygons in a specific order rather than calculating every pixel by z-buffering.
If you have other simple methods which work fast on a CPU, I' d really appreciate hearing about them! :)
