Asi to uz bolo spominane pri vseobecnejsom uvode, tak ma prosim nekamenujte, ak to uz davno viete.
Napriek nepresnosti pri praci s desatinnymi cislami, v pripade blendingu norma OpenGL garantuje niektore skutocnosti. A sice, ze nasobenie faktorom rovnym 1 koeficienty urcite nezmeni, zatialco nasobenie faktorom 0 ich urcite vynuluje.
Plati to aj "prenesene". Napr. ak cielovy faktor je nastaveny na GL_ONE_MINUS_SRC_ALPHA a alpha zlozka zdrojoveho fragmentu je 1, potom vsetky zlozky cieloveho fragmentu budu pri vstupe do vysledneho suctu urcite vynulovane (pretoze budu nasobene koeficientom (1-1)).
Dalej si treba dat pozor na presnost vypoctov. Desatinne cisla su iba vonkajsou reprezentaciou hodnot farebnych resp. alpha zloziek v color bufferi. Tam sa v skutocnosti nachadzaju celociselne hodnoty, v rozsahu 0 az (2^n)-1, kde n je pocet bitov vyhradenych pre tieto zlozky. Cim nizsi je pocet bitov, tym vacsie nepresnosti pri blendingu vznikaju. Najma ak je viackrat aplikovany na ten isty fragment v color bufferi. Nespoliehajte sa preto napr. na skutocnost, ze pokial sa nieco vykresli "priesvitne" pri vasom pocte bitov na alpha zlozku, musi to tak dopadnut aj pri nizsom pocte bitov.
Moc Vam dekuji za upresneni textu. Takto jsem to, pokud si vzpominam, ani na zacatku neformuloval.
Vyjmenuji zde kratce dalsi oblasti, kde se muzete setkat s problemy, ktere souvisi s reprezentaci ciselnych hodnot v CPU a GPU:
1. bitova hloubka framebufferu obecne, zejmena je to patrne na pameti hloubky (Z-bufferu). Omezeni hloubky color bufferu se projevi v podstate pouze u blendingu, zvlaste pri 16bpp.
2. vypocet mlhy se nekdy dela pomoci look-up tabulek (tusim ze starsi ATI karty), nekdy vypoctem v integerech (resp. FX), nekdy ve floatech.
3. zadavani texturovacich souradnic a jejich interni ulozeni na gfx. akceleratoru. Viditelne chyby zejmena pri napojovani textur namapovanych na velke plochy.
4. obecne vsechny transformace, castou chybou je napr. opakovane pouziti operaci glRotate() pro plynulou rotaci objektu (dost casto se objevuje ve studentskych projektech).