Polygon fill is actually simple to implement: you just find the
x coordinates where the polygon edges intersect each
y coordinate (assuming your data is continuous in increasing
x on the same
y). Then, you fill the polygon by sending each such
y coordinate one or more horizontal lines.
You can find more information about this at e.g. Wikipedia
scanline rendering page.
If each intersection point also records a color, or a "blend" value, you can linearly interpolate the pixels on the scanline fill.
If you use 15-bit color, you can expand each blend endpoint color from 15-bit 0b
RRRRRGGGGGBBBBB to 30-bit 0b00000
RRRRR00000
GGGGG00000
BBBBB. If the two endpoints 30-bit colors are
C0 and
C1, and
p is the phase from 0 to 33, inclusive, the blended 30-bit color is (33-
p)*
C0+
p*
C1 = 0b
RRRRRrrrrrGGGGGgggggBBBBBbbbbb, where the lower-case letter correspond to fractional bits you need to discard. Of course, in addition to the two multiplications, addition, and subtraction, you do need three ANDs, two bit shifts, and two ORs, per pixel, to reconstruct the 15-bit target color.
Antialiasing the outer edge can be done by using fixed point intersection coordinate values, and examining the intersection
x for the same edge both "above" and "below" the current "pixel", and then blending between the background color and the fill color as above.
I'd really want to use an NXP i.MX RT106x with a few megabytes of PSRAM to control these small displays. You could e.g. store 4-bit glyphs (with a palette that contains say 8 opacities of glyph outline, and 7 shades of fully opaque color from outline to fill, with one entry reserved for background) and very rapidly blit them anywhere in a full framebuffer, and only when all changes are done, sync the changes to the display controller... Such glyphs would be perfectly antialiased, and by changing the palette, you could do antialiased font with selectable outline and fill color (dark outline avoiding the light-font-on-light-background problem, for example). My electronics design skills just don't reach to that MAPBGA-196 footprint yet.