TnL vs vertex shader

Všetko o grafických kartách, ich problémy, ovládače ...
Používateľov profilový obrázok
Rector
Nový používateľ
Nový používateľ
Príspevky: 191
Dátum registrácie: Ne 05. Jún, 2005, 20:00
Bydlisko: Orava

TnL vs vertex shader

Príspevok od používateľa Rector »

Zdravim pani.
Toto bude asi otazka najskor pre Crux-a, ale tak clovek nikdy nevie.
Pokial viem TnL jednotka bola hw implementovana uz v NV10. Vykonávala geometricke transformácie(rotation,skew,translation,scaling...) a výpočet osvetlenia na vertexoch. Asi o 2 roky neskor prisla NV20 s vertex a pixel shadermi. Co ma teda zaujíma je, aký je vlastne zásadný rozdiel medzi vertex shaderom a TnL pipeline?
Docital som sa, ze vertex shader je akurat programovatelny ,TnL nieje? Obidva vykonávaju operácie s polygonmi, transformácie bodov a vektorov(ked robia v zasade to iste naco mu je moznost programovania) + TnL počítala aj osvetlenie. Lenze teraz sa hadam per vertex lighting ani nepoužíva a používa sa per pixel lightning, ktoré už mal na starosti pixel shader(?) Cize mi z toho aj vychádza otázka, aký prínos mal vertex shader?
Sorry ak som nieco nespravne uviedol alebo poplietol a vopred dik za odbornu odpoved.
Deneb @ 3.4 || GA 970-DS3 || 8Gb Kingston 1600 || GA R9 270HD || Crucial BX100 250Gb + WD 500 Gb || Seasonic M12 II 520W || Dell U2412M || Fractal R4
Používateľov profilový obrázok
bassgenerator
Používateľ
Používateľ
Príspevky: 1502
Dátum registrácie: So 30. Aug, 2008, 08:28
Bydlisko: Banská Bystrica

Re: TnL vs vertex shader

Príspevok od používateľa bassgenerator »

ak by ta zaujimalo si o tom popisat, mozme kludne cez ss, nakolko sa tomu aj ja venujem.
zdroj: clanok z netu

Ako pracujú špičkové grafické karty

Grafické karty toho dnes zvládnu omnoho viac než len zobrazovať počítačové hry - GPU majú na starosti plynulé prehrávanie videa vo vysokom rozlíšení, vedia rýchlo počítať zložité matematické kalkulácie a dajú s nimi v reálnom čase vytvárať realistické 3D scény. Výkon súčasných generácií grafických kariet od nVidie i ATI, najmä AMD, je ohromujúci. Nový GPU od firmy nVidia nesie názov GT200 a môžeme ho nájsť v kartách s modelovým označením GeForce GTX260 a GeForce GTX280. V prípade ATI sú najvýkonnejšie grafické čipy pomenované RV770 a môžeme sa s nimi stretnúť v kartách Radeon HD4850 a Radeon HD4870.
Základy: Štruktúra grafickej karty
Moderná grafická karta sa v zásade skladá z piatich komponent: systémového rozhrania, grafickej pamäte, grafického procesoru (GPU), frame bufferu a RAMDAC (Random Access Memory Digital/Analog Converter) prevodníku. Systémové rozhranie je umiestnené najbližšie k základnej doske počítača a v súčasnej dobe sa najčastejšie jedná o PCI Express. Dáta prichádzajúce z počítača sú ukladané do grafickej pamäte, ktorá slúži aj ako pamäť pre ukladanie objektov a textúr a ktorá má v súčasnosti väčšinou kapacitu 256 až 1 024 MB. V pamäti uložené dáta následne putujú do grafického procesoru (GPU), ktorý vypočíta všetky pozície, pohyby a rozhrania objektov 3D scény a vytvorí z nich obraz.
Hotový obraz je ďalej predaný do frame bufferu, odkiaľ putuje do RAMDAC prevodníku. Ten prevádza všetky digitálne informácie do analógovej podoby, v ktorej ich spracuje analógový VGA monitor. RAMDAC taktiež ovláda digitálne výstupy DVI, HDMI či DisplayPort.
Grafická pipeline: Diaľnica pre obraz
Väčšina častí grafickej karty nehrá tak dôležitú rolu, skutočne dôležitý je iba základ, teda grafický čip GPU. Aby z hrubých dát, ktoré do grafiky smerujú z PC, vyšiel na výstupu obraz, je potreba vykonať radu zložitých operácií.
Grafická pipeline, teda cesta, kadiaľ po grafickej karte putujú dáta, je talmer identická pre všetky súčasné modely. Celý priebeh dát od načítania do grafickej pamäte cez spracovanie až po výstup z frame bufferu je nutné pre každý obrázok opakovať. Pre ilúziu plynulého a netrhaného obrazu potrebujeme, aby grafika vyprodukovala minimálne 25 obrázkov za sekundu. V prípade graficky náročných hier s radou efektov musí karta pre dosiahnutie skutočne realistického obrazu vyprodukovať cca 60 snímkou za sekundu. GPU má teda skutočne dosť práce.
Prvou zastávkou na púti po pipeline potom, čo sú dáta z rozhraní nahrané do GPU, je prípravný procesor (Setup Engine alebo Input Assembler), ktorý pred kalkuluje a prevádza dáta. Rozlíši dáta podľa typu, určí, či sa predstavujú vektory, obraz či kód programu, a spracuje hrubé dáta tak, aby sa dostali do správneho výpočtového modulu. Tu sa rozhoduje, či budú dáta poslané do vertex shaderu, geometrického shaderu, pixel shaderu alebo jednotky pre spracovanie textúr.
Každý trojrozmerný obraz sa skladá z množstva trojuholníkov (viz ilustrácia Grafická pipeline). Do vertex shaderů (vertexy sú vrcholy alebo rohové body polygónov) smerujú súradnice, ktoré v 3D modelu budú značiť rohové body trojuholníku, ich zarovnanie, merítko alebo aj skreslenie podľa uhlu pohľadu virtuálneho pozorovateľa. Predpokladaná viditeľná plocha sa nazýva „frustum", čo je vlastne komolý ihlan určujúci pohľadový objem. Keď je scéna hotová, prebehne kontrola, či bude objekt vôbec zobrazený (teda ši je z daného uhlu vidieť), či je správne umiestnený do frusta a či nie je úplne alebo čiastočne zakrytý inými objektami.
Neviditeľné časti obrazu sú zo scény odstránené, aby sa ušetril výpočtový výkon grafického procesoru, a aby sa zrýchlil výpočet viditeľných komponent. Tento proces sa nazýva „frustum culling", pohľadové orezávanie či „odstrel podľa telesa záberu". Pokiaľ sa objekt nachádza príliš ďaleko (teda za hranicou viditeľnosti), príliš blísko či za virtuálnym pozorovateľom, prebehne obdobný proces, ktorý sa nazýva „clipping" alebo tiež orezanie.
Poslednou úlohou vertex shaderu je nasvietenie scény. Pri tomto procese je 3D scéna osvetlená svetelnými zdrojmi umiestnenými niekde v miestnosti. Bez tohto kroku by 3D scéna bola úplne tmavá. Vertex shader dokáže objekty iba manipulovať, ale nevie vytvárať nové geometrické prvky, ako sú body, linky či trojuholníky. Za týmto účelom bol od novembra 2006 (ako súčasť DirectX 10) vytvorený geometrický shader, ktorý dokáže vytvárať nové geometrické formy, ako sú napríklad rastúce stromy. Po vytvorení 3D scény je teda zapnutý geometrický shader.
Ako náhle dostane požadovaný obraz podobu mriežkového modelu osvetleného svetelnými zdrojmi, je potrebné vytvoriť niečo ako fotografiu scény, ktorá má podobu dvojrozmerného obrazu, ktorý by sa mal výsledne zobraziť na monitore. Tomuto procesu sa hovorí screening alebo rendering. Všetky body trojrozmerného objektu, ktorý bol zatiaľ uložený vo vektorovej podobe, sú prevedené na pixely. Teraz bude nasledovať výpočtovo najnáročnejší krok - tieňovanie alebo tiež shading v jednotke nazývanej pixel shader. Ten vypočítava farbu, a ak je to potrebné, aj ďalšie atribúty, ako je priehľadnosť, odrazivosť či štruktúra každého pixelu.

V podstate je teraz obraz hotový a ostávajú len finálne úpravy - napríklad aplikácie rôznych filtrov pre zvýšenie realističnosti scény. Na 3D objekt sú nanesené textúry (teda kompletné bitmapy či obrázky). Tomuto kroku sa hovorí texture mapping. Týmto spôsobom sa dá ľahko vytvoriť fotorealistické obrázky, ktoré však postrádajú flexibilitu skutočných 3D objektov. Preto napríklad stromy vytvorené pomocou textúr vyzerajú skvelo pri pohľade z predu, ale pri pohľade z boku sú úplne ploché.
Anizotropické filtrovanie, ku ktorému dochádza taktiež v texturovacích jednotkách, má na starosti perspektívne skresľovanie textúr. Po tejto transformácií sa objekty zdajú ostré i pri pohľadu z diaľky.
Po dokončení mapovania textúr sa snímok posunie do ROP jednotky (Raster Operation Processor, u ATI nazývaný Element Render Back-End). Rasterizácia obrazu má za následok zhrubnutie jeho hrán. Tie sú prevedené do pixelov a objaví sa na nich akoby „schodový" efekt. Tento efekt môže odstrániť anti-aliasing, ktorý podobné problémové hrany vyhladzuje. Hotový obrázok je teraz uložený vo frame bufferu, kde pipeline grafickej karty končí.
GPU: Srdce grafickej karty
Architektúra nových GPU je maximálnym spôsobom určená rozhraním DirectX 10 (sada programovacích rozhraní pre tvorbu hier pod Windows Vista). Design jednotlivých čipov sa zatiaľ delil na aritmetické logické jednotky ALU (Aritmetic Logical Unit), ktoré pracujú ako pixel shadery alebo vertex shadery.
Rozhranie DirectX 10 prinieslo nový model práce so shadermi - tzv. unifikované shadery. V praxi to vypadá tak, že v rámci GPU môžu všetky ALU podľa momentálnych požiadavok pracovať ako pixel, vertex alebo geometrické shadery. ATI rovnako ako nVidia dnes vyrába takmer výhradne GPU určené pre rozhranie DirectX 10. S novými čipmi ide dosiahnuť omnoho vyššej efektivity unifikovaných shaderov. K správnemu roztriedeniu hrubých dát do voľných ALU slúži tzv. Thread Scheduler alebo plánovač výpočtových vláken. Ten analyzuje a paralelizuje dátové toky spracované Setup Enginem a priradzuje potrebné úlohy voľným ALU.
Rozdiel medzi grafickými procesory ATI a nVidia je v podstate daný ich vnútornou štruktúrou, a to hlavne čo sa týka architektúry unifikovaných shaderov, ktorým sa taktiež hovorí stream procesory (SP). nVidia ich na čip umiestnila 240 a firma ATI ich použila 800. Hlavný rozdiel je ale v tom, čo jednotlivé stream procesory zvládnu urobiť. SP nVidie sú jednorozmerné, dajú sa taktiež využiť v každom cykle ako skalárne jednotky (pre výpočet jednej z komponentných hodnôt - červená, zelená, modrá či alfa) a pracujú v každom cykle zároveň s MADD inštrukciami (Multiply Add, násobenie a sčítanie), rovnako ako s MUL inštrukciami (Multiply, násobenie), určenými pre ďalšie výpočty.
Stream procesory v čipoch ATI však dokážu v každom kroku previesť jen jednu MADD operáciu. Pokiaľ by sme chceli dosiahnuť porovnateľného výkonu sa stream procesory nVidie, museli by sme uvažovať o priradení piatich SP procesorov pre každú 5D vektorovú jednotku.
Grafický procesor nVidia GT2008
Čip GT200 je v súčasnosti vlajkovou loďou spoločnosti nVidia. nVidia chce samozrejmě disponovať najrýchlejším grafickým procesorom, ktorým práve GT200 momentálne je. Stretávame sa s ním v najvýkonnejších high-endových kartách nVidia.
Nové generácie GPU od ATI i nVidie sa skladajú z množstva komponent. Vo vnútri grafického čipu nájdeme hlavne unifikované shadery (stream procesory, SP). GPU GT200 od nVidie obsahuje celkom 240 streamovacích procesorov. Celkový počet je rozdelený do blokov po ôsmych SP a tri takéto bloky sú klastrované do výsledného Thread Processing Clusteru. Čip s touto architektúrou nemusí byť použitý iba pre grafické výpočty, ale aj pre paralelné výpočty.
Obaja oponenti neodlišujú iba schopnosti samostatných stream procesorov, ale líšia sa aj uskupením a rozložením jednotlivých častí čipu. ATI integruje do jedného shaderového jadra päť SP procesorov, čo v prípade 800 SP procesorov predstavuje 160 týchto jadier. Z 16 shaderových jadier sa pri modelovej rade ATI Radeon HD4800 skladá jedno SIMD jadro. SIMD je skratka z anglického názvu Single Instruction, Multiple Data. Jedno SIMD jadro dokáže vykonať rovnakú aritmetickú operáciu simultánne na väčšom množstve dát, ale nedokáže prevádzať odlišné úlohy. Každému SIMD jadru je priradených 16 KB miestnej pamäti pre rýchly prenos dát medzi jednotlivými stream procesormi. Súčasťou každého jadra sú ďalej
textúrové klastry skládajúce sa zo štyroch textúrových procesorov, dekompresnej a adresnej jednotky, samplera a filtrovacej jednotky a L1 cache pamäte pre okamžité uložení textúr. Jednotlivé jadra medzi sebou komunikujú prostredníctvom zbernice Data Request Bus, ktorej každá zaberá 16 KB celkovej cache pamäte. Naviac sú tu štyri bloky L2 cache, ktoré sú priamo spojené s hlavnou pamäťou a vymieňajú si dáta so SIMD jadrami prostredníctvom crossbar. Procesor UTDP (Ultra-Threaded Dispatch Processor) rozdeľuje dátové toky spracované Setup Enginem podľa náležitosti do vertexových, pixelových a geometrických programov a tak zaisťuje optimálnu výkonnosť aritmetických jednotiek.
nVidia rozdeľuje stream procesory v kartách rad GT-200 odlišným spôsobom. ALU sú zoskupené po ôsmych do tzv. streamovacích multiprocesorov (SM), ktoré disponujú rovnako ako v prípade ATI 16 KB cache. Z celkových 30 SM tvoria tri tzv. Texture Processing Cluster, teda časť dedikovanú pre spracovanie textúr, ku ktorej naviac patrí osem texturovacích jednotiek a L1 cache. Tieto klastry teda medzi sebou spolupracujú ako MIMD (Multiple Instructions, Multiple Data). Architektúra vo vnútri klastra je v prípade nVidie popisovaná ako SIMT (Single Instruction, Multiple Thread) a je to v podstate modifikácia SIMD, ktorú používa ATI.
Zaťal čo ATI si získala reputáciu ohľadne počtu stream procesorov, nVidia víťazi množstvom ROP procesorov (Raster Operation Processors). GT200 obsahuje 32 ROP jednotiek, zatiaľ čo GPU ATI RV770 ich ponúka iba 16. nVidia má náskok aj čo sa týka rozhrania pamäti a kapacity integrovanej hlavnej pamäte. 1 024 MB pamäte čipu GT200 je spojené s GPU prostredníctvom 512bitového rozhrania, zatiaľ čo ATI využíva spojenie široké iba 256 bitov a celková kapacita videopamäte dosahuje iba 512 MB. ATI využíva vo svojich kartách Radeon 4870 pamäť typu GDDR5, ktorá má prakticky dvojnásobnú priepustnosť (4 Gb/s namiesto 2 Gb/s ako u GDDR3) a iba štvrtinovú spotrebu v porovnaní s GDDR3, ktorej sa drží nVidia.
GPU: Vyšší výpočtový výkon než CPU
Oblasť 3D grafiky nie je jedinou vecou, nad ktorou obaja konkurenti premýšľajú. Princíp ALU jednotiek spolupracujúcich v rámci GPU vedie k silnému paralelnému výpočtovému výkonu, čo je veľký úspech. Grafické karty dokážu v určitých prípadoch (napríklad v prípadoch simulácií či finančných analýz) počítať až 150x rýchlejšie než CPU. Kľúčom k úspechu sú tu flexibilné, nezávisle programovateľné shadery moderných GPU, ktoré z nich robia „General Purpose GPU" (GP GPU, viacúčelové GPU).
Grafický procesor ATI RV770
Firma ATI má s procesorom RV770 veľké plány. Po niekoľkoročnej bitke má k dispozícii procesor, ktorý priláka od nVidie množstvo zákazníkov požadujúcich grafickú kartu strednej triedy s cenou od 3 500 do 7 000 Kč. Aj spoločnosť ATI pracuje na využití grafických kariet pre paralelné výpočty. S týmto zámerom vybavila procesor RV770 celkom 800 stream procesorov. Po päticiach tvoria tieto SP tzv. 5D vektorovou jednotku. 5D vektorové jednotky sú poskladané po dvojiciach. 16 takýchto dvojíc potom tvorí jedno SIMD jadro. Vďaka tejto architektúre dosiahne procesor ATI RV770 výkonu 1 200 GFLOPS, čo je o poznanie viac než 933 GFLOPS
nameraných pri procesore nVidia GT200.
Rozdiel vo výkone je v tomto prípade úžasný. GT200 dosahuje výkonu až 933 GFLOPS (FLOPS je skratka z anglického Floating Point Operation Per Second, teda výkon s operáciami v plávajúcej čiarke), RV770 však dosahuje výkonu takmer 1 200 GFLOPS. Pre porovnanie - štvorjadrový procesor Intel Core 2 Quad Q6600 v rovnakom teste vykazuje 21,4 GFLOPS, takže zďaleka nedosahuje výkonu GPU. Všetky programy však nejdú paralelizovať, takže CPU je v prípade každodenných aplikácií lepšou voľbou. Pravda ale je, že v prípade špecializovaných aplikácií, akými sú napríklad simulácie, je GPU omnoho rýchlejší než CPU.
Implementácia takýchto programov bola doposiaľ celkom zložitá. nVidia zaisťuje programovacie prostredie CUDA, ktoré pracuje s jazykmi C a C++. Vďaka nemu sa dajú pre GPU vyvíjať nástroje umožňujúce omnoho lepšiu paralelnosť spracovania dát. ATI pracuje s podobným projektom CTM (Close to the Metal), ktorý však neponúka také ovládacie pohodlie ako rozhranie C++.
Najväčšou nevýhodou GPU v porovnaní s CPU je to, že hodnoty s plávajúcou čiarkou dá sa počítať iba 32bitovo. Zložité kalkulácie veľkého množstva dát vyžadujú vyššiu presnosť a 64bitové spracovanie. ATI aj nVidia reagujú na tieto požiadavky úpravou súčasných GPU, ktoré im zaistia dvojnásobnú presnosť pri výpočtoch
s plávajúcou čiarkou. Vyzerá to, že výrobcovia klasických CPU budú mať možno dosť skoro nepríjemnú konkurenciu.
NB: Lenovo Thinkpad T570 win 10 pro x64
Mobil: Apple Iphone 13 pro Max gold 128 GB
Používateľov profilový obrázok
crux2005
VIP
VIP
Príspevky: 10030
Dátum registrácie: So 18. Jún, 2005, 20:00
Bydlisko: Nové Zámky

Re: TnL vs vertex shader

Príspevok od používateľa crux2005 »

nečítal som odpoveď od bassgenerator-a, takže sa možno budem opakovať...
okrem toho neviem, akú presnú odpoveď čakáš - skúsim to však trochu zjednodušiť:
Rector napísal:Pokial viem TnL jednotka bola hw implementovana uz v NV10. Vykonávala geometricke transformácie(rotation,skew,translation,scaling...) a výpočet osvetlenia na vertexoch. Asi o 2 roky neskor prisla NV20 s vertex a pixel shadermi. Co ma teda zaujíma je, aký je vlastne zásadný rozdiel medzi vertex shaderom a TnL pipeline? Docital som sa, ze vertex shader je akurat programovatelny ,TnL nieje?
Najzásadnejší rozdiel súvisí s DirectX. Zatiaľ čo NV10 bol DX7 compilant, podporoval NV20 už DX8 - teda "pixel a vertex shadery". (aj keď sú to stále ešte dosť jednoduché "shadery" http://www.pc.sk/modules.php?name=artic ... 682323&p=1" onclick="window.open(this.href);return false;, skutočne použiteľné sú až od DX9). Práve v tom je najväčší rozdiel medzi T&L a VS. VS je už shader, ktorým vieš manipulovať s geometriou scény. Jedná sa teda o programovateľnú T&L, ktorá dovoľuje vytvárať dynamickú geometriu a urýchlovať ju pomocou GPU. V programe beží iný program - teda shader: http://www.pretaktovanie.sk/phpBB3/view ... 32#p132532" onclick="window.open(this.href);return false;. (Už to nie je v podstate len násobenie matríc a výpočet sínusu ako s T.) Na rozdiel od toho dovolovala T&L "urýchlovať" len statickú geometriu - steblo trávy, ktoré sa nepohybuje = nedokáže "pracovať s geometriou". Okrem toho bolo T&L hype od nV, ktorá ho presadzovala ako "must have feature" ale v skutočnosti len občas priniesol pre malú flexibilnosť zrýchlenie a odbremenenie CPU. Iné čipy, ktoré nemali T&L jednotku mali v danej dobe oveľa lepšie features, ktoré nefungovali len občas a priniesli aj vizuálne vylepšenia.
Rector napísal:Obidva vykonávaju operácie s polygonmi, transformácie bodov a vektorov(ked robia v zasade to iste naco mu je moznost programovania) + TnL počítala aj osvetlenie. Lenze teraz sa hadam per vertex lighting ani nepoužíva a používa sa per pixel lightning, ktoré už mal na starosti pixel shader(?) Cize mi z toho aj vychádza otázka, aký prínos mal vertex shader?
V DX9 sa už príkazy pre VS a PS veľmi nelíšia - avšak zásadný rozdiel je v tom, že VS pracuje s vertices a PS s pixelmi. VS dokáže zmeniť preto geometriu a osvetlenie, ale nedokáže vytvoriť alebo odstrániť geometriu - preto vznikol Goemetry shader - GS, ktorý to už dokáže. Aby som sa vrátil k pôvodnej otázke - VS nahradzuje T&L a je potrebný lebo pripravuje scénu/geometriu pre PS. Napr. voda vo Far Cry je tvorená pomocou PS + VS @ DX9.

Keď máš naozaj veľa času a chuť, môžeš si prečítať najstarší, komplexný článok na Beyond3d o T&L: http://www.beyond3d.com/content/articles/40/" onclick="window.open(this.href);return false;
s pozdravom, crux.
Používateľov profilový obrázok
crux2005
VIP
VIP
Príspevky: 10030
Dátum registrácie: So 18. Jún, 2005, 20:00
Bydlisko: Nové Zámky

Re: TnL vs vertex shader

Príspevok od používateľa crux2005 »

bassgenerator napísal:ak by ta zaujimalo si o tom popisat, mozme kludne cez ss, nakolko sa tomu aj ja venujem.
zdroj: clanok z netu
naozaj si zodpovedal otázky Rector-a :rolleyes:
a link?
s pozdravom, crux.
Používateľov profilový obrázok
bassgenerator
Používateľ
Používateľ
Príspevky: 1502
Dátum registrácie: So 30. Aug, 2008, 08:28
Bydlisko: Banská Bystrica

Re: TnL vs vertex shader

Príspevok od používateľa bassgenerator »

este sa neozval :-) ale myslim si ze na to co som oznacil modrou, tak na to sa asi pytal i ked to asi nie je jednoznacne, ci sa dotycny pyta aku mal vlastne vyznam VS v minulosti alebo ako to myslel.
Inak to co pises je presne aj v tom clanku, ale diky za vycuc-sprehladnilo sa to.
NB: Lenovo Thinkpad T570 win 10 pro x64
Mobil: Apple Iphone 13 pro Max gold 128 GB
Používateľov profilový obrázok
crux2005
VIP
VIP
Príspevky: 10030
Dátum registrácie: So 18. Jún, 2005, 20:00
Bydlisko: Nové Zámky

Re: TnL vs vertex shader

Príspevok od používateľa crux2005 »

a čítať, use brain atď vieš? keď to je v tom článku, prečo si to sem neskopíroval, ale namiesto toho dlhý text, ktorý je skoro celý OT?
áno, PRESNE to isté je v tom článku, čo som ja napísal... nechceš ma ešte obviniť, že som to skopíroval?
chcem ODKAZ na ten článok čo si sem napokopíroval, kapiše? :rolleyes:
s pozdravom, crux.
Používateľov profilový obrázok
bassgenerator
Používateľ
Používateľ
Príspevky: 1502
Dátum registrácie: So 30. Aug, 2008, 08:28
Bydlisko: Banská Bystrica

Re: TnL vs vertex shader

Príspevok od používateľa bassgenerator »

ten link sa neda sem upnut je to pdf. a nezistil som ako to prilepit. inak by som to sem dal.
NB: Lenovo Thinkpad T570 win 10 pro x64
Mobil: Apple Iphone 13 pro Max gold 128 GB
Používateľov profilový obrázok
crux2005
VIP
VIP
Príspevky: 10030
Dátum registrácie: So 18. Jún, 2005, 20:00
Bydlisko: Nové Zámky

Re: TnL vs vertex shader

Príspevok od používateľa crux2005 »

našiel som ho pomocou google:
http://wh.cs.vsb.cz/mil051/images/6/67/ ... lebek).pdf všetko maximálne zjednodušené - ďakujem, neprosím...
celé si to sem skopíroval a kde je tam prosím pekne to isté čo som ja napísal?
bassgenerator napísal:nak to co pises je presne aj v tom clanku, ale diky za vycuc-sprehladnilo sa to.
nie, nie je...
s pozdravom, crux.
Používateľov profilový obrázok
bassgenerator
Používateľ
Používateľ
Príspevky: 1502
Dátum registrácie: So 30. Aug, 2008, 08:28
Bydlisko: Banská Bystrica

Re: TnL vs vertex shader

Príspevok od používateľa bassgenerator »

skoda ze som sa aj ozval. evidentne potrebujes rypat, tak dakujem s takymi ako ty ja nic radsej docinenia, prijemny den ti prajem.
NB: Lenovo Thinkpad T570 win 10 pro x64
Mobil: Apple Iphone 13 pro Max gold 128 GB
Používateľov profilový obrázok
Rector
Nový používateľ
Nový používateľ
Príspevky: 191
Dátum registrácie: Ne 05. Jún, 2005, 20:00
Bydlisko: Orava

Re: TnL vs vertex shader

Príspevok od používateľa Rector »

Bassgenerator podobnych clankov mam precitanych plno, tvoj tiez. Ale diki za ochotu.
Crux: super toto som potreboval vediet. Aby bolo jasne o co mi ide. Robim maticove nasobenie v matlabe cez GPU a tak trocha rozoberam GPGPU a ako k tomu doslo. Prechod TnL z CPU na GPU bolo podla mna dost vyznamne, co sa tyka uz prvych naznakov toho co GPU dokaze a bude schopne neskor dokazat. Cize velmi efektivne pracuje s maticami. Preto som chcel vediet, ze aky je zasadny rozdiel medzi TnL a VS hlavne co sa tyka matematickych operacii a hlavne efektivity s nimi(skladanie transformacii, cize maticove nasobenie) Ked mam v praci uviest ako dalsi vyvojovy krok prechod z TnL na VS, chcel som vediet ci to ma az taky vyznam z hladiska vykonu pri mat. nasobeni a ci to ma vobec vyznam uvadzat.
No este mam par dotazov:)
Práve v tom je najväčší rozdiel medzi T&L a VS. VS je už shader, ktorým vieš manipulovať s geometriou scény. Jedná sa teda o programovateľnú T&L, ktorá dovoľuje vytvárať dynamickú geometriu a urýchlovať ju pomocou GPU. V programe beží iný program - teda shader (Už to nie je v podstate len násobenie matríc a výpočet sínusu ako s T.) Na rozdiel od toho dovolovala T&L "urýchlovať" len statickú geometriu - steblo trávy, ktoré sa nepohybuje = nedokáže "pracovať s geometriou". Okrem toho bolo T&L hype od nV, ktorá ho presadzovala ako "must have feature" ale v skutočnosti len občas priniesol pre malú flexibilnosť zrýchlenie a odbremenenie CPU. Iné čipy, ktoré nemali T&L jednotku mali v danej dobe oveľa lepšie features, ktoré nefungovali len občas a priniesli aj vizuálne vylepšenia.
No, takto. Dynamická a statická geometria. Však práve 3dmark 2001 bol postavený na využití TnL, preto tam aj 3Dfx a VSA100 zaostávali,nie? V deme mother nature bola vo vetre pohybujúca sa tráva atd, ako to bolo počítane alebo to bežalo cez CPU? Lebo mne príde pohybujúci sa objekt ako viac framov nasledujúcich za sebou v čase a ked zoberiem jednu snimku ako 2D obraz, tak mi trocha uniká podstata pojmu dynamická geometria, chapeš?
Deneb @ 3.4 || GA 970-DS3 || 8Gb Kingston 1600 || GA R9 270HD || Crucial BX100 250Gb + WD 500 Gb || Seasonic M12 II 520W || Dell U2412M || Fractal R4
Používateľov profilový obrázok
crux2005
VIP
VIP
Príspevky: 10030
Dátum registrácie: So 18. Jún, 2005, 20:00
Bydlisko: Nové Zámky

Re: TnL vs vertex shader

Príspevok od používateľa crux2005 »

Rector napísal:No, takto. Dynamická a statická geometria. Však práve 3dmark 2001 bol postavený na využití TnL, preto tam aj 3Dfx a VSA100 zaostávali,nie? V deme mother nature bola vo vetre pohybujúca sa tráva atd, ako to bolo počítane alebo to bežalo cez CPU?
áno, preto VSA100 zaostávali v 3DM 2000
čo sa týka pohybujúcich sa listov a pod. v mother teste @ 3DM01- ich geometria je statická, nemení sa - všimi si to. Sú to ako keby textúry určitého tvaru, ktoré sa pohybujú z ľava do prava a to všetky na danom strome. Ich geometria je vždy rovnaká, nemení sa - je statická, aj z iných uhlov a pod. T&L/DX7 napr. nepodporuje Displacement Mapping atď ...
Okrem toho prišla SE verzia 3DM01, ktorá už využívala DX8, PS 1.4: http://www.futuremark.com/pressroom/pre ... ses/20394/" onclick="window.open(this.href);return false;

čo sa týka tvojich výpočtov, tie sa dajú veľmi dobre urýchlovať aj pomocou T&L, preto mali napr. profesionálne grafiky už oveľa skôr takúto jednotku. VS a DX ti ale určite zvýši možnosti - flexibilnosť pri práci a pod.
s pozdravom, crux.

Návrat na "Grafické karty"