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
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.
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.
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.
Określ nazwę pliku cieniowania i lokalizację, w której ma zostać utworzony.
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:
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:
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.
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. |
Powiązane tematy
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. |
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla