Sto scrivendo un gioco e il motore grafico che lo accompagna su OpenGL in C ++. Sono anche un appassionato di buoni processi di codifica e test automatici. Il codice + test della grafica sembra piuttosto immiscibile, dal momento che l'output è spesso solo visuale o molto strongmente orientato alla visualizzazione.
Ad esempio, immagina di analizzare il flusso di immagini grezzo che viene reso sullo schermo byte per byte - devi confrontare i dati di test, che è difficile da creare / ottenere, e spesso le immagini renderizzate non sono identici a livello di byte quando vengono eseguiti in momenti diversi: piccole modifiche negli algoritmi distruggono completamente questo approccio.
Sto pensando di creare una suite visuale di test unitari, in cui posso praticamente rendere diverse scene di prova, mostrando cose come shadow mapping, animazioni, ecc ecc ecc. Come parte di CI, queste scene sarebbero state rese in un file video (o eventualmente lasciarlo come un eseguibile) con metriche diverse. Ciò richiederebbe comunque l'ispezione manuale del file video, ma almeno sarebbe un po 'automatizzato e standardizzato.
Che ne pensi? Spero ci siano modi migliori?