Nabend,
Ich schonwieder
.
Alsooo:
Habe es geschafft den SoftwareRasterizer von Nicola Capens zu verstehen(hoff ich doch
) und einzubauen. Wirklich schön schnell beim filling. Jetzt sitz ich aber erneut vor der frage wie ich den nun werte (Farben/ZWerte der vertices) an beliebigen punkten interpoliere.
Zuvor hatte ich für jeden Pixel die Baryzentrischen koordinaten berechnet und damit gearbeitet. Geht ohne probleme, aber leider auch (bei mir) nur Pixel für PIxel.
Der Rasterizer von Nicola arbeitet mit einem Chunk verfahren. Ich habe also immer 8x8px blöcke. Vorausgesetzt ein 8x8 block ist komplett im dreieck, kann ich einfach die baryzentrischen koordinaten der eckpunkte des Blocks bestimmen und möglichst schonend dazwischen linear(Bilinear?) interpolieren
mit schonend, mein ich, eine formel die nicht zu sehr ins gewicht schlägt, will ja den neuen performancegwinn nicht gleich wieder begraben). Die Formel für die Bilineare interpolationa auf Wikipedia, hatte mich etwas erschlagen. Müsste ich das für jeden pixel machen, könnts düster werden.
http://en.wikipedia.org/wiki/Bilinear_interpolation
MFG
Memnarch