0:00:16dobře tak já vás všechny zdravím
0:00:22já přicházím s tématem tak je to jo jenže jinak
0:00:25a cože
0:00:27je pravor identic renderovací architektura
0:00:31nejdřív pár slov o kontextu
0:00:34nebo
0:00:34tak já se zabývá počítačovou grafiku a zobrazováním
0:00:38od základní školy jakoby já bych se chtěl zeptat ať víme jakým způsobem mluvit kolik
0:00:44z vás třeba
0:00:45někdy vyrenderovalo trojúhelník opengl nebo něco podobného
0:00:50a kolik nás je skoro není většina
0:00:52jo takže já budu jakoby předpokládat že máte
0:00:59jakoby povědomí o tom na
0:01:02počítačové grafice
0:01:04a
0:01:06a jak je
0:01:08proč nějaký nový je dva cizí
0:01:12v že máme tolik některé komerční některé open
0:01:15já jsem sem začala odpovím na entou pyrimidinová firma se výkon graphic jsem v devadesátých
0:01:21letech
0:01:22pak sme používali o konci graf to že taky opensource vznikl kolem roku dva tisíce
0:01:26jedna
0:01:28a
0:01:29ale
0:01:32řekněme že už je to hodně nazpátek a architektura počítačů ji a hlavně grafický akcelerátor
0:01:37se velmi proces měnila
0:01:40my stále já spolupracuje s firmou kantory kteří zobrazují takovéhle modely použili tom blbě naskenované
0:01:48ale asi s tím a
0:01:51nic neudělám
0:01:53verzovat bojím toho dotknout a _e
0:01:56a
0:01:57řekněme
0:01:59tam ke doma neteklo jakoby problémy že
0:02:03zákazníci
0:02:05vytváří různé modely
0:02:08roste jejich složitost a oni se nějak jako příliš neohlížej na to že to počítačová
0:02:12nějaký jako limity
0:02:14a požadují jednak aby
0:02:19vše bylo naprosto dnes artefakty
0:02:23jako tady vidíte že prostě nám jaky přesností no nestačí tady na ně nějak z
0:02:28nějaké hry ty stíny prostě soupis tečkované analyzovali další auta artefaktů které vznikají viníky ze
0:02:33bufferu
0:02:34a jiným věcem a snažíme se s tím bojovat prostě protože základní tenhle nezajímá nějaké
0:02:40omezení
0:02:41proč se perfektní obraz na modelu
0:02:43který se prostě vymodeloval
0:02:45a
0:02:47takže snažíme se stat nějakým ale těžko stem čelit
0:02:52a poslední je z nich byl problém tady s tímhle modelem který neni tak krásny
0:02:57a _e zákazník toho noři jiným účelem a zjistil tam osumdesát tisíc krychli oni vůbec
0:03:04se konkrétní lidé rádi to dobrý s krychlí
0:03:07a
0:03:09prostě je to příliš náročné a
0:03:12knihovny jakou prosím graf a tu střídavé a podobně když tam jeden nezvládají
0:03:19a pokud se mně zeptáte proč
0:03:21nepoužíváme například unit
0:03:25kdy ty přijde a
0:03:27ten tým moderní a milion nebo pink it
0:03:31my nemůžeme protože
0:03:35to ještě to na míru té prohry kde prostě na design je to hledal a
0:03:40jestli že tam máte nějaký problém vysílání
0:03:42tak předně za jmenujete prostě level tak aby to vypadalo dobře
0:03:46jako typicky tam vznikají různé artefakty hlavní když máte východ slunce a jsou tam slovo
0:03:51spadal oni ten stín jako je to hrozně škaredé
0:03:55vezme to vyřešené nebo jeden
0:03:57můj student takže tam dělo prostě položí a tím pádem slunce vychází až že hodně
0:04:02vysoko
0:04:03no na trenér nicméně tohle si naši zákazníci
0:04:10tak nějak jako o to moc nestojí jo taková to řešení
0:04:13takže
0:04:16takže my potřebujeme mít přístup jako bych těma znaků a mít možnost modifikovat o pravítko
0:04:22speciálně pro sto my dva dny trénovací postupy
0:04:26když má uživatel speciální přání a podobně
0:04:30takže proto potřebu z ho pozvali opensource
0:04:34věc orientovanou na dnešní gpu architektury
0:04:39kdyby to tak jako by přiblížil
0:04:42tak a klasické
0:04:45například i oplácím graf používali architekturu
0:04:49jak je tady naznačená
0:04:51máme celkem očko a není máme syn graf
0:04:55jo scény
0:04:56kde uložena celá ta scéna samozřejmě na g broučku sou tak studiové broučka nicméně celá
0:05:02scéna je prokázané každým snímkem a posílány příkazy doubek _e broučka
0:05:07který pak to jako veliký výpočetní stroj zpracuje vyrobí na
0:05:11výsledný obrázek na vozovku
0:05:13nicméně a
0:05:15dnešních jednička
0:05:17přeruš podobají velmi toho co klasickým tohoto soudu nebo
0:05:20o psovi velmi mnoho stihla schopnosti
0:05:24řekněme
0:05:26a sou schopny to s cenou ideální kdyby vůbec nemuseli komunikovat s procesor procesory pouze
0:05:32řekl zobraz
0:05:34zobrazí mi scénu a on měl všechny na to už dispozici a čistě si pracoval
0:05:39sám nezávisle
0:05:41nad se doučovat můžete řešit
0:05:43síť
0:05:44umělou inteligenci abdejt objektů a tyhle věci
0:05:49a teploučko se to překlopit data vyplivne výsledek na obrazovku
0:05:56takže tolik jakoby teorie kam jakoby míříme věříme že jo konci nebo podobné technologie se
0:06:03snaží to mohla přibližovat
0:06:04ale řekněme díky zpětné kompatibilitě a podobně
0:06:08jim to bude ještě chvíli trvat
0:06:12a vzhledem tak jediný problém na které jsme s nimi měli když jsme potřebovali doplnit
0:06:17nějaké technologie do těhle knihoven
0:06:20tak se to ukázalo časově neefektivní takže sme
0:06:23založili vlastní
0:06:25vlastní engine který dneska
0:06:28vám tady prezentuju
0:06:34eště jednou tomu problému výkonnosti ať nemluvíme no teoreticky
0:06:38tady ten model s nechtěli zobrazit tady
0:06:41a ono psovi osumdesát tisíc krychli jak jsem říkal dělat osmdesát tisíc drog all u
0:06:47jakých volání s přes opengl to zadání příkazu
0:06:52a zobrazujeme to třikrát protože řešíme a jistiny a každý
0:06:56ste každý užila mashe dovolím svoje
0:07:00abychom neměli artefakty shadow mappingu
0:07:03a navíc se nám podařilo vyvinout echo
0:07:07řekněme přístupy které jsou podobně výkonné nebo někdy výkonnější jakž ano mapy
0:07:13a my sme si že za pět člověk o roku sme vyvinuli technologii která je
0:07:18řekněme
0:07:20na svět naprosto na světové úrovni a nikdy si myslím že sme nejrychlejší na světě
0:07:24ale dobře možná si trochu fandím _e
0:07:27a takže tři krát osobu zobrazuje ne aby se tam dostali stíny cože čtu roční
0:07:34čtvrt milionu
0:07:36velkou a
0:07:38pokud změřil jsem je dlouho trvat rok ona and idejích dneska poslední
0:07:43na
0:07:46ostrově ne paskal generace
0:07:49a je to zhruba sto nanosekund
0:07:52šedesát je za drog o čtyrycet na přepnutí bufferu
0:07:56a takže máme třeba někdy stane no se kód když to vynásobíme čtvrt milionem a
0:08:00šedesáti f ps
0:08:02získáme jeden a půl sekundy
0:08:05tedy nedostaneme šedesát _e stavem asi čtyřicet
0:08:09prostě dostane se na hranice
0:08:12výpočetní možnosti
0:08:16dnešní klasické zobrazovací architektury
0:08:20takže mu a stručně řečeno výkonnost máme zhruba šedesát tisíc
0:08:25šedesát tisíc do roku na prim
0:08:28a
0:08:30šedesát tisíc krychli
0:08:32pokud se pokud se posuneme
0:08:35do herního světa který možná většina z vás bude zajímat více
0:08:40tak jo přimontujeme auto dáme mu čtyři kola k a stojan nějakým tady je takže
0:08:46máme dohromady šest rukou chceme zobrazit deset tisíc aut
0:08:50protože si můžeme město nebo vytváříme simulaci nějaké bity a máme deset tisíc různých
0:08:59bohnicích vozidel
0:09:01tak
0:09:04jsme schopni zobrazí těchto deset tisíc aut ale
0:09:08náš cíl by byl někde jinde
0:09:10takže nechtěli zobrazit
0:09:13třeba ještě trochu více navíc tam zobrazí částicové taky a podobně
0:09:17a my mu před tebou by byla výkonnost a zhruba desetkrát větší
0:09:22a teoreticky
0:09:25teoreticky tam se opravdu dostáváme
0:09:29provedl jsem opět nějaké měření a možná že víte že rychlost vykreslování jedna dva jedna
0:09:37sekunda
0:09:39pokud o ničem malý a to je teoretická propustnost na zobrazení rychlá potřebujeme dvanáct takže
0:09:46pro deset sekund když to spočítáte kolik je teda pěkný zobrazit tak její zhruba šest
0:09:52set tisíc
0:09:54a na šedesát šest a třech my se s tím a má
0:09:59takže
0:10:00je to opravdu výkonu zhruba desetkrát větší než kolik jsme schopni za starou architekturou
0:10:07a
0:10:10můžeme sebrat a jak teda výkonnosti dosáhlo opravdu se na dnešních různých jako diskuzi kolem
0:10:16opengl objevují jestliže na ten na evoluční výhoda jako _e
0:10:22a tímto způsobem bylo dilema jo oni měl štyři tři o co některé externí ženy
0:10:29další se objevují postupně časem a ještě stále některé čekáme až by
0:10:35nejsou byli ve standartu pravidlo měl udělat čtyři šest pokud do té doby
0:10:41řekněme dvou kam nebude příliš velkou konkurencí
0:10:46a
0:10:48takže
0:10:49takže co nám nabízí tady ty metody
0:10:53no ne na nového hrdinu
0:10:57o hraju nabízejí na metodu nepřímého renderování místo toho aby zavolali šedesát tisíc krát nějaký
0:11:05blok o tak si myslíme šedesáticí na to direct na to
0:11:11ten záznam vypadá to byl nějakej chtěli vědět co to nějakej indexy nováků
0:11:17slušně řečeno
0:11:18a
0:11:19vše co pak uděláme jediný bylo o závěr tady na postupně provede tady celý tento
0:11:26na from
0:11:28všechny ty příkazy
0:11:29takže při třech vacek se dostáváme na nějaké přijdou o ji tak zjednodušeně
0:11:34a
0:11:36teď jedinej zádrhel
0:11:38je jak dlouho nám teda provádění tady tenhle
0:11:41bufferu jako to je jedno z poučení které sem se naučil vnucovat že ho používám
0:11:48jestli ženě používáte nějaký přístup ne vězte že je to automaticky rychle spal nezmladil lišily
0:11:56jestli jsou rychlé ale že takhle mnoho let když se to podařilo efektivně implementovat
0:12:03a křemíku
0:12:05a jedna dva tri
0:12:08radšis je změřit asistentem že to deset sekund na ní
0:12:13to show proměnná která době trvání jedné rychlé
0:12:17co šlo šlehání dobře se dostane kam chceme ale taková zajímavost
0:12:23udělat se podobné měření na daný najednou
0:12:28podporují to já nevím master regenerace snad odhlásil
0:12:32nebo možná ani pryč a ale i na poslední generaci to trvá ty si čtyři
0:12:38sta na úseku
0:12:39tedy řekněme sto čtyřicet krát déle a tím pádem je to naprosto nepoužitelný
0:12:44jako doby
0:12:46uvedeno na houbách jestli to neudělali náhodou software nějakým způsobem takže před ním
0:12:53veš použijete nějakou technologii je vhodné si to ověřit například
0:12:59polynomy teďka říkal že dokonce i wireless textury jsou poněkud se dá se pomalejší než
0:13:05klasické prostory
0:13:06radši vám neřeknu číslo
0:13:09příprava ověřené šest nevím eště
0:13:15takže je vhodné
0:13:19spočítat si dopředu jestli to jesli
0:13:24je svoje se dostane mezi cenou při by zájem
0:13:29našich
0:13:30engine nula trénovacích struktury
0:13:33takže to by bylo
0:13:38hardwerove no tak nebo výkonnostní mu
0:13:41přístupu který používáme
0:13:43a teď k samotnému návrhu našeho
0:13:46našeho většinou
0:13:48jakýsi odborný ju
0:13:50máme nějaký stoličky pro geometry který obsahuje vertex je trojúhelníky všechno
0:13:56a máme také
0:13:59matice
0:14:00na který chceme virem dva tyto objekty
0:14:04obojí zkombinuje dohromady von nějakým
0:14:07do indirect bufferu který spojuje geometrii sladit sem a
0:14:13už asi tuší takže tím pádem můžeme velmi efektivně využívat instance radary
0:14:18a
0:14:19poté vše v naprostém bufferu
0:14:22výhody
0:14:23minimum trochou
0:14:26automatickým stránce rendering také se nám automaticky dochází k nějakému state co pingu když se
0:14:33minim minimalizuje přepínání nastavení a
0:14:37přepínání samův pokud žel pipeline je jenom taková sranda třeba při potěšení nulová stojí řádově
0:14:44dvě mikrosekundy
0:14:46cože hodně za tu dobu byste vyrvali dva tisíce trojúhelníku
0:14:50takže je dobré minimalizovat přepínání stavu
0:14:54von koji a taky a máme
0:14:58zneutralizuje plot přímo na ně broučku ve s
0:15:02výpočtu na c brouček před louček
0:15:05a divisibility tady
0:15:10tak tě tolik nějaký přehled abych ke konkrétním _e architektuře
0:15:18řekněme
0:15:19taky
0:15:22čtverečky nebo krabičky představují jednotlivé třídy nebo
0:15:26víceméně základní
0:15:28bloky které tam pracují
0:15:31a
0:15:32řekl bych souzen takové tři základní bloky které sem a jsou to děleny barevně jednak
0:15:39zde máme jako john metry repozitory
0:15:42to zastupují tady tyhle tři ve tři třídy a pak jsme provedli
0:15:48odlišný přístup
0:15:51oproti ostatním a ostatním knihovna
0:15:55které používají jeden graf se ne
0:15:57vezme
0:15:59rozdělili na dva
0:16:01protože na grafice na potřeba je pro nás výhodné zpracovávat transformace zvlášť
0:16:07a stavijou brečel zvlášť
0:16:10to je matce broučku je to snadné protože tam vy můžete dědičnosti nějaké třídy každá
0:16:14s obslouží po svém
0:16:16ale na grafice je ideál že to oddělené takže sme pak to provedli a je
0:16:22to lůžko efektivně zpracuje na transformace graf transformací a zvlášť zpracovává přepínání stavů šedinů a
0:16:30podobně
0:16:32a
0:16:33takže tolik a tolik tomu
0:16:40a abych nemluvil nějak si teoreticky řekněme na další pěti slajdech uvedu jenom příklad jak
0:16:48se zobrazuje jednoduchý model funguje formátu řekněme nechová tak rychle
0:16:53s o textu romana a jakým způsobem jí dostaneme do našich relacích struktur
0:17:01řeknu dopředu design je šitý na to abychom optimálně
0:17:06vytvořili data najděte účku
0:17:09a myslim na ty data
0:17:12a tím pádem
0:17:15řekněme
0:17:17ne ukážu v a jediný příkaz tedy zadal cílem
0:17:21a na čestné na všechno a je to hotovo ukážu vám jak se vytváří jednotlivé
0:17:25struktury ale řekněme jenom zběžně jak se s tím zase příliš nezdržel na takže máme
0:17:31nějaké souřadnice tak slováci souřadnice normály a chceme vykreslit nějakým ukončil příkazem
0:17:38mořidlo indirect
0:17:41s prvé řadě potřebujeme vybrat a trip stojíš a ty co že za buzení ve
0:17:47broučka podle formátů podle toho kolik za tech zbav vede o
0:17:54ve brouček používané a podobně
0:17:58to že
0:18:01a bez nestíhali já možná ten koho to jenom se no
0:18:05vybereme si nějaký ty řekneme že tak slováci sou lidi sou vrstva mám souřadnice sobec
0:18:11tři požádáme o takovýchto
0:18:16úložiště
0:18:20pak vzal zavoláme jaký a okna ta řekneme si kolik chceme vertexu tím se tam
0:18:26zablokuje prostor tam taky nahrajeme data a pak
0:18:31a provozujeme tyhle data
0:18:34takže máme tam geometry krychle
0:18:38potom musíme vytvořit
0:18:43tak a teďka kódujeme ukončila příkazy to primitiv storage _e a pak musíme vytvořit stanice
0:18:52cože řekněme pracovně texturu a šejdrem který to renderuje
0:18:58vytvoříme
0:19:00a
0:19:03vše s spojíme vtom a control komando
0:19:08který vytvoříme ze dvou zapře věcí je nepotřebujeme vejš
0:19:15a patrik s a state set
0:19:17co to tři indexy dodat která sou žena legie ledničku a tento
0:19:24tento dokument tak prochází komp jo čili které a vyrazili
0:19:30nebo řekněme přesun imidže dojde bufferu a pak je ten druhý
0:19:33a já trošičku zrychluje abysme stihli časově
0:19:38vyrenderování scény pak provedeme jenom zavoláním frame
0:19:43a předtím tam a posuzujeme novou matici kamery
0:19:46takže takového přibližně funguje ve gram
0:19:50pozadí funkce frame je skryto výpočet transformačních matic
0:19:57řekni
0:20:00které je potřeba spočítáme ke grebeníčkovi spočítali pochopitelně mnohem rychleji než na
0:20:05cep jedničku
0:20:07je to zároveň i s to matematicky instrukcí násobení dvou matic takže pochopitelně spočítat stonat
0:20:12je broučku je velmi
0:20:14vhodnější
0:20:16a rychlejší tři osmdesáti tisíci matic semice broučku poněkud započala
0:20:21a
0:20:25a není to už vhodné po vás pro velké scény pak provedeme nějaký aby jste
0:20:29jsem tu rozpustíme komp večera na závěr
0:20:33šel všechno jedna
0:20:35a
0:20:38dostáváme se trošku k závěru
0:20:45jo
0:20:46přispět š od konce
0:20:53sem tady zaseklo jo výborně
0:20:55video zablokovalo tlačítka
0:20:58a
0:21:00dostáváme se k závěru abysme měli prostor na dotazy
0:21:04když to když to zrno představil jsem vám ve velké rychlosti jakousi renderovací architekturu které
0:21:11na g p účku orientovaná pro co nejrychlejší vyrenderování a obchází co nejvíce veškeré závislosti
0:21:20na to se perou
0:21:22datech a když datech nebo výpočtech
0:21:25a mimo to samozřejmě našetřila psovi další částí za zapouzdření opengl za po nějaké jakých
0:21:32oken aut jelita podobně
0:21:35brzy tam budou a jistý ty stínové algoritmy které momentálně připravujeme pro
0:21:44jaký komici dost těch to je pro většinu
0:21:49výhody je to opensource
0:21:52je to
0:21:56přejmenování se neobjevují skoro žádné artefakty o poslední který víme sou přes noc ze bufferu
0:22:01kterou stěží odstraníme pokud
0:22:05pokud se mi používat ze buffer a
0:22:10jinak
0:22:12takže
0:22:13velmi efektivně my používáme na ty různé modely
0:22:18a zavede či slajd
0:22:24řekl bych
0:22:27pokud byste měli zájem o nějakou spolupráci je problém že ne k dispozici je volně
0:22:33na internetu a jsou svoloč
0:22:36uvítáme jak ji spolupráci na jednu nějaký další vodou například fyziky na gpu nebo
0:22:45pokud
0:22:45byste chtěli to použito nějaké ty projekty
0:22:49tutoriály uvítáme
0:22:52klidně nám dejte vědět ráda budeme rádi věděli o tom že to
0:22:57někdo používá nebo nám třeba nabídne
0:23:00nějaký modul který by kterýmu tam chybí a rád vyvine takže velmi otevření co se
0:23:05týká spolupráce na nějakých open technologiích
0:23:10taky sme otevřený spolupráci s firmami a když to budete používat komerční nějakých
0:23:16svět projektech nebo v rámci fitu
0:23:21s tím jsme schopni nějako smluvního výstupního a s smluvního vývoje
0:23:29na závěr bych řekl pokud byste chtěli měl nějaké hry budeme velmi rádi pokud nám
0:23:36o tom
0:23:37dáte vědět a
0:23:41velmi rádi naváže nějakou spolupráci
0:23:44takže prostor vaše dotazy
0:23:53ano
0:23:57tato hodnota
0:23:59a to je dobrá otázka
0:24:02a
0:24:04počítáme zmínil bych asi dvě věci
0:24:07jednak
0:24:09připadá mi že vulkány takový jako trošičku začátku
0:24:13do docela popularizován a technologie a řekněme její nelze na to že eště není z
0:24:19peněz
0:24:20stabilní ve všech ohledech
0:24:22a speciálně miliarda jedenáct ne se zlobili
0:24:25a čekám na ještě ve větru vychytané proto to není vhodné netlačí zákazníkům
0:24:31druhá věc
0:24:35dvojka
0:24:39jo to opengl
0:24:42pokud používáme obličej a efektivně jsme schopni aplikaci hynou rychleji než vendulka tam jste na
0:24:48nejnižší úrovni ženíte si veškeré přenosy a je to mnohem víc práce a
0:24:55takže zatím zůstáváme neublížil
0:24:58a čekáme až se
0:25:00tabulkám tak nějak jako usadí a
0:25:04a pak paní i rádi použijeme