Digital Waters

<<

Maledetti triangoli
Matteo - 27 Aprile 2005 20:28 OpenGL

Questa settimana si chiude il rilascio dei software su cui lavoro in ufficio. Sono giorni ovviamente un pò febbricitanti. Eppure ero sicuro di aver finito tutto il mio lavoro la settimana scorsa e mi preparavo mentalmente ad una settimana di riposo...

Ma...

Diversi nostri clienti hanno problemi con i driver OpenGL. Questi benedetti driver, realizzati dalle pių prestigiose aziende del settore, sono pieni di bachetti microscopici e non documentati (e forse neanche noti), che pensano sia giusto (sempre per la famosa legge di Murphy) venire fuori soltanto sulle macchine dei tuoi clienti e mai su quelli degli sviluppatori. Cosė mi sono messo in cerca di report di ogni genere che riguardassero incompatibilità più o meno note. Sulla Knowledge Base di Microsoft ho scoperto che i bug risolti nelle varie versioni di Windows e nei service pack relativi a opengl sono innumerevoli... E così ne ho preso nota. Poi ho preso alcune indicazioni dalle KB per sviluppatori della ATI e della nVidia (in particolare quest'ultima è impressionante).

Fatto tutto ciò, ho preso la nostra bella classettina che contiene le chiamate opengl e l'ho "sistemata" in base a tutte le annotazioni che avevo preso - alla fine si riducevano a 3-4 relativamente al nostro codice. Ho fatto qualche test di regressione, sembrava funzionare tutto. Ho messo le modifiche nel ramo di sviluppo principale e abbiamo ricompilato tutto. Solo oggi però ho lanciato per altri motivi altri test e mi sono reso conto che si verificavano dei problemi addirittura sul mio computer - cosa finora mai vista - legati ad OpenGL, e ho scoperto un'altra cosa raccapricciante, dopo ore di debug e stress. Per qualche assurdo motivo i glNormal dopo glBegin, utilizzati con i glEdgeFlag, SOLO se si disegnano quadrilateri, mandano il driver video in crash, ma SOLO se è successo chissà che cosa prima... Togli gli edgeflag o metti il glNormal PRIMA del glBegin: tutto funziona...

Per fare una similitudine, è come se tutti gli anni in cui il 3 marzo capita di martedì, il 15 agosto nevicasse all'equatore... MAH




Weblog Koan Progetti Foto Contatti