Hlavní stránka Hardware Grafické karty Technika 3D: Pixel shadery i pro běžné uživatele
Technika 3D: Pixel shadery i pro běžné uživatele
autor: Vrtal David , publikováno 28.4.2003
Technika 3D: Pixel shadery i pro běžné uživatele
Úkolem tohoto článku je osvětlit pojem pixel shader i běžným uživatelům, kteří nemají žádné znalosti z oblasti grafických karet. V článku je obsažena sada příkladů doplněná obrázky, která by měla tento pojem dostatečně vysvětlit. P.S. Článek obsahuje i popis několika příkladů. {mospagebreak title=Úvod}

Obsah minulého článku, který jsem publikoval na PCtuningu nebyl zvolen zrovna nejvhodněji. Podle reakcí čtenářů byl článek málo vysvětlující a objevilo se v něm jen velmi málo nejasných příkladů, které by pojem pixel shader osvětlily i bežnému uživateli. Protože PCtuning je server, který se nezaměřuje jen na čtenáře, kteří jsou více ci méně pokročilí v hardwarové problematice, ale je určen i bežným uživatelům, rozhodl jsem se tuto problematiku znovu otevřít. Berte tedy tento článek jako jakýsi předstupeň k článku předchozímu. Článek je určen predevším těm méně 3D-hardwarově zdatným čtenářum, kteří by se také rádi něco málo o problematice týkající se grafických karet dozvěděli.

Poznámka: V první části se podíváme na to, co vlastně pixel shader je, v dalších (už komentovaných) příkladech si ukážeme, co takový pixel shader dovede v praxi.

Tolik na úvod a nyní se již podíváme na vlastní problematiku pixel shaderů. Napřed se ale podíváme na příklad scény, která je renderována použitím pixel shaderů. Na scéně je prezentováno vytvoření přirozených světelných efektů.

  Technika 3D: Pixel shadery i pro běžné uživatele

Příklad scény renderované s použitím pixel shaderů

Pixel shader je podobně jako vertex shader plně programovatelná jednotka, která je součástí architektury jádra grafické karty. Jejím hlavním úkolem je provádět matematické operace s takzvanými pixely. Z literatury jsem si vypůjčil fundovanou definici toho, co je přesně pixel shader. Zde je tato přesná definice:

Pixel shader je malý program, který zpracovává pixely a vykonává se v GPU - Graphics Processing Unit.

Bližší pohled na pixel shadery

Tolik k definici. Nevím jak moc je tato definice pochopitelná a proto si pojďme k tomuto tématu říci něco bližšího. Jak asi víte, jakákoliv renderovaná trojrozměrná scéna se skládá z takzvaných pixelů. V moderních trojrozměrných hrách se setkáváme s objekty, které jsou tvořeny z těchto základních stavebních prvků. Čím větší počet pixelů objekt obsahuje, tím větší je jeho detailnost. Bohužel se vzrůstajícím počtem pixelů roste také náročnost na hardwarové vybavení počítače, na kterém je hra provozována.

Abychom mohli takovéto náročné scény vytvářet, potřebujeme nástroj, který nám umožní provádět s pixely předem definované operace a na základě výsledků těchto operací vyrenderovat požadovanou scénu. No a tímto nástrojem je právě pixel shader. Pokud si předchozí definici, kterou jsem přebral z literatury trochu upravím, mohla by nakonec znít asi takto:

Pixel shader je součást grafické karty, která slouží k provádění transformačních operací se základními stavebními jednotkami každé trojrozměrné scény, takzvanými pixely.

Nyní bychom si měli vysvětlit jak souvisejí již představené vertex shadery s právě popisovanými pixel shadery. Pro tento účel nám poslouží následující obrázek pipeline grafické karty:

Poznámka: Nijak se tohoto schématu nelekejte a nenechte se jím odradit od dalšího čtení. Schéma jsem na toto místo vložil proto, že se mi bude hodit v následujícím výkladu.

  Technika 3D: Pixel shadery i pro běžné uživatele

Pokud se na toto schéma podíváte trochu podrobněji a budete postupovat od shora dolů, všimnete si, že na pipeline se nachází nejprve vertex shader a teprve poté pixel shader. Toto je účel, proč jsem schéma na toto místo vložil. Je důležité si uvědomit, že pixel shader se vždy nachází až za vertex shaderem. Z toho vyplývá, že ve většině případů potřebuje pixel shader ke své korektní funkci data zpracovaná vertex shaderem. Na oživení výkladu přikládám ilustrační obrázek. Je na něm vidět scéna vyrenderovaná pomocí pixel shaderů. Tato scéna demonstruje možnost dosažení realistických efektů. Zobrazované ovoce se přibližuje skutečnosti s dostatečnou přesností a výsledná scéna je téměř fotorealistická.

  Technika 3D: Pixel shadery i pro běžné uživatele

Realistická scéna renderovaná pomocí pixel shaderů

Pixel shader operuje s jednotlivými pixely, jež se skládají z jednotlivých vertexů. Na základě informací o jednotlivých vertexech provádí transformační operace s celým pixelem. V mnoha případech se dá mluvit o tom, že pixel shadery jsou řízeny pomocí vertex shaderů. Například při výpočtu takzvaného per-pixel lightning, což je případ osvětlení jednotlivých pixelů, potřebuje pixel shader znát orientaci jednotlivých vertexů, orientaci světelného vektoru a v mnoha případech i orientaci vektoru pohledu. No a právě informace o jednotlivých vertexech mu dodá vertex shader. V následujících dvou kapitolách následuje sada příkladů, která by vám měla ozřejmit pojem pixel shader ještě o něco lépe.

{mospagebreak title=První sada příkladů}

V předchozích dvou kapitolách jsme si snad dostatečně přesně vysvětlil co je to vlastně pixel shader. Účelem této části je předvést vám na několika komentovaných příkladech co vlastně takový pixel shader dovede.

První příklad je scéna renderovaná s použitím pixel shaderů integrovaných v grafické kartě Matrox Parhelia. Scéna předvádí obrovské možnosti pixel shaderů pro renderování trojrozměrných scén, které zobrazují okamžiky z reálného života. Scéna zobrazuje mořské ryby v jejich přirozeném prostředí. Na rybě, která se nachází v popředí scény jsou dobře vidět realistické světelné efekty. Dále je zde vidět velice pěkně vymodelovaný model kusu skály, na kterém jsou vidět jednak světelné efekty a také hra stínu. Tento typ efektů je velice dobře použitelný v jakémkoliv typu her. Umožňuje vytvářet realistické virtuální světy do kterých se potom budou umisťovat postavy a objekty, jež ve hře figurují.

  Technika 3D: Pixel shadery i pro běžné uživatele
Podmořská scéna renderovaná pomocí pixel shaderů

Druhý příklad -pro tento příklad jsem si opět vypůjčil obrázek vygenerovaný pomocí pixel shaderů obsažených v grafické kartě Matrox Parhelia. Na schématu pipeline grafické karty, které jsem uváděl v kapitole II, vidíte její jednotlivé části. Většina novějších grafických karet však nemá takovouto pipeline pouze jednu, ale má jich několik. Následující obrázek uvádí příklad, kdy by jsme nevystačili pouze s jednou pipeline. Je na něm zobrazena mořská ryba, jejíž realistický povrch je vytvořen spojením informací vytvořených jednotlivými pipeline. V následujícím seznamu jsou vysvětleny jednotlivé aplikované efekty:

  • Normal -normální povrch

  • Caustic -povrch s leptaným efektem

  • Decal -povrch s obtiskovýn efektem

  • Specular -povrch se zrcadlovým efektem

  • Quad-textured rendering -renderování scény s použitím kombinace čtyřech různých textur

  Technika 3D: Pixel shadery i pro běžné uživatele
Scéna renderovaná spojením čtyřech druhů textur

{mospagebreak title=Druhá sada příkladů}

Tato kapitola přinese další sadu příkladů objasňující další možnosti pixel shaderů.

Třetí příklad -tento příklad nám představí další sadu světelných efektů, které lze použít na různé povrchy. Je zde použita sada tří obrázků sportovního auta na které jsou aplikovány různé efekty vytvořené použitím pixel shaderů. První dva obrázky ukazují model na který byly aplikovány efekty využívající odraz a lom světla.

  Technika 3D: Pixel shadery i pro běžné uživatele

Ukázka modelu auta z boku

 

  Technika 3D: Pixel shadery i pro běžné uživatele

Ukázka modelu auta zepředu

Poslední obrázek ukazuje spojení třech různých povrchů, jejichž vzájemným překrytím je dosaženo realistického povrchu karosérie automobilu. Druhy použitých povrchů jsou uvedeny v následujícím seznamu:

  • Two tone paint -povrch s přechodem vytvořeným dvěma barevnými odstíny. Jedná se o obrázek umístěný v levém horním rohu.

  • Sparkless -nejiskřící povrch. Jedná se o obrázek umístění v pravém horním rohu.

  • Glass -skleněný povrch. Jedná se o povrch umístěný v levém dolním rohu.

  • Final -finální povrch vytvořený kombinací předchozích třech povrchů. Jedná se o obrázek umístěný v pravém dolním rohu.


  Technika 3D: Pixel shadery i pro běžné uživatele

Kombinace třech povrchů pro dosažení finální efektu

Čtvrtý příklad -v tomto příkladu použijeme pro demonstraci technologické demo od Nvidie, které ukazuje tři druhy efektů dosažitelných použitím pixel shaderů. Všechny tři typy efektů budou demonstrovány na modelu chameleona. Jedná se o velice hezký model reálného zvířete, který se kvalitou svého zobrazení přibližuje realitě. První obrázek nám představuje efekt nazvaný odraz světla. Vidíte, že v tomto případě povrch těla chameleona kontrastně vystupuje vůči pozadí.

  Technika 3D: Pixel shadery i pro běžné uživatele

Efekt nazvaný odraz světla aplikovaný na model chameleona


Druhý obrázek představuje efekt nazvaný lom světla. V tomto případě je povrch těla chameleona téměř neviditelný a živočich téměř splývá se svým okolím.

  Technika 3D: Pixel shadery i pro běžné uživatele

Efekt nazvaný lom světla aplikovaný na model chameleona

Na posledním obrázku je předveden efekt stínu. V tomto případě je chameleon velice kontrastní vůči svému pozadí.

  Technika 3D: Pixel shadery i pro běžné uživatele

Efekt nazvaný stín aplikovaný na model chameleona

Na této sadě obrázků jsme si názorně předvedli, že pixel shadery se dají použít nejen pro zobrazení různých scén s technickými zařízeními, ale že je možno pomocí nich vytvářet i scény zobrazující působivé přírodní scenérie, se kterými se v našem okolí často setkáváme. Tím uzavírám tyto dvě kapitoly věnované demonstračním příkladům. V následující kapitole se souhrně podíváme na výčet jednotlivých možností pixel shaderů.

{mospagebreak title=Závěrečné zhodnocení}

Jak již bylo několikrát zmíněno v předchozím textu, hlavní oblastí použití pixel shaderů je tvorba světelných efektů. Aplikace a použití světelných efektů při renderování trojrozměrných scén jste si mohli prohlédnout v kapitolách číslo III a IV. Z příkladů je doufám dostatečně patrné, že se dá použitím těchto efektů dosáhnout opravdu realistických scén. Kvalita efektů se v mnoha případech blíží kvalitě fotorealistické.

Hlavní oblastí použití scvětelných efektů jsou především moderní 3D hry. Zde jsou pomocí těchto efektů vytvářena realistická herní prostředí a realistické objekty, které se v těchto prostředích nacházejí. Tím se výrazně zvyšuje kvalita grafické stránky hry a je nám umožněno lépe se ponořit do prezentovaného děje.

Druhou oblastí ve které se s výhodou používají pixel shadery je práce se stíny. Rovněž aplikaci stínových efektů jste si měli možnost prohlédnout v kapitolách III a IV. Jejich použitím se scény stávající ještě více realistické. Pokud zvolíme v jakékoliv hře vhodnou kombinaci světla a stínu, dostáváme scény blížící se reálnému světu.

Poslední výhoda pixel shaderů má dost podstatnou spojitost s celkovým výkonem vaší počítačové sestavy při hraní her. Pokud by grafické karty neměly vestavěnou hardwarovou podporu pixel shaderů, veškeré výpočetní operace spojené s transformováním scén by byly prováděny vaším procesorem. Tento stav by při kvalitě grafiky, která je v dnešních hrách používána, byl výkonově neúnosný. Docházelo by k enormnímu zatěžování procesoru a ke znatelnému snižování výkonu při hraní hry. Proto se zabudováním hardwarové podpory pixel shaderů do jádra grafické karty přenesly tyto operace právě na toto grafické jádro. Tím se výrazně snížilo zatížení procesoru a dosáhlo se tím lepšího výkonu celé sestavy.

Tím bych asi tuto část našeho seriálu o technologiích použitých v grafických kartách ukončil. Doufám, že jsem článek napsal dostatečně srozumitelně i pro běžné uživatele. Dále také doufám, že článek podává sdělované informace přijatelnou formou. Nejdříve jsem chtěl dát do článku podrobný výpis jednotlivých možností pixel shaderů, ale nakonec jsem od toho upustil. Vysvětlení těchto efektů by vydalo na další samostatný článek a pokud bych uvedl jen jejich výčet, nic moc by vám to neřeklo. Na tyto možnosti se podíváme v některém z následujících dílů.

 
Komentáře k článku
RSS
Pouze registrovaní uživatelé mohou přidat komentář!
28.4.2003 10:21:45   0.0.0.xxx 10
Je mi lito, ale musim autora vyzvat, at uz na tuto tematiku nikdy nic nepise, protoze vsechny clanky o shaderech jsou strasne. Ani ne tim, ze by malo vysvetlovaly, ale predevsim obrovskym mnozstvim faktickych chyb. Pokud nekdo necemu nerozumi, tak at o tom proboha nepise. Jen tento clanek obsahuje tolik nesmyslu a dezinformaci, ze se mi z toho chce zvracet...
28.4.2003 10:28:24   0.0.0.xxx 00
No, ja jsem z toho clanku taky moc nepochopil, jak presne pixel shadery pracuji. Jsem rad ze se ozval odbornik a byl bych rad, kdyby nam xR napsal neco malo o faktickych chybach a nesmyslech, kterymi se podle nej clanek hemzi. Prosim, rozsir me obzory a upresni svou kritiku.
28.4.2003 11:10:08   0.0.0.xxx 00
mně to teda hlavně vůbec nebaví číst. Hlavně už žádné články o PS. Vždyť je plno jiných novinek v oblasti HW.
28.4.2003 11:22:57   0.0.0.xxx 00
ty mas neco proti amatersky okomentovanym stazenym obrazkum na deseti stranach? se divim se divim :-DDD

tys to zVrtal autore. pls stop this neverending serie
28.4.2003 11:46:03   0.0.0.xxx 00
Je videt, ze autor clanku se snazil, nevim kolik mu je, ale rek bych ze maximalne 15 let. Slohovky mu asi moc nesli, za to natahovat text o jednom a tomtez na 4 stranky mu jde bravurne. Obrazky jsou pekne, mozna by se spis hodily do nejake show. Predesli clanek byl zas moc technicky a nebyl videt zadny vysledek. Chtelo by to trochu vybalancovat. Treba treti pokus mi konecne rekne, jak ty pixel shadery vlastne funguji.
28.4.2003 13:55:30   0.0.0.xxx 00
Pixel shader operuje s jednotlivými pixely, jež se skládají z jednotlivých vertexů.

Mozno sa mylim, ale toto je pravdepodobne nezmysel :-)) Som nevedel, ze pixely sa skladaju z vertexov. Dalej na obrazkoch auta je sklo rovnake pri kazdom efekte... To znamena, ze ked sa auto otaca, tak pravdepodobne tam ostanu tie "odrazy" bez zmeny(kedze realne odrazy by mal zaobstarat iba ten glass efekt), nemylim sa?
28.4.2003 13:57:28   0.0.0.xxx 00
Na toho prvnoho chameleona je aplikovanej obycejnej cubemaping :-) takovy demo bylo i ke GF2 a chodi i an GF256 ;-)
28.4.2003 14:40:45   0.0.0.xxx 10
No, pokusim se ukazat alespon ty nejvetsi perly:

1."Jak asi víte, jakákoliv renderovaná trojrozměrná scéna se skládá z takzvaných pixelů."
-Pixel je zkratka z "picture element" a je to jeden bod 2D obrazu a s 3D to nema nic spolecneho a rozhodne se z nich neskladaji objekty
-Pixel je vysledna barva vypoctu v konkretnim miste obrazu. Objekty se tedy z nich muzou "skladat" leda az na obrazovce.
-Objekty se skladaji z vrcholu (vertexu), pripadne voxelu

2."Pixel shader operuje s jednotlivými pixely, jež se skládají z jednotlivých vertexů"
-Naprosty nesmysl, pixel se z zadnych vertexu (cesky vrcholu) nesklada

3."Následující obrázek uvádí příklad, kdy by jsme nevystačili pouze s jednou pipeline"
-Pocet pipelines nema s vyslednym obrazem nic spolecneho, jde pouze o rychlost. Kazda pipeline je stejna a pracuje s jinym pixelem.

4."Normal -normální povrch"
-Zadny normalni povrch, ale normalova textura (normala je kolmice na povrch), ktera urcuje jemne deformace.

5."Pokud by grafické karty neměly vestavěnou hardwarovou podporu pixel shaderů, veškeré výpočetní operace spojené s transformováním scén by byly prováděny vaším procesorem"
-Pokud graficka karta nepodporuje pixel shadery, zadny procesor je nemuze emulovat v realnem case.
-Jedina moznost je kompletni sofwarovy rendering (rychlosti ~30s/frame)
-CPU muze delat transformace, ale pouze s vrcholy. Tedy muze nahradit Vertex shader.
-Slovo transformace se v souvislosti s pixely nepouziva.
28.4.2003 14:40:50   0.0.0.xxx 00
... ale, podla mna to bude asi takto. Mame 3D model skladajuci sa s vrchlov (vertexov) a nan sa nanasaju textury. Pokial chcem hybat s vrcholmi tohto telesa mozem to urobit pomocou CPU, alebo vertex shadera v karte. Takze pokial mam scenu kde sa trebars vlni povrch telesa, tak je to zrovna vhodne pre vertex shader (jednoducho matematicky popisatelna funkcia), pokial vertex shader nemam v karte a pokial tuto funkciu neurobi procesor, tak dostanem staticky povrch telesa bez zmeny. Toto teleso by malo byt vytvorene z hustesieho poctu vrchlov aby bol vysledny efekt co najvierohodnejsi, pretoze vertex shader naozaj presuva body v priestore (na rozdiel od pixel shadera ten vacsinou len opticky klame). Na takto upraveny model nanasame textury upravene pomocou bud CPU, alebo pixel shadera. Podla mna na nanesenie viacerych textur nie je potrebny pixel shader, ale aby karta podporovala multitexturing. Takze cele by som to zhrnul na priklade s tym kaprom, ci co to je. Kapor sa pohybuje vo vode po urcitej drahe toto zabezpecuje CPU. Kapor dycha, boky sa mu zdvihaju, ziabre a usta sa otvaraju. Tieto opakujuce sa pohyby robi vertex shader. Takze tu je koniec rozmiestnovania bodov, a teraz textury. Textura v ktorej je nakresleny povrch kapra, supiny, oci, plutvy, sa nemeni takze ta zostava aka je. Textura v ktorej su odlesky svetla a je tvorena nakreslenymi oblastami kde sa kapor leskne a kde nie, sa meni trebars podla hlbky kapra, takze ju priebezne upraveje pixel shader a meni jas tejto textury v zavislosti na hlbke, alebo trebars ci je za skalou kde nesvieti svetlo. Este by som tam dal jednu texturu svetlosti kapra. Tato textura (obrazok) by vlastne vyzerala ako nejaka cierno-biela vrstevnicova mapa. No a tieto vrstevnice by sme v tomto obrazku vlnili pomocou pixel shedera, takze na kaprovi by to vyzeralo ako ked dopada svetlo na kapra cez vlniacu sa vodnu hladinu. Ked mame vsetky textury hotove, tak ich zratame a nanesieme (skreslime) ich do 3d modelu kapra. Takze operacie ktore robia pixel shadere, su vacsinou zalozene na nejaom klame. Nejde sa tu na real, ale na vysledny efekt a ten moze mat od reality daleko, co si clevek pri prvom pohlade ale nemusi vsimnut. Napriklad odlesk v guli, moze byt robeni roznymi sposobmi. Na gulu sa nanasaju staticke textury farby, odlesku atd, a tieto sa rotuju podla toho z ktorej strany sa na gulu v 3d scene divame. Takze ked ku guli trebars v hre pride nejaky dalsi objekt, v odlesku ho neuvidime. Lepsi sposob existuje pomocou pixel shadera. Neviem momentalne presne ako funguje, ale mohol by trebars tak, ze pixel shader pouzije nejaky vyratany screen z predchadzajuceho obrazku, upravi ho, vysekne z neho urcitu cast a tento vysledny obrazok sa skresli pomocou texturovacich jednotiek na tvar gule. Takze vidime v odraze vsetko co je v scene, aj ked nepresne, ale v podstate bez nutnosti spravit nejake vypocty. Neviem ci je toto vsetko spravne je to len moj osobny dojem, ale viem urcite ze autor clanku je uplne mimo, ked nevie povedat jednoduchu vec, ze vertex shadre dodatocne pohybuju vrcholmi telesa a ze pixel shadre dodatocene upravuju textury, ktore sa na tieto telesa nanesu. Nic viac nic menej.
28.4.2003 15:52:56   0.0.0.xxx 00
Co se tyce Vertex vs Pixel shader, tak mas v zasade pravdu. Pixel shadery krome jineho provadeji i multitexturing (existuje totiz mnoho zpusobu jak dat dohromady vic textur). Samozrejme, bez PS multitexturing funguje take, ale mas jen nekolik preddefinovanych "blending modes". Jinak, odrazy se delaji tak, ze se pixel shader (ale opet to nemusi delat pouze PS) podiva do cube-mapy (6 textur usporadanych do krychle), ktera je jiz predpocitana (cube-mapping mela jiz GeForce 256), a pote tuto hodnotu podle pouziteho osvetlovaciho modelu zapocita k barve povrchu.
Ta textura s lesklosti se nazyva "Gloss map" a neni menena pixel shaderem. Ten meni pouze hodnotu ziskanou z teto textury.
28.4.2003 16:49:28   0.0.0.xxx 00
Konečne názor odborníka, hned som to pochopil. Ale inak autorovi odporúčam nech radšej prestúpi na inú problematiku...........Chováni prasat :-D
28.4.2003 18:08:02   0.0.0.xxx 00
ten clovek nema vobec talent na pisanie clankov a uz vobec nie odbornych (ved tomu vobec nerozumie), ale zoto nemusi byt zly!!! Ako partak v krcme by mohol byt super (-:
28.4.2003 19:10:02   0.0.0.xxx 00
Vidim ze vam sa nelubil, ale mne ano. Necakal som navod ako napisat quake4 a clanok (seria) upresnila o com shadery su. Ked ste vsetci tak salamounsky mudri prosim odkazy na lepsie vysvetlenie problematiky pre laikov .... ;)
28.4.2003 19:13:48   0.0.0.xxx 00
Skutecne je to hrozny i jako slohovka- ten clanek je natahlej jak stara guma od trenyrek. Nejvic me dorazil posledni odstavec. Me prece nezajima co autor puvodne chtel nebo nechtel do clanku napsat, me zajima vysledek! Nakonec bych dodal, ze k tomu aby byl clanek srozumitelnej v to nestaci jen DOUFAT, ale vic se snazit. Ale to je ted uz asi zbytecny, pac tech nekolik dobrych prispevku to tu jiz vse osvetlilo - v kostce, jednoduse, srozumitelne, bez zbytecnyho okecavani.
29.4.2003 00:59:52   0.0.0.xxx 00
Jeste bych doplnil, ze caustic neni zadny leptany povrch, taky sila hehe, ale nejak me v tuhle dobu nenapada dost strucne a jasne vysvetleni - treba nekdo doplni za me
29.4.2003 01:07:25   0.0.0.xxx 00
Ha, spasny napad, hodim sem link, bohuzel v anglictine... ze ale nejde o zadnou ziravinu to objasni kazdemu

treba tady
http://www.3drender.com/light/caustics.html
nebo treba tady
http://www.robinwood.com/Catalog/Technical/TipsPages/Caustics.html
29.4.2003 06:22:07   0.0.0.xxx 00
V OpenGL chodi emulace PixelShaderu docela rychle nekdy
29.4.2003 08:26:35   0.0.0.xxx 00
Diky xR za odpoved. K tvemu vyctu nesmyslu asi neni co dodat, jen me napada, ze priste musim podobne clanecky cist pomaleji, pozorneji a vic u nich premyslet ;-)
29.4.2003 09:38:11   0.0.0.xxx 00
Parada. 1000x lepsi nez kdejakej sesmolenej "profi" clanek. Jednoduse,strucne,vystizne. Mel by se suchazet o misto redaktora na PCTuning.
29.4.2003 09:40:03   0.0.0.xxx 00
.. je v tom, že vyvolal reakci v příspěvcích. Až z těch jsem pochopil o čem je řeč.
Třeba to tak autor zamýšlel.. :-)
29.4.2003 09:52:23   0.0.0.xxx 00
Je sice hezke, ze ti to clanek ozrejmil, ale ono je to jaxi uplne spatne ;-)
29.4.2003 11:19:28   0.0.0.xxx 00
Když se vám nelíbí, jak autor píše, tak napište vlastní článek o dané problematice ! A uvidíme, který bude lepší...
29.4.2003 12:21:21   0.0.0.xxx 00
Já si myslim, že si staci precist tuto diskusi o tom nic nerikajicim clanku a vsem je vse jasne, at autor udela CTRL+C a CTRL+V z diskuse a nahradi s nim puvodni clanek. Do teto problematiky moc nevidim, ale nektere vety me teda prastily do oci, a zacalo mi byt jasne, ze jsou to nejake blbiny, tato diskuse mi doplnila dalsi mezery :-).
29.4.2003 12:36:54   0.0.0.xxx 00
Oceňuji snahu napsat zjednodušený článek pro běžné lidi, kteří se rádi dozví něco nového, ale po přeřtení diskuze to vypadá, že autor netuší, která bije.
Některé příspěvky v diskuzi toho říkají mnohem více než celý článek a to nemluvím o tom, že opravují chyby. Někdy jsem rád, že tomu opravdu nerozumím ...
29.4.2003 14:05:31   0.0.0.xxx 00
Clanek nestoji za moc, to je pravda. Na tvem miste bych se vyhnul hodnoceni slohu. Ten totiz s pravopisem trochu souvisi.
29.4.2003 17:51:34   0.0.0.xxx 00
Co je to "docela rychle" ? OpenGL zadnou emulaci PS nabizet nemuze, protoze v OpenGL PixelShadery nejsou :-). Mozna ma neco ATI jako extenzi, ale neni to zadny standard. Obdobou PS v OpenGL je FragmentShader (nVidia ma take svoji verzi) a ten jde emulovat, pokud si to zapnes v driverech. Rychlost na Athlonu XP 2000+ je ale v radech desitek sekund/frame. A neni se cemu divit. Kdyby to bylo rychle, nebylo by potreba nadupanych GPU :-)
29.4.2003 21:40:09   0.0.0.xxx 00
Cilem clanku nebylo nas seznamit z technologii PIXEL shaderu, ale rozpoutat diskuzi, kde se seznamime s technologii PIXEL SHADER !!

jsem fakt dobry, ze jsem na to prisel

rimmer
29.4.2003 21:46:45   0.0.0.xxx 00
Uz jsem se chystal na podobny prispevek (nevim jestli bych na tak malem prostoru podal info jako ty), ale clanek toho radoby odbornika na pixel shadery me fakt rozzuril.
Je to strasliva nezodpovednost psat takove dezinformace na Zive. Je to o to strasnejsi kdyz je o teto problematice tak malo clanku v cestine. Kazdy zacatecnik po tomhle ceskem clanku skoci jak slepice po flusu a zacne svoje vedomosti budovat na spatnem zakladu.

Jeste jednou diky za tvou vseobjasnujici reakci a doufam ze i zacatecnici pochopi jak se veci ve skutecnosti maji.
30.4.2003 11:58:58   0.0.0.xxx 00
Je to tak, jeste dodejme, ze rozpoutal i diskuzi na tema vecne korektnosti a slohove stranky. Mno uvidime jak bude autor psat o jinych vecech, tohle asi nebude tak uplne jeho parketa
30.4.2003 17:53:12   0.0.0.xxx 00
Lol, to nema byt glass ale gloss :-) ako lesklost povrchu, v tej casti, sa definuje lesklost povrchu toho auta :-), poprosim autora nech viac cita a nezavadza spekulaciami :-)
1.5.2003 11:05:39   0.0.0.xxx 00
Tento clanek jiste obsahuje nekolik vecnych chyb (treba to s tema pixelama a vertexama), ale z druhe strany...
Ten kdo tomu nerozumi vezme za vdek podanym vysvetlenim, protoze je pomerne spravne (a i kdyby nebylo, tak prevzaty obrazky postupu vykreslovani sceny sou presny urcite). Odbornikum to vadit taky nemusi, protoze ti vedi, jak to je a nejaky chybicky si muzou domyslet (3D grafici vedi...)
I pres chyby, ktery tento clanek obsahuje ho musim pochvalit, protoze ostatni HW servery sou tak maximalne schopny napsat "podporuje Pixel Shader" - tam autor uz ocividne vi kulovy o tom, co to vubec je.
A k jinymu ohlasu, ze by mel autor radsi psat o jinych novinkach - libi se mi, ze se nekdo POKUSIL neco takovyho napsat, protoze nejak nemam rad, kdyz se na 6 server po sobe dozvim zarucene nejcerstvejsi informaci o uvedeni Athlon XP 3000+. K cemu je mi to cist 6x ???
Moc lidi nema odvahu psat "vysvetlujici" clanky - je to mnohem tezsi nez psat obycejny suchy zpravy. A i pres mnoho chyb se musi snahat ocenit.
Takze jen tak dal, ale bez chyb!

1.5.2003 16:05:12   0.0.0.xxx 00
Záleží, jak se na to člověk dívá.
Pravopisné chyby, o kterých se tady někteří rozepisují, jsou v odborných článích detaily, kterým se dá spíš zasmát, než je kritizovat.
Taky mi nevadí, že jsou články příliš pro amatéry nebo naopak příliš pro odborníky, ale ať jsou na jekékoli úrovni, nesmí být s chybnými nebo zavádějícími informacemi.
7.5.2003 17:51:38   0.0.0.xxx 00
Podle me je zcestny ukazovat obrazky a pod ne napsat vytvoreno za pouziti pixelshaderu. To pak vypada, jako ze nic jinyho neni ani potreba. Lepsi by bylo jak u krabice ATI ukazat obrazek bez pixel shaderu a s PS. Jinak nejak se me nezda, ze PS dela praci se svetlem, myslel sem ze na to je tam T&L jednotka, pokud ne, reknete nekdo prosim k cemu tam ta jednotka je.
10.5.2003 13:08:09   0.0.0.xxx 00
Cube Map nemusí a v dnešních hrách už snad proboha ani není předpočítaná. Do všech 6 stěn se vyrenderuje "svět" a teprve potom se vyrenderuje, to, co vidíme na monitoru právě s použitím té cube-mapy, která se vyrenderovala. Tak je právě možné udělat odrazy i hýbajících se objektů, takže se pak odráží doopravdy reálný svět a nejenom nějaký před-renderovaný náznak (viz. třeba starší NFS, tuším, že HP2 už možnost renderingu cube map v real-timu má).
Jediná nevýhoda je: celkem drtivý dopad na výkon i když samozřejmě záleží na složitosti scény a potom se taky nemusí renderovat každičký detail, že. Obzvlášť, když cube mapy jsou většinou něco jako 6x256x256 nebo při nejlepším 6x512x512.
10.5.2003 13:13:28   0.0.0.xxx 00
Jo, to máš pravdu. O nasvěcování se doopravdy stará TnL nebo dnes teda už spíš nějaký ten vertex shader. Ta ze všech světel a jejich vlastností a materiálu konkrétního objektu spočítá výslednou barvu. (tj. nějaké číslo).
Otázkou je, zda a jak jí pak právě pixel shader použije. On jí totiž může s klidem ignorovat a plácnout tam texturu, která bude na nějakém světle nezávislá. Nebo to mezi sebou může vynásobit (diffuse lighting), sečíst (specular lighing) atp. Záleží jen na tvůrcích.
Snad jsem ti to trochu objasnil.

Redakce si vyhrazuje právo odstranit neslušné a nevhodné příspěvky. Případné vyhrady na diskuze(zavináč)pctuning.cz

0 čtenářů navrhlo autorovi prémii: 0Kč Prémie tohoto článku jsou již uzavřené, děkujeme za váš zájem.
Tento web používá k poskytování služeb soubory cookie.