Online Casino
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