Návrhář shaderů

Tento dokument popisuje, jak pracovat s Návrhářem shaderu sady Visual Studio k vytváření, úpravám a exportu vlastních vizuálních efektů, které se označují jako shadery.

Pomocí Návrháře shaderu můžete vytvořit vlastní vizuální efekty pro hru nebo aplikaci, i když neznáte programování ve shaderu vysoké úrovně (HLSL). Pokud chcete vytvořit shader v Návrháři shaderů, rozložíte ho jako graf. To znamená, že přidáte do uzlů návrhu povrchu, které představují data a operace, a pak mezi nimi vytvoříte propojení, abyste definovali, jak operace zpracovávají data. V každém uzlu operace je k dispozici náhled efektu až do tohoto bodu, abyste mohli vizualizovat jeho výsledek. Data procházejí uzly směrem k poslednímu uzlu, který představuje výstup shaderu.

Podporované formáty

Návrhář shaderů podporuje tyto formáty shaderu:

Název formátu Přípona souboru Podporované operace (zobrazení, úpravy, export)
Jazyk shaderu řízených grafů .dgsl Zobrazení, úpravy
HLSL Shader (zdrojový kód) .Hlsl Export
Shader HLSL (bajtové kódy) .Cso Export
Hlavička jazyka C++ (pole bajtového kódu HLSL) .H Export

Začínáme

Tato část popisuje, jak přidat shader DGSL do projektu Visual Studio C++ a poskytuje základní informace, které vám pomůžou začít.

Poznámka:

Automatická integrace grafických položek, jako jsou grafy shaderu (soubory .dgsl), je podporována pouze pro projekty C++.

Přidání shaderu DGSL do projektu

  1. Ujistěte se, že máte nainstalovanou požadovanou komponentu sady Visual Studio, kterou potřebujete pro práci s grafikou. Komponenta se nazývá Editory obrázků a 3D modelů.

    Pokud ho chcete nainstalovat, otevřete Instalační program pro Visual Studio tak, že v řádku nabídek vyberete Nástroje Získat nástroje>a funkce a pak vyberete kartu Jednotlivé součásti. V kategorii Hry a grafika vyberte komponentu Editory modelů Obrázek a 3D a pak vyberte Upravit.

    Image and 3D model editors component

  2. V Průzkumník řešení otevřete místní nabídku projektu C++, do kterého chcete přidat shader, a pak zvolte Přidat>novou položku.

  3. V dialogovém okně Přidat novou položku v části Nainstalováno vyberte Grafiku a pak vyberte Visual Shader Graph (.dgsl).

    Poznámka:

    Pokud v dialogovém okně Přidat novou položku nevidíte kategorii Grafika a máte nainstalovanou součást Editory obrázků a 3D modelů, grafické položky nejsou pro váš typ projektu podporované.

  4. Zadejte název souboru shaderu a umístění, kam chcete soubor vytvořit.

  5. Zvolte tlačítko Přidat.

Výchozí shader

Pokaždé, když vytvoříte shader DGSL, začne jako minimální shader, který má pouze bodový barevný uzel, který je připojený k uzlu Konečná barva . I když je tento shader úplný a funkční, nedělá to moc. Prvním krokem při vytváření pracovního shaderu je proto často odstranění uzlu Barva bodu nebo odpojení od uzlu Konečná barva , aby se uvolnil prostor pro ostatní uzly.

Práce s Návrhářem shaderu

Následující části popisují, jak pomocí Návrháře shaderu pracovat s vlastními shadery.

Panely nástrojů Návrhář shaderu

Panely nástrojů Návrhář shaderu obsahují příkazy, které vám pomůžou pracovat s grafy shaderu DGSL.

Příkazy, které ovlivňují stav Návrháře shaderu, se nacházejí na panelu nástrojů Režim návrháře shaderů v hlavním okně sady Visual Studio. Nástroje a příkazy návrhu jsou umístěny na panelu nástrojů Shader Designer na návrhové ploše Návrhář shaderu.

Tady je panel nástrojů Režim návrháře shaderů:

The Shader Designer modal toolbar.

Tato tabulka popisuje položky na panelu nástrojů Režim návrháře shaderů, které jsou uvedeny v pořadí, ve kterém se zobrazují zleva doprava:

Položka na panelu nástrojů Popis
Vybrat Umožňuje interakci s uzly a hrany v grafu. V tomto režimu můžete vybrat uzly a přesunout nebo odstranit a vytvořit hrany nebo je přerušit.
Posouvání Umožňuje pohyb grafu shaderu vzhledem k rámečku okna. Pokud ho chcete posunout, vyberte bod na návrhové ploše a pohybujte ho.

V režimu výběru můžete stisknutím a podržením klávesy Ctrl dočasně aktivovat režim Pan .
Zoom Umožňuje zobrazení více nebo méně podrobností shaderu grafu vzhledem k rámečku okna. V režimu lupy vyberte bod na návrhové ploše a pak ho přesuňte doprava nebo dolů, abyste ho mohli přiblížit nebo oddálit doleva nebo nahoru.

V režimu výběru můžete stisknutím a podržením klávesy Ctrl přiblížit nebo oddálit pomocí kolečka myši.
Lupa na přizpůsobení Zobrazí graf úplného shaderu v rámečku okna.
Režim vykreslování v reálném čase Když je vykreslování v reálném čase povolené, Visual Studio překreslí návrhovou plochu, i když se neprovede žádná akce uživatele. Tento režim je užitečný při práci se shadery, které se mění v průběhu času.
Náhled s koulí Pokud je tato možnost povolená, použije se k zobrazení náhledu shaderu model koule. Je možné povolit jenom jeden obrazec náhledu.
Náhled s datovou krychlí Pokud je tato možnost povolená, použije se model datové krychle k zobrazení náhledu shaderu. Je možné povolit jenom jeden obrazec náhledu.
Náhled s válci Pokud je tato možnost povolená, model válce se použije k zobrazení náhledu shaderu. Je možné povolit jenom jeden obrazec náhledu.
Náhled s kuželem Pokud je tato možnost povolená, použije se k zobrazení náhledu shaderu model kužele. Je možné povolit jenom jeden obrazec náhledu.
Náhled s čajovýmpotem Pokud je tato možnost povolená, použije se k zobrazení náhledu shaderu model teapotu. Je možné povolit jenom jeden obrazec náhledu.
Náhled s rovinou Pokud je tato možnost povolená, použije se model roviny k zobrazení náhledu shaderu. Je možné povolit jenom jeden obrazec náhledu.
Panel nástrojů Případně se zobrazí nebo skryje sada nástrojů.
Vlastnosti Případně se zobrazí nebo skryje okno Vlastnosti .
Rozšířené Obsahuje pokročilé příkazy a možnosti.

Export: Umožňuje export shaderu v několika formátech.

Exportovat jako: Exportuje shader jako zdrojový kód HLSL nebo jako kompilovaný bajtový kód shaderu. Další informace o exportu shaderů naleznete v tématu Postupy: Export shaderu.

Grafické moduly: Umožňuje výběr rendereru, který se používá k zobrazení návrhové plochy.

Vykreslení pomocí D3D11: Používá Direct3D 11 k vykreslení návrhové plochy Návrháře shaderu.

Vykreslení s D3D11WARP: Používá rozhraní Direct3D 11 Windows Advanced Rasterization Platform (WARP) k vykreslení návrhové plochy Návrháře shaderu.

Zobrazení: Umožňuje výběr dalších informací o Návrháři shaderu.

Frekvence snímků: Pokud je tato možnost povolená, zobrazí aktuální frekvenci snímků v pravém horním rohu návrhové plochy. Frekvence snímků je počet snímků, které jsou zpracovány za sekundu. Tato možnost je užitečná, když povolíte režim vykreslování v reálném čase.

Tip

Pokud chcete spustit poslední příkaz znovu, můžete zvolit tlačítko Upřesnit .

Práce s uzly a připojeními

Pomocí režimu vybrat můžete přidávat, odebírat, přemístit, připojit a konfigurovat uzly. Tady je postup, jak provádět tyto základní operace:

Provádění základních operací v režimu výběru

  • Postupujte následovně:

    • Pokud chcete do grafu přidat uzel, vyberte ho v sadě nástrojů a pak ho přesuňte na návrhovou plochu.

    • Pokud chcete uzel z grafu odebrat, vyberte ho a stiskněte Klávesu Delete.

    • Pokud chcete změnit umístění uzlu, vyberte ho a přesuňte ho do nového umístění.

    • Pokud chcete připojit dva uzly, přesuňte výstupní terminál jednoho uzlu do vstupního terminálu druhého uzlu. Lze připojit pouze terminály, které mají kompatibilní typy. Spojnice mezi terminály zobrazuje spojení.

    • Připojení odeberete tak, že v místní nabídce pro některý z připojených terminálů zvolíte Přerušení propojení.

    • Chcete-li konfigurovat vlastnosti uzlu, vyberte uzel a potom v okně Vlastnosti zadejte nové hodnoty pro vlastnosti.

Náhled shaderů

Abyste pochopili, jak se bude v aplikaci zobrazovat shader, můžete nakonfigurovat, jak se efekt zobrazí v náhledu. Pokud chcete aplikaci přiblížit, můžete si vybrat jeden z několika obrazců, který se má vykreslit, nakonfigurovat textury a další parametry materiálu, povolit animaci časových efektů a prozkoumat náhled z různých úhlů.

Obrazce

Návrhář shaderu obsahuje šest obrazců – kouli, krychli, válci, kužele, čajové nádoby a rovinu – které můžete použít k zobrazení náhledu shaderu. V závislosti na shaderu vám některé obrazce můžou poskytnout lepší náhled.

Pokud chcete zvolit obrazec náhledu, vyberte na panelu nástrojů Režimy návrháře shaderů požadovaný obrazec.

Textury a parametry materiálu

Mnoho shaderů spoléhá na textury a vlastnosti materiálu k vytvoření jedinečného vzhledu pro každý druh objektu v aplikaci. Pokud chcete zjistit, jak bude shader v aplikaci vypadat, můžete nastavit textury a vlastnosti materiálu, které se použijí k vykreslení náhledu tak, aby odpovídaly texturám a parametrům, které můžete v aplikaci použít.

Vytvoření vazby jiné textury k registru textury nebo úpravě jiných parametrů materiálu:

  1. V režimu výběru vyberte prázdnou oblast návrhové plochy. To způsobí, že okno Vlastnosti zobrazí globální vlastnosti shaderu.

  2. V okně Vlastnosti zadejte nové hodnoty pro vlastnosti textury a parametru, které chcete změnit.

Následující tabulka ukazuje parametry shaderu, které můžete upravit:

Parametr Vlastnosti
Textura 1 - Textura 8 Přístup: Veřejný , aby byla vlastnost nastavena z Editoru modelů, jinak private.

Název souboru: Úplná cesta k souboru textury, který je přidružen k tomuto registru textury.
Okolí materiálu Přístup: Veřejný , aby byla vlastnost nastavena z Editoru modelů, jinak private.

Hodnota: Difuzní barva aktuálního pixelu kvůli nepřímému nebo okolnímu osvětlení.
Materiál difuzní Přístup: Veřejný , aby byla vlastnost nastavena z Editoru modelů, jinak private.

Hodnota: Barva, která popisuje, jak aktuální pixel difuzní přímé osvětlení.
Materiál Emissive Přístup: Veřejný , aby byla vlastnost nastavena z Editoru modelů, jinak private.

Hodnota: Barevný příspěvek aktuálního pixelu z důvodu samoobsvícení.
Material Specular Přístup: Veřejný , aby byla vlastnost nastavena z Editoru modelů, jinak private.

Hodnota: Barva, která popisuje, jak aktuální pixel odráží přímé osvětlení.
Materiálový specifika výkonu Přístup: Veřejný , aby byla vlastnost nastavena z Editoru modelů, jinak private.

Hodnota: Exponent, který definuje intenzitu specifikátorů na aktuálním pixelu.

Časové efekty

Některé shadery mají součást založenou na čase, která animuje efekt. Aby bylo možné zobrazit, jak efekt vypadá v akci, musí se náhled několikrát za sekundu aktualizovat. Ve výchozím nastavení se náhled aktualizuje pouze při změně shaderu; pokud chcete toto chování změnit, abyste mohli zobrazit efekty založené na čase, musíte povolit vykreslování v reálném čase.

Pokud chcete povolit vykreslování v reálném čase, na panelu nástrojů Návrhář shaderu zvolte Vykreslování v reálném čase.

Prozkoumání efektu

Mnoho shaderů je ovlivněno proměnnými, jako je zobrazení úhlu nebo směrové osvětlení. Pokud chcete zjistit, jak efekt reaguje při změně těchto proměnných, můžete obrazec náhledu volně otáčet a sledovat, jak se shader chová.

Pokud chcete obrazec otočit, stiskněte a podržte klávesu Alt a pak vyberte libovolný bod na návrhové ploše a přesuňte ho.

Export shaderů

Než budete moct ve své aplikaci použít shader, musíte ho exportovat ve formátu, kterému DirectX rozumí.

Shadery můžete exportovat jako zdrojový kód HLSL nebo jako kompilovaný bajtový kód shaderu. Zdrojový kód HLSL se exportuje do textového souboru, který má příponu názvu souboru .hlsl . Bajtové kódy shaderu lze exportovat buď do nezpracovaného binárního souboru, který má příponu názvu souboru .cso , nebo do souboru hlavičky C++(.h), který kóduje bajtový kód shaderu do pole.

Další informace o exportu shaderů naleznete v tématu Postupy: Export shaderu.

Klávesové zkratky

Příkaz Klávesové zkratky
Přepnout do režimu výběru Ctrl+G, Ctrl+Q

S
Přepnutí do režimu lupy Ctrl+G, Ctrl+Z

Z
Přepnout do režimu posouvání Ctrl+G, Ctrl+P

K
Vybrat vše Ctrl+A
Odstranit aktuální výběr Odstranění
Zrušit aktuální výběr Escape (Esc)
Přiblížit Ctrl+Mouse wheel forward

Znaménko plus (+)
Oddálit Kolečko myši Ctrl+dozadu

Znaménko minus (-)
Posunutí návrhové plochy nahoru Kolečko myši dozadu

Pagedown
Posunutí návrhové plochy dolů Kolečko myši vpřed

Pageup
Posunutí návrhové plochy doleva Posunutí+kolečka myši dozadu

Kolečko myši vlevo

Shift+PageDown
Posunutí návrhové plochy doprava Posunutí+kolečka myši dopředu

Kolečko myši vpravo

Shift+PageUp
Přesunutí fokusu klávesnice na jiný uzel Klávesy Se šipkami
Vyberte uzel s fokusem klávesnice (přidá uzel do skupiny výběru). Mezerník shift+
Přepnutí výběru uzlu s fokusem klávesnice Ctrl+Mezerník
Přepnutí aktuálního výběru (pokud nejsou vybrány žádné uzly, vyberte uzel s fokusem klávesnice). Mezerník
Přesunutí aktuálního výběru nahoru Shift Šipka+nahoru
Přesunutí aktuálního výběru dolů Shift+Down Arrow
Přesunutí aktuálního výběru doleva Shift Šipka+doleva
Přesunout aktuální výběr doprava Posunout+šipku doprava.
Titulek Popis
Práce s 3D prostředky pro hry a aplikace Poskytuje přehled nástrojů sady Visual Studio, které můžete použít k práci s texturami a obrázky, 3D modely a efekty shaderu.
Editor obrázků Popisuje, jak pomocí Editoru obrázků sady Visual Studio pracovat s texturami a obrázky.
Editor modelů Popisuje, jak pomocí Editoru modelů sady Visual Studio pracovat s 3D modely.