C'è voluto un po' prima che qualcuno mi chiedesse di disambiguare il significato di blending. Aggiungo allora che il blending richiesto sia quello classico che in OpenGL si ottiene con glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
.
Altri mi hanno chiesto che libreria grafica utilizzare. La traccia parla solo di buffer di memoria e di una funzione che ne altera il contenuto, come intendete visualizzare il risultato al fine di testare la validità del vostro codice è un altro conto. In un mondo perfetto io avrei avuto abbastanza tempo da mettere insieme un piccolo framework da farvi usare alla bisogna, purtroppo credo dovrete arrangiarvi. 😃
Potete usare OpenGL, SDL con SDL_LockSurface()
, scrivere in un file in formato PBM, quello che volete, siete liberi di scegliere.
Per quanto riguarda il linguaggio, potete usare C o C++ ed usare il compilatore e l'IDE che più vi aggrada, quello che conta è il risultato, la funzione che fa quanto richiesto.
Qualcosa di simile a questo:
const int ScreenWidth = 1024;
const int ScreenHeight = 768;
const int SpriteSize = 64;
void blitSprite(uint16_t *frameBuffer, uint8_t *sprite, int x, int y);