I'm implementing a software renderer with this rasterization method, however, I was wondering if there is a possibility to improve it, or if there exists an alternative technique that is much faster. I'm specifically interested in rendering small triangles, like the ones from this 100k poly dragon:
As you can see, the method I'm using is not perfect either, as it leaves small gaps from time to time (at least I think that's what's happening).
I don't mind using assembly optimizations. Pseudocode or actual code (C/C++ or similar) is appreciated.