128 bit je fajn zlepseni. Kdo by pochyboval, tak si muze zkusit tenhle pocetni priklad:
1 + 1 + 1 + 1 = 4; 1.4 + 1.4 + 1.4 + 1.4 = 5.6 ~= 6;
(takovahle chyba se muze tykat kazdeho kanalu a cim vic textur, tim horsi to muze byt)
Ale ty obrazky jsou prehnane, zvlast to hrany v odraze na obr c.2.
128 bit je fajn zlepseni. Kdo by pochyboval, tak si muze zkusit tenhle pocetni priklad:
1 + 1 + 1 + 1 = 4; 1.4 + 1.4 + 1.4 + 1.4 = 5.6 ~= 6;
(takovahle chyba se muze tykat kazdeho kanalu a cim vic textur, tim horsi to muze byt)
Ale ty obrazky jsou prehnane, zvlast to hrany v odraze na obr c.2.
konecne... je jasne, ze pro zobrazeni staci 32 bitu (vic clovek nerozlisi), ale pro vypocty je nezbytne mit vyssi presnost. doposud se bralo na jednu barvu 8 bitu = 256 hodnot. pri trosku narocnejsim vypoctu (vice iteraci) dochazelo k hrubym chybam. samozrejme v pripade hardwarove akcelerace - pri softwarovych vypoctech se dalo pocitac presneji a vysledek pak omezit. nicmene rychlost softwarovych vypoctu je nedostacujici. takze krok smerem k 128 bitum je velmi uzitecna vecicka.
slysel jsem to na vlastni usi: primy prenos z FBI stenice z centraly ATI!!! neverte vlastnim ocim!spolehejte se na vlastni usi a kdyz oci tak jen od: kristal ajs teknolodziis, tajvan (poradne zamazana reklama s podprahovymi podnety ;)
Zaujimavy je detail spoileru na psolednom obrazku. Niekto nam chce nahovorit ze 32bit farby nevyrenderuju na nom ten lesk... Photoshop tam zapracoval. To iste na prvom obrazku v 32bit casti je iba potlacena biela, ktora na celom obrazku ani nie je.
no... vzhledem k tomu, ze pocitac jina nez cela cisla neumi a vsechny ty vecicky, co popisujete pocita docela dobre... tak bych si s tim hlavu nelamal :o) pro stouraly - vsechno tzv. floating point je samozrejme simulovano s omezenou presnosti.
Většina pravdy už tady zazněla, takže to shrnu:
1. 128 bitů se používá jen pro výpočet, a to proto, aby se eliminoval vliv nakumulovaných zaokrouhlovacích chyb (Kdo nevěří, ať porovná úpravy 4-bitového obrázku přímo ve 4 bitech a v posloupnosti převod na 24 bitů -> úpravy -> převod zpět na 4 bity. Je to extrémní případ, ale dobře demonstruje podstatu věci. Nebo jinak - když budu celočíselně počítat (4/3)*3, kolikpak dostanu? 4 to nebudou...).
2. Všechny popisované efekty bylo možné relizovat snadno i dříve - ale pouze softwarově. Hardwarová realizace je mnohem rychlejší.
3. Závěrečný převod na 8:8:8, resp. 10:10:10 bitů je nutný, aby bylo možné použít standardní D/A převodníky.
4. O počet barevných odstínů rozlišitelných okem se odborníci dodnes přou - uváděné hodnoty, získané vědeckými experimenty, se pohybují v rozsahu 1 - 150 milionů. Každý experiment se provádí za jiných podmínek, takže v realitě se budeme pohybovat někde mezi tím (a 24 bitů by pro zobrazení tedy mělo stačit).
Myslim, ze uz to tu padlo, ale pro jistotu:
JPEG podporuje pouze 24 bitove barvy budto RGB nebo odstiny sedi. Jak teda mam rozdil 128 bitu na JPEGu, ktery nezvladne ani 32? Me to prijde, ze pres pulku obrazku nekdo dal transparentni cernej obdelnik, aby to bylo hnusnejsi.
Kdybyste poradne cetl clanek, tak byste nemel takoveto pripominky... 128-bitove barvy jsou pouzivany pouze k vypoctum a pro vystup na monitor jsou degradovany na 32-bit!! JPEG samozrejme pouziva 24-bitove barvy, protoze to jsou pouze kanaly RGB 8:8:8, zatimco zbylych osm bitu pro alpha blending neni pouzito! Uz to ale opakuji ponekolikate...
Ne necetl, jsem v praci tak si nemuzu dovolit moc brouzdat po netu :))
Doma mam modem....
Ja tomu sice az tak moc nerozumim, ale vsechno na mne dela stejny dojem, jako je tomu v pripade prehravani zvuku: kdysi LP ci MC, pak se objevilo CD. Jenze ani z tech uz dnes neplynou zavratne zisky - MPtrojky udelaly sve ;-) a vyrobci otravuji zivot s SACD ci DVD Audio. Ani 5.1 kanalu uz dnes neni to prave orechove ve svete prostoroveho zvuku... Proste plat, zakazniku a my Te za Tve penize presvedcime, ze jsi jen blb a osel, ktery se porad jen otrasa. Jenze - na to, abyste si poslechli zvuk v takove kvalite, vam nestaci jen spickova aparatura, je treba mit patricne provedenou poslechovou mistnost a pak take usi, ktere ty nuance dokazi postrehnout, naladu, abyste z poslechu neco meli a cas, abyste si to uzili. Ruku na srdce - mate to vse najednou (a k tomu poradny balik penez na realizaci)? A uplne to same je to s obrazem (videem). Pokud chcete vyhazovat penize jen za ten pocit, ze jste stale "in", nic proti, ale da se to nazvat dusevnim sebeukajenim neb psychoonanismem...
1. Výrobci hardware si jdou s programátory velkých firem na ruku - stojí na jedné straně barikády, na druhé jsme my, uživatelé.
2. Lidské oko je podle vědeckých zdrojů schopné rozeznat kolem miliónu odstínů barev (jak čí ;) moje oko stačí spolehlivě na 20 000 a z bídou na 100 000. Zkuste si to.
3. Všiml si někdo že na třetím obrázku se jedná o dva zcela různé modely aut? Jiná karoserie, jiný počet polygonů! Možná že když se spustí na kartě se 128 bitovým FP výpočtem Operace Flashpoint, trabant bude vypadat jako McLaren? Zajímavé! :o]
Ještě k té dynamice. Dříve jsem měl Amigu. Když jsem kvalitním samplerem s kvalitním programem zdigitalizoval kvalitní hudbu 8-mi bitově (slovy osmibitově) a pustil to na Hi-Fi zvukové aparatuře, nikdo nepoznal originál!!!!!! Dnes máme všechno 16-ti bitové, kvůli lenochům a lajdákům, kteří tak mají jednoduší práci. Stejně má každý u počítače směšný prskátka a ne reproduktory! A tak je to i s tím 128 FP výpočtem. No a vo vo vo vo votom to j j je. :o)
to si neviete nikdo do paze precitat ten clanok cely ?! 128-bit fp a 32-bit je rovnaka farebna hlbka, ale kvalita zobrazenia je rozdielna. Uz tu sakra nevypisujte vety typu "Proc muzu ten rozdil postrehnout i na mem trapnem monitoru ?" sa uvedomte chlapci ....
Me pripada, ze u toho pravyho snimku akorat nekdo ve fotoshopu dal contrast na hodne moc, nebo naopak ten levej akorat ztmalvili. Zvladnul by vubec monitor nebo oko 128bitove barvy. Do ATI urcite nepujdu :)
Prvni cas vaseho prispevku je subjektivni, takze jestli vas nepresvedcil clanek, neni co dodavat.
Zminovat monitor neni na miste, protoze na konci je uvedeno, ze pred vystupem jsou barvy degradovany na 32-bitu. Pokud se jedna o oko, tak to je snad zrejme z obrazku.
Nemohu se ale ubranit dojmu, ze jste clanek necetl, protoze tam je vse jasne...
Precti si muj komentar kousek niz a nebudes psat nesmysly. Nejedna se o barvy ale o PRESNOST VYPOCTU.
Nevim, jak by se pocitaly treba odmocniny, logaritmy a inverze na celych cislech, aby to bylo pekne a rychle...
Nechtel jste tim doufam rict, ze logaritmus v 128 bitovy presnosti se spocita lip nez z celyho cisla?:) Pri barevnym schematu 10:10:10:2 to v pohode zrealizujete prez lookup table..
Taky tomu moc nerozumím ale zjednodušeně to vypadá tak, že 128b barvy budou ne lepší ale lépe odpovídající záměrům programátorů. Možná...
Nevim, jsetli logaritmus byl nejstastnejsi priklad, ale jde o vypocty na jednotlivych komponentach, tedy
8bit integer (0..255 nebo -128...127) vs 32bit floating point (rozsah a presnost obrovske).
Navic, pri prekroceni rozsahu u integeru dojde k orezani, u fp pouze k nepatrnemu snizeni presnosti. A prave tohle zpusobi nejvetsi rozdily (viz muj prispevek nize). Navic, tohle reseni je univerzalni a programator (nebo kompilator) si nemusi delat starosti, jestli nedojde k nejakym problemum a vysledek bude OK.
Ati z nás blbce nedělá.Viděl jsem to na vlastní oči,.
Ati z nás blbce nedělá.Viděl jsem to na vlastní oči,.
Mam za to ze 32-bitu bohate staci, protoze
a) v pohybu houby poznate
b) a i kdyby... lze pouzit 'error difusion' nebo podobny algoritmus a dostanete barev do alejuja (pamatuje na 256-bitove gify? kolikrat to nejde ani rozeznat od jpegu)
Specifikace Pixel Shader 2.0 umožňuje kromě 160 instrukcí v jednom programu také podporu barev s plovoucí desetinnou čárkou. Podporovaná barevná hloubka je 64 nebo 128 bitů! Nyní si rozebereme přínos zvýšené barevné hloubky.
ktomu by som povedal ze sa mi zda serioznejsia ponuka od nvidie na programovatelny pixel shader. pretoze je to vyslovene otazka programatorov, ak chce programator si kludne moze naprogramovat aj 256 bitove prechody na farby, len to asi nebude rychle ,(retoze tu ide fakt len o reklamu , pretoze to teraz bude mat HARDWAROVO len ati. s cim pridu za pol roka s pixel shaderom 3.0 ktory bude uz vediet 512 ? ;-))
Mam pocit ze ty programatori uz pomaly ani nevedia ako to funguje len lepia nove a nove funkcie na seba, a potom vidno ten rozdiel v narocnosti hier. pre niekoho ani 2 gigahert nieje dost a druhy z 500 mhz robi zazraky.
Vysvetleni te zahadne vetsi dynamiky barev je jednoduche: je to vetsi dynamika pro vypocty, kde nedochazi k orezavani hodnot pri brutalnich vypoctech. Normalizovany rozsah barvy je 0-1, ktery je ted mozne (docasne) bez problemu prekrocit (tzv. overbrighting). Extremni pripad: zvysim jas obrazku 100x, potom ho 100x snizim (v jedinem shaderu). Pri 32-bitech dostanu cernou obrazovku, pri 128-bitech ten puvodni obrazek...
U HDRI (High Definition Range Image) nejni dulezity kolik barev se tim zobrazi, ale to ze dokazi verne zachytit a ulozit svetelne podminky ve scene. Pouziva se to pro realisticke vypocty nasviceni scen a odrazu v takovych scenach. Proto se pouziva FP reprezentace a velky bitovy rozsah.
To mě teda někdo vysvětlete když mám v poči mých ubohých 32bitů barev, jak můžu vidět z uvedených obrázků ty rozdíly??? (pokud to vůbec JPEG umí)
Podle mě je mezi jednotlivými půlkami obrázků rozdíl v kontrastu či v nějakých těch cizích slovech jako Hue, Saturation atp. a skutečný rozdíl bude až tohohle radouše nacpu do poče a uvidim na vlastní bulvy :(
Protoze leva polovina obrazku je vykreslena pomoci GPU s 32-bitovou precizitou, zatimco prava cast je vypoctena pomoci 128-bitove FP barevne hloubky a prevedena na 128-bitove barvy. Takze obe pulky jsou ve formatu 8:8:8:8, ale jinak vypocteny.
No jeste abys rozdil mezi 24bit a 32bit poznal, kdyz jsou vlastne ve vysledku oba formaty pouze 8:8:8 ! Tech zbyvajicich 8 bitu v 32bit formatu je pro Alpha kanal a ten urcen pro pruhlednosti a na barevnou hloubku nema vliv. Jinak 256 barevne ( paletove ) textury jsou vlastne jeste kvalitnejsi nez 16bit, protoze cerpaji z palety 24bitu a tim padem muzes mit treba 256 odstinu modre, kdezto 16bit maji jen 32 odstinu ( format 1555 ) nebo 32 pro R a B a 64 pro G pri formatu 565.
Jeste bych chtel vsechny upozornit, ze tento clanek neni zamyslen jako reklama, ale chtel jsem vysvetlit, jak pracuji 128-bitove barvy a jejich vysledek na monitoru. Podobne to podali i na serveru THG, ktery si myslim je pomerne seriozni.
Jsem grafik a zodpovedne muzu rici, ze pouhym okem nepoznate, jestli je textura 24-bit nebo 32-bit..........a ve hre uz vubec ne, casto se pouzivaji i 256 a nikdo nic nepozna
Presne tak, 128-bitove barvy jsou dobre pri vypoctech. Je pravda, ze jsem neuvedl, ze pred vystupem na monitor se barvy downgraduji zpatky na format 10:10:10:2 nebo 8:8:8:8. Ale jak vidite, diky vypoctum je rozdil znatelny.
K pouziti JPG: dynamika tohoto obrazku je nizka, ale rozdil je dostatecne znatelny. Je to z duvodu webove grafiky, takze namisto nekolika-stokilobajtoveho BMP jsem pouzil i pro modemisty dostupny JPG. Jestli tam ten rozdil nevidite, tak nevim... (a navic JGP bylo pouzito i na THG)
Vysvetleni naleznete i vyse a doplnim to jeste do clanku. 128-bitova cisla jsou opravdu pouzita pouze pro vypocty a pak jsou barvy snizeny jen na 32-bitove. Ta koule je mozna oprvadu prehnana :-)
A co pri multitexturingu? Rekl bych, ze tam rozdil znatelny bude. Tezko rici, zda vyse uvedene obrazky nejsou spise reklamniho charakteru, ale rozdil je pomerne znatelny. Pri pohybu sceny (hry) ale priznavam, ze rozdilu prilis nepostrehnete.
Samozřejmě že rozdíl je patrný na první pohled, to je ostatně u reklamy dost podstatný požadavek. Chtěl jsem jen upozornit na to, že ten rozdíl není způsobený dynamikou barev použitých ve výsledku (levá i pravá část obrázku kóduje barvy osmibitově), jak se nám článek snaží namluvit, ale právě možná postupem výpočtu. Pokud tedy nejde vyloženě o podvrh.
V podstate souhlasim, doufejme, ze z nas ATi nedela blbce :-)
Já tomu věřím!!! Vždyť rozdíl je jasně patrný i na mém černobílém monitoru!!! ;o)
To je jednoduche - rika to uz Michy (a neni o tom ani slovo v clanku). Necetl jsem jeste ani originsal clanek z Toms hardware, ale tusim jak to bylo mysleno. Tech 128 bitu je pouzivano v prubehu vypoctu a nanaseni textur, pak je vysedna barva prevedena na klasickou 32 bit nebo 16bit hloubku. Duvof je ten, ze novejsi a novejsi technoligie zvysuji pocet textur na jednom povrchu - dnes se nanasi 2-4 textur, vyvyjene hry budou mit jeste vice. Spojovani vice textur si predstavte jako obycejne scitani cisel (RGB). A vzhleden k nutnosti zaokrouhlovat (normalni 32bit barvy jsou cela cisla) to pak ve vysledku uz nestaci u takoveho mnostvi textur(proste zaokrouhlovaci chyba zpusobuje poruchy v obraze). A to, ze bumpmapa nebude mit 8 bitu ale treba 16 je myslim zcela zrejme - je obrovsky rozdil, jestli mohou mit nerovnosti na povrchu teles pocet moznych hodnot 256 nebo 65535! (je to stejne jako u 8bit zvuku proti 16bit zvuku).
Ale stejne mi ten obrazek s kouli prijde marketingove prehnany (mylit se muzu, zas tak moc do toho nevidim)
128-bitové barvy reprezentované jako FP čísla mohou přinést jakýsi užitek v průběhu počítání scény, ale vlastní zobrazení se děje až po převodu zpět na celočíselnou reprezentaci, takže mluvit o nějaké zlepšené dynamice je naprosto zcestné. Navíc pokud vám někdo chce demonstrovat výrazné zlepšení kvality způsobené rozšířenou dynamikou barev a použije k tomu obrázek ve formátu JPG, jehož dynamika odpovídá právě 8 bitům, jedná se buď o zásadní neznalost věci nebo v horším případě o záměrné klamání hloupější části veřejnosti. V lepší společnosti je zvykem výrazně odlišovat reklamní články od těch seriózních, přimlouval bych se za to i na tomto webu.
Na svem pocitaci pouzivam rozliseni barev 16 bitu. Muze mi tedy nekdo vysvetlit, proc vidim na obrazku rozdil mezi 32 bitovym zobrazenim a 128 bitovym ? Neni to skutecne jen reklamni trik ?