Shader Designer

W tym dokumencie opisano sposób pracy z modułem cieniowania programu Visual Studio Projektant w celu tworzenia, modyfikowania i eksportowania niestandardowych efektów wizualnych, które są nazywane cieniowaniami.

Funkcja Shader Projektant umożliwia tworzenie niestandardowych efektów wizualnych dla gry lub aplikacji, nawet jeśli nie znasz programowania w języku cieniowania wysokiego poziomu (HLSL). Aby utworzyć cieniowania w Projektant cieniowania, należy go ułożyć jako graf. Oznacza to, że dodajesz do węzłów powierzchni projektowych reprezentujących dane i operacje, a następnie nawiązujesz połączenia między nimi, aby zdefiniować sposób przetwarzania danych przez operacje. W każdym węźle operacji jest udostępniany podgląd efektu aż do tego momentu, dzięki czemu można zwizualizować jego wynik. Dane przepływa przez węzły w kierunku ostatniego węzła, który reprezentuje dane wyjściowe cieniowania.

Obsługiwane formaty

Funkcja cieniowania Projektant obsługuje następujące formaty cieniowania:

Nazwa formatu Rozszerzenie pliku Obsługiwane operacje (wyświetlanie, edytowanie, eksportowanie)
Język cieniowania wykresu skierowanego .Dgsl Wyświetl, Edytuj
Cieniowania HLSL (kod źródłowy) .Hlsl Export
Cieniowanie HLSL (kod bajtowy) .Cso Export
Nagłówek języka C++ (tablica kodów bajtowych HLSL) .H Export

Rozpocznij

W tej sekcji opisano sposób dodawania cieniowania DGSL do projektu visual Studio C++ i zawiera podstawowe informacje ułatwiające rozpoczęcie pracy.

Uwaga

Automatyczna integracja kompilacji elementów graficznych, takich jak grafy cieniowania (pliki dgsl), jest obsługiwana tylko w przypadku projektów języka C++.

Aby dodać moduł cieniowania DGSL do projektu

  1. Upewnij się, że masz zainstalowany wymagany składnik programu Visual Studio, który musisz pracować z grafiką. Składnik jest nazywany edytorami modeli Obraz i 3D.

    Aby go zainstalować, otwórz Instalator programu Visual Studio, wybierając pozycję Narzędzia Pobierz narzędzia>i funkcje na pasku menu, a następnie wybierz kartę Poszczególne składniki. Wybierz składnik Edytory modeli Obraz i 3D w kategorii Gry i grafika, a następnie wybierz pozycję Modyfikuj.

    Image and 3D model editors component

  2. W Eksplorator rozwiązań otwórz menu skrótów dla projektu C++, do którego chcesz dodać cieniowanie, a następnie wybierz pozycję Dodaj>nowy element.

  3. W oknie dialogowym Dodawanie nowego elementu w obszarze Zainstalowane wybierz pozycję Grafika, a następnie wybierz pozycję Visual Shader Graph (dgsl).

    Uwaga

    Jeśli nie widzisz kategorii Grafika w oknie dialogowym Dodawanie nowego elementu i masz zainstalowany składnik Edytory modeli Obraz i 3D, elementy graficzne nie są obsługiwane dla typu projektu.

  4. Określ nazwę pliku cieniowania i lokalizację, w której ma zostać utworzony.

  5. Wybierz przycisk Dodaj.

Domyślny cieniator

Za każdym razem, gdy tworzysz cieniowanie DGSL, rozpoczyna się on jako minimalny moduł cieniujący, który ma tylko węzeł Kolor punktu połączony z węzłem Kolor końcowy. Chociaż ten moduł cieniowania jest kompletny i funkcjonalny, nie robi zbyt wiele. W związku z tym pierwszym krokiem tworzenia cieniowania roboczego jest często usunięcie węzła Kolor punktu lub odłączenie go od węzła Kolor końcowy, aby zapewnić miejsce dla innych węzłów.

Praca z Projektant cieniowania

W poniższych sekcjach opisano, jak używać cieniowania Projektant do pracy z niestandardowymi cieniowaniami.

Paski narzędzi Projektant cieniowania

Paski narzędzi cieniowania Projektant zawierają polecenia, które ułatwiają pracę z grafami cieniowania DGSL.

Polecenia wpływające na stan Projektant cieniowania znajdują się na pasku narzędzi Shader Projektant Mode w głównym oknie programu Visual Studio. Narzędzia projektowe i polecenia znajdują się na pasku narzędzi cieniowania Projektant na powierzchni projektowej modułu cieniowania Projektant.

Oto pasek narzędzi Cieniowanie trybu Projektant:

The Shader Designer modal toolbar.

W tej tabeli opisano elementy na pasku narzędzi Cieniowanie Projektant Tryb, które są wyświetlane w kolejności, w której są wyświetlane od lewej do prawej:

Element paska narzędzi opis
Wybieranie Umożliwia interakcję z węzłami i krawędziami na grafie. W tym trybie możesz wybrać węzły i przenieść lub usunąć je, a także ustanowić krawędzie lub przerwać je.
Przesuwanie Umożliwia przenoszenie grafu cieniującego względem ramki okna. Aby przewróć, wybierz punkt na powierzchni projektowej i przenieś go wokół.

W trybie Wybierz możesz nacisnąć i nacisnąć klawisze Ctrl , aby tymczasowo aktywować tryb Pan .
Powiększenia Włącza wyświetlanie większej lub mniejszej liczby szczegółów cieniowania wykresu względem ramki okna. W trybie powiększenia wybierz punkt na powierzchni projektowej, a następnie przenieś go w prawo lub w dół, aby powiększyć, lub w lewo lub w celu pomniejszania.

W trybie Wybierz możesz nacisnąć i nacisnąć klawisze Ctrl , aby powiększyć lub wyjść za pomocą kółka myszy.
Powiększenie do dopasowania Wyświetla pełny wykres cieniowania w ramce okna.
Tryb renderowania w czasie rzeczywistym Gdy renderowanie w czasie rzeczywistym jest włączone, program Visual Studio ponownie rysuje powierzchnię projektową, nawet jeśli nie jest wykonywana żadna akcja użytkownika. Ten tryb jest przydatny podczas pracy z cieniowaniami zmieniającymi się w czasie.
Podgląd ze sferą Po włączeniu model sfery jest używany do wyświetlania podglądu cieniowania. Jednocześnie można włączyć tylko jeden kształt podglądu.
Podgląd za pomocą modułu Po włączeniu modelu modułu jest używany do wyświetlania podglądu cieniowania. Jednocześnie można włączyć tylko jeden kształt podglądu.
Podgląd za pomocą cylindra Po włączeniu modelu cylindra jest używany do wyświetlania podglądu cieniowania. Jednocześnie można włączyć tylko jeden kształt podglądu.
Podgląd z stożkiem Po włączeniu modelu stożka jest używany do wyświetlania podglądu cieniowania. Jednocześnie można włączyć tylko jeden kształt podglądu.
Podgląd z teapotem Po włączeniu modelu teapot jest używany do wyświetlania podglądu cieniowania. Jednocześnie można włączyć tylko jeden kształt podglądu.
Podgląd z płaszczyzną Po włączeniu modelu płaszczyzny jest używany do wyświetlania podglądu cieniowania. Jednocześnie można włączyć tylko jeden kształt podglądu.
Przybornik Alternatywnie pokazuje lub ukrywa przybornik.
Właściwości Alternatywnie pokazuje lub ukrywa okno Właściwości .
Zaawansowany Zawiera zaawansowane polecenia i opcje.

Eksport: umożliwia eksportowanie cieniowania w kilku formatach.

Eksportuj jako: Eksportuje moduł cieniowania jako kod źródłowy HLSL lub jako skompilowany kod bajtowy cieniowania. Aby uzyskać więcej informacji na temat eksportowania cieniowania, zobacz How to: Export a shader (Instrukcje: eksportowanie cieniowania).

Aparaty grafiki: umożliwia wybór modułu renderowania używanego do wyświetlania powierzchni projektowej.

Renderuj z D3D11: używa direct3D 11 do renderowania cieniowania Projektant powierzchni projektowej.

Renderowanie za pomocą D3D11WARP: do renderowania cieniowania Projektant powierzchni projektowej używa zaawansowanej platformy rasteryzacji systemu Windows Direct3D 11 (WARP).

Widok: umożliwia wybór dodatkowych informacji o Projektant cieniowania.

Szybkość klatek: po włączeniu wyświetla bieżącą szybkość klatek w prawym górnym rogu powierzchni projektowej. Szybkość odtwarzania to liczba ramek wyświetlanych na sekundę. Ta opcja jest przydatna w przypadku włączenia opcji Tryb renderowania w czasie rzeczywistym.

Napiwek

Możesz wybrać przycisk Zaawansowane, aby ponownie uruchomić ostatnie polecenie.

Praca z węzłami i połączeniami

Użyj trybu Wybierz , aby dodawać, usuwać, zmieniać położenie, łączyć i konfigurować węzły. Poniżej przedstawiono sposób wykonywania tych podstawowych operacji:

Aby wykonać podstawowe operacje w trybie Wybierz

  • Oto jak to zrobić:

    • Aby dodać węzeł do grafu, wybierz go w przyborniku, a następnie przenieś go na powierzchnię projektową.

    • Aby usunąć węzeł z grafu, zaznacz go, a następnie naciśnij przycisk Usuń.

    • Aby zmienić położenie węzła, wybierz go, a następnie przenieś go do nowej lokalizacji.

    • Aby połączyć dwa węzły, przenieś terminal wyjściowy jednego węzła do terminalu wejściowego drugiego węzła. Można połączyć tylko terminale, które mają zgodne typy. Linia między terminalami pokazuje połączenie.

    • Aby usunąć połączenie, w menu skrótów dla jednego z połączonych terminali wybierz pozycję Przerwij łącza.

    • Aby skonfigurować właściwości węzła, wybierz węzeł, a następnie w oknie Właściwości określ nowe wartości właściwości.

Cieniowania podglądu

Aby ułatwić zrozumienie sposobu wyświetlania cieniowania w aplikacji, możesz skonfigurować sposób wyświetlania podglądu efektu. Aby przybliżyć aplikację, możesz wybrać jeden z kilku kształtów do renderowania, skonfigurować tekstury i inne parametry materiału, włączyć animację efektów opartych na czasie i sprawdzić podgląd z różnych kątów.

Kształty

Shader Projektant zawiera sześć kształtów — sferę, sześcian, cylindra, stożek, herbatnik i płaszczyznę — których można użyć do podglądu cieniowania. W zależności od cieniowania niektóre kształty mogą zapewnić lepszy podgląd.

Aby wybrać kształt podglądu, na pasku narzędzi Cieniator Projektant Tryby wybierz odpowiedni kształt.

Tekstury i parametry materiału

Wiele cieniowania polega na teksturach i właściwościach materiału w celu utworzenia unikatowego wyglądu dla każdego rodzaju obiektu w aplikacji. Aby zobaczyć, jak będzie wyglądać cieniowanie w aplikacji, możesz ustawić tekstury i właściwości materiału używane do renderowania podglądu w celu dopasowania tekstur i parametrów, które mogą być używane w aplikacji.

Aby powiązać inną teksturę z rejestrem tekstury lub zmodyfikować inne parametry materiału:

  1. W obszarze Wybierz tryb wybierz pusty obszar powierzchni projektowej. Spowoduje to wyświetlenie właściwości cieniowania globalnego w oknie Właściwości.

  2. W oknie Właściwości określ nowe wartości właściwości tekstury i parametru, które chcesz zmienić.

W poniższej tabeli przedstawiono parametry cieniowania, które można zmodyfikować:

Parametr Właściwości
Tekstura 1 - Tekstura 8 Dostęp: Publiczny, aby zezwolić na ustawienie właściwości z Edytora modelu; w przeciwnym razie prywatny.

Nazwa pliku: pełna ścieżka pliku tekstury skojarzonego z tym rejestrem tekstury.
Otoczenie materiału Dostęp: Publiczny, aby zezwolić na ustawienie właściwości z Edytora modelu; w przeciwnym razie prywatny.

Wartość: Kolor dyfuzora bieżącego piksela ze względu na pośrednie - lub otoczenia - oświetlenie.
Materiał rozproszony Dostęp: Publiczny, aby zezwolić na ustawienie właściwości z Edytora modelu; w przeciwnym razie prywatny.

Wartość: kolor, który opisuje, jak bieżący piksel rozprasza bezpośrednie oświetlenie.
Materiał Emisive Dostęp: Publiczny, aby zezwolić na ustawienie właściwości z Edytora modelu; w przeciwnym razie prywatny.

Wartość: wpływ koloru bieżącego piksela z powodu własnego oświetlenia.
Widmo materiału Dostęp: Publiczny, aby zezwolić na ustawienie właściwości z Edytora modelu; w przeciwnym razie prywatny.

Wartość: kolor, który opisuje, jak bieżący piksel odzwierciedla oświetlenie bezpośrednie.
Moc specularna materiału Dostęp: Publiczny, aby zezwolić na ustawienie właściwości z Edytora modelu; w przeciwnym razie prywatny.

Wartość: wykładnik, który definiuje intensywność wyróżniania specularnego na bieżącym pikselu.

Efekty oparte na czasie

Niektóre cieniowania mają składnik oparty na czasie, który animuje efekt. Aby pokazać, jak wygląda efekt w działaniu, podgląd musi zostać zaktualizowany kilka razy na sekundę. Domyślnie podgląd jest aktualizowany tylko po zmianie cieniowania; aby zmienić to zachowanie, aby można było wyświetlać efekty oparte na czasie, należy włączyć renderowanie w czasie rzeczywistym.

Aby włączyć renderowanie w czasie rzeczywistym, na pasku narzędzi Cieniowanie Projektant wybierz pozycję Renderowanie w czasie rzeczywistym.

Badanie efektu

Wiele cieniowania ma wpływ na zmienne, takie jak kąt widzenia lub oświetlenie kierunkowe. Aby sprawdzić, jak efekt reaguje w miarę zmiany tych zmiennych, możesz swobodnie obracać kształt podglądu i obserwować zachowanie cieniowania.

Aby obrócić kształt, naciśnij i przytrzymaj klawisz Alt, a następnie wybierz dowolny punkt na powierzchni projektowej i przenieś go.

Eksportowanie cieniowania

Zanim będzie można użyć cieniowania w aplikacji, musisz wyeksportować go w formacie zrozumiałym dla języka DirectX.

Moduły cieniowania można eksportować jako kod źródłowy HLSL lub jako skompilowany kod bajtowy cieniowania. Kod źródłowy HLSL jest eksportowany do pliku tekstowego z rozszerzeniem nazwy pliku hlsl . Kod bajtów cieniowania można wyeksportować do nieprzetworzonego pliku binarnego, który ma rozszerzenie nazwy pliku cso , lub do pliku nagłówka języka C++ (h), który koduje kod bajtów cieniowania do tablicy.

Aby uzyskać więcej informacji na temat eksportowania cieniowania, zobacz How to: Export a shader (Instrukcje: eksportowanie cieniowania).

Skróty klawiaturowe

Polecenie Skróty klawiaturowe
Przełącz do trybu Wybierz Ctrl G, Ctrl++Q

S
Przełączanie do trybu powiększenia Ctrl G, Ctrl++Z

Z
Przełączanie do trybu panowania Ctrl G, Ctrl++P

K
Wybierz wszystko Ctrl+A
Usuń bieżące zaznaczenie Usuń
Anuluj bieżące zaznaczenie Ucieczka (Esc)
Powiększ Ctrl+Kółko myszy do przodu

Znak plus (+)
Pomniejsz Ctrl+Kółko myszy do tyłu

Znak minus (-)
Przesuwanie powierzchni projektowej w górę Kółko myszy do tyłu

Pagedown
Przesuwanie powierzchni projektowej w dół Kółko myszy do przodu

Pageup
Przesuwanie powierzchni projektowej w lewo Przesuń+kółko myszy do tyłu

Kółko myszy w lewo

Shift+PageDown
Przesuwanie powierzchni projektowej w prawo Przesuń+kółko myszy do przodu

Kółko myszy w prawo

Shift+PageUp
Przenoszenie fokusu klawiatury do innego węzła Klawisze strzałek
Wybierz węzeł z fokusem klawiatury (dodaje węzeł do grupy wyboru) Shift Spacja+
Przełącz wybór węzła, który ma fokus klawiatury Ctrl+Spacja
Przełącz bieżące zaznaczenie (jeśli nie wybrano węzłów, wybierz węzeł z fokusem klawiatury) Spacji
Przenieś bieżące zaznaczenie w górę Shift Strzałka w+górę
Przenieś bieżące zaznaczenie w dół Shift+Strzałka w dół
Przenieś bieżące zaznaczenie w lewo Shift+Strzałka w lewo
Przenieś bieżące zaznaczenie w prawo Shift+Strzałka w prawo.
Nazwa opis
Praca z zawartościami 3D dla gier i aplikacji Zawiera omówienie narzędzi programu Visual Studio, których można używać do pracy z teksturami i obrazami, modelami 3D i efektami cieniowania.
Edytor obrazów Opisuje sposób pracy z teksturami i obrazami za pomocą edytora obrazów programu Visual Studio.
Edytor modelu Opisuje sposób pracy z modelami 3D za pomocą edytora modeli programu Visual Studio.