Sto scrivendo un gioco e il motore grafico di accompagnamento su OpenGL in C ++. Sono anche un fan di buoni processi di codifica e test automatizzati. Il codice grafico + i test sembrano piuttosto immiscibili, poiché l'output è spesso solo visivo o fortemente orientato al visual.
Ad esempio, immagina di analizzare il flusso di immagini non elaborate che viene eseguito il rendering sullo schermo byte per byte: devi confrontare i dati di test, che è difficile da creare / ottenere e spesso le immagini renderizzate non sono identiche su un livello di byte durante l'esecuzione in momenti diversi: piccoli cambiamenti negli algoritmi annulleranno completamente questo approccio.
Sto pensando di creare una suite di unità di test visiva, in cui posso fondamentalmente rendere diverse scene di test, mostrando cose come la mappatura delle ombre, l'animazione, ecc. Ecc. Come parte di CI, queste scene verrebbero quindi rese in un video file (o eventualmente lasciarlo come eseguibile) con metriche diverse. Ciò richiederebbe comunque l'ispezione manuale del file video, ma almeno sarebbe in qualche modo automatizzato e standardizzato.
Cosa pensi? Spero ci siano modi migliori?