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
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.
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.
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é.
Zadejte název souboru shaderu a umístění, kam chcete soubor vytvořit.
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ů:
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:
V režimu výběru vyberte prázdnou oblast návrhové plochy. To způsobí, že okno Vlastnosti zobrazí globální vlastnosti shaderu.
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. |
Příbuzná témata
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. |