Sdílet prostřednictvím


Jak: vytvoření přechodu Shader založené na geometrii

Tento dokument demonstruje použití Návrháře shaderu a jazyka DGSL (Directed Graph Shader Language) k tvorbě shaderu založeném na geometrickém přechodu.Tento shader škáluje konstantní hodnotu výšky barvy RGB výškou každého bodu objektu v globálním prostoru.

Tento dokument vysvětluje tyto činnosti:

  • Přidání uzlů do grafu shaderu

  • Nastavení vlastností uzlu

  • Odpojení uzlů

  • Připojování uzlů

Vytvoření shaderu přechodu založeného na geometrii

Začleněním polohu obrazového bodu do vaši clonu lze implementovat shader založené na geometrii.V jazyce stínování pixel obsahuje více informací než pouze její barvu a umístění na obrazovce 2D.O jeden bod – známý jako fragment v některých systémech – je sada hodnot, které popisují povrch, který odpovídá na obrazový bod.Shader, která je popsána v tomto dokumentu používá výšku každého obrazového bodu 3D objektu v prostoru světa ovlivnit konečné výstupní barva ve fragmentu.

Než začnete, ujistěte se, že Vlastnosti okna a nástrojů jsou zobrazeny.

Vytvoření přechodu shaderu založeného na geometrii

  1. Vytvořte DGSL shader, který má pracovat.Chcete-li zobrazit informace o tom, jak přidat do projektu DGSL clony, naleznete v části Začínáme v Shader Designer.

  2. Odpojit Barva bodu uzel z Konečnou barvu uzlu.Zvolte RGB z terminálu Barva bodu uzlu a pak zvolte Přerušit odkazy.Tím se prostor pro uzel, který je přidán v dalším kroku.

  3. Přidejte do grafu uzel Násobit.V nabídce Panel nástrojů pod položkou Matematika vyberte možnost Násobit a přesuňte ji na plochu návrhu.

  4. Přidejte do grafu uzel Vektor masky.V nabídce Panel nástrojů pod položkou Nástroj vyberte možnost Vektor masky a přesuňte ji na plochu návrhu.

  5. Určete hodnoty masky uzlu Vektorová maska.V Vyberte režimu, vyberte Vektorové masky uzlu a pak v Vlastnosti okno, nastavit Zelená / Y vlastnost Truea poté nastavte Červená / X, modré / Z a alfa / W vlastnosti False.V tomto příkladu Červená / X, Zelená / Y, a modrá / Z vlastnosti odpovídají x, y a z části Pozici Světové uzlu, a alfa / W se nepoužívá.Protože pouze Zelená / Y je nastavena na True, zůstane pouze součásti y vstupní vektor poté, co je maskován.

  6. Přidejte do grafu uzel Globální pozice.V nabídce Panel nástrojů pod položkou Konstanty vyberte možnost Globální pozice a přesuňte ji na plochu návrhu.

  7. Maskujte globální pozici fragmentu.V režimu Výběr přesuňte koncový uzel Výstup z uzlu Globální pozice do koncového uzlu Vektor z uzlu Vektor masky.Toto připojení kryje pozici fragmentu, aby byly ignorovány komponenty x a z.

  8. Vynásobte konstantu barvy RGB maskovanou globální pozicí.Přesunout RGB terminálu z Barva bodu uzel Y z terminálu Násobit uzel a potom přesunout výstup terminálu z Vektorové masky uzlu tak, aby X terminálu z Násobit uzlu.Toto připojení nastaví hodnotu barvy výška obrazových bodů v prostoru světa.

  9. Připojte odstupňovanou hodnotu barvy k výsledné barvě.Přesunout výstup z terminálu Násobit uzel RGB z terminálu Konečnou barvu uzlu.

Následující obrázek znázorňuje dokončení grafu shaderu a náhled shaderu aplikovaného na kouli.

[!POZNÁMKA]

Na tomto vyobrazení byla určena oranžová barva pro lepší znázornění efektu shaderu, ale protože náhled obrazce nemá žádnou pozici v globálním prostoru, nelze zobrazit plný náhled shaderu v návrháři shaderu.V reálné scéně musí být Shader k předvedení úplného účinku zobrazen v náhledu.

A jeho vliv náhled grafu shader.

Některé tvary mohou poskytnout lepší náhledy pro některé shadery.Informace o tom, jak zobrazit náhled shadery v Návrháři shaderu naleznete v tématu shadery Previewing vShader Designer

Následující obrázek znázorňuje shader, který je popsán v tomto dokumentu při použití na scénu 3D modelu, která je znázorněna v části Jak: Model základní prostorové scény.Intenzita barvy roste s globální výškou bodu.

Efekt přechodu u modelu 3D terén

Další informace o použití shaderu na 3D model naleznete zde: Jak: použití shaderu 3D modelu.

Viz také

Úkoly

Jak: použití shaderu 3D modelu

Jak: Export shaderu

Jak: Model základní prostorové scény

Jak: vytvoření Shader textury ve stupních šedi

Koncepty

Shader Designer

Další zdroje

Shader Návrhář uzly