[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Jak efektivne texturovat I BEZ MMU :-)
> Pixely na screenu jsou 0, 1, 2, 3 ... a cteme je taky 0, 1, 2, 3...
>
>
> Ovsem! O hruzo, uhel 90 stupnu - a nacitame pixel OB velikost bitmapy,
> coz typicky byva kazdy 64 pixel (pri velikosti textury 64x64)...
> Takze misto pomoci nam ted burst silene zpomaluje praci s pameti
> a zpomaleni bude silne...
>
> Pixely na screenu jsou 0, 64, 128, ... ale cteni nam da 0 + (1, 2 a 3) -
> misto toho my ale chceme 64... a kdyz precteme 64 pixel, dostaneme k nemu
> bonusem 65, 66 a 67 pixel... My ovsem chceme 128 pixel...
>
>
>
> ...a - neco pro codery - jiste vite, jak se tohodle vyvarovat i bez
> pouziti MMU, ze ano? Muze mi to nekdo rici, nebou jsou tu vsichni jen
> lameri ? ;))))
Jiste ze ano. MMU je ti v tomhle zcela na hovno. 100% reseni je tzv.
swizzling, kteri vymysleli koderi na PC (mozna bych jeste nasel jmeno
autora)
For je v tom, ze pixely se reorganizuji tak, ze vzdy 16 po sobe jdoucich
bytes tvori 4x4 pixely v texture. Takze at to ctu jakkoliv v jakemkoliv
uhlu, tak vzdy burstem natahnu 16 pixelu z nichz vetsinu vyuziju.
Jak to rozkodovat zpatky ? Easy. Offset do textury ma rozdelene
casti na adresovani X a Y v tom ctverecku, mezi nimi ma tzv. gap
coz je misto pro signed znaminka a pri kodovani se to musi maskovat
EORem. A opravdu nejsou jen lameri. Nastesti.
Pozdravuje te vykoureny mozek - Fido
P.S. Jinak obsah tech tvych mailu me skutecne hluboce ranil, takze
odchazim minimalne na 10 let do ustrani meditovat o smyslu zivota.
Nebo ne, jinak ! Hned si na tebe nahodim filtr a bude kliidek :-)))