Erst mal will ich, dass das MIP-mapping richtig funktioniert. Ohne MIP-maps sehen die Texture Samples einfach grausam aus.
Generell ist das mit den x86 kompilierten Shadern natürlich eine coole Idee, aber erst mal gibt's noch einige andere Dinge zu tun.
Lichter baue ich vielleicht auch noch ein. Allerdings ist jedes Bisschen mehr, das pro Pixel interpoliert werden muss, eine weitere Bremse.
Und doch: mir ging es vor allem um Geschwindigkeit, sonst hätte ich keinen 8-bit Color buffer und 16-bit Depth buffer eingebaut.
Bei so einem Projekt kann man gut üben, mit wenig Speicher auszukommen :-)
Ich habe aber schon eingeplant, dass man mit den Makros in
static_config.h einige statische Konfigurationen vornehmen kann,
bei denen man zwischen Bildqualität/Geschwindigkeit umschalten kann.
Wenn ich mit SSE und/oder Multithreading mehrere Pixel gleichzeitig verarbeiten will, muss ich meinen Scanline Rasterizer komplett über den Haufen werfen.
Im
ryg blog ist schön beschrieben warum die GPUs eben keinen "incremental scanline rasterizer" implementieren.