Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Interfejs API Direct3D 10 i nowszy oddziela obszary funkcjonalne potoku na etapy; pierwszym etapem potoku jest etap asemblera danych wejściowych (IA).
Celem etapu asemblera wejściowego jest odczytywanie danych pierwotnych (punktów, linii i/lub trójkątów) z wypełnionych przez użytkownika i zestawianie danych do elementów pierwotnych, które będą używane przez inne etapy potoku. Etap IA może składać wierzchołki na kilka różnych typów pierwotnych (takich jak listy wierszy, paski trójkątów lub elementów pierwotnych z sąsiedztwem). Dodano nowe typy pierwotne (takie jak lista wierszy z sąsiedztwem lub listą trójkątów z sąsiedztwem) w celu obsługi cieniowania geometrii.
Informacje o sąsiedztwie są widoczne dla aplikacji tylko w cieniowaniu geometrycznym. W przypadku wywołania cieniowania geometrii z trójkątem, w tym sąsiedztwem, dane wejściowe będą zawierać 3 wierzchołki dla każdego trójkąta i 3 wierzchołki dla danych przylegania na trójkąt.
Gdy etap asemblera danych wejściowych jest żądany do danych przylegania, dane wejściowe muszą zawierać dane przylegania. Może to wymagać podania fikcyjnego wierzchołka (tworzącego trójkąt degenerowany), a może przez flagowanie w jednym z atrybutów wierzchołka, czy wierzchołek istnieje, czy nie. Konieczne byłoby również wykrycie i obsłużenie przez cieniowanie geometrii, chociaż w fazie rasteryzatora nastąpi uśmiercanie geometrii degeneracji.
Podczas tworzenia elementów pierwotnych pomocniczym celem IA jest dołączenie wartości generowanych przez system, aby ułatwić wydajniejsze cieniowanie. Wartości generowane przez system to ciągi tekstowe, które są również nazywane semantykami. Wszystkie trzy etapy cieniowania są konstruowane na podstawie wspólnego rdzenia cieniowania, a rdzeń cieniowania używa wartości generowanych przez system (takich jak identyfikator pierwotny, identyfikator wystąpienia lub identyfikator wierzchołka), aby etap cieniowania mógł zmniejszyć przetwarzanie tylko do tych elementów pierwotnych, wystąpień lub wierzchołków, które nie zostały jeszcze przetworzone.
Jak pokazano na diagramie bloków potoku , gdy etap IA odczytuje dane z pamięci (zestawuje dane do wartości pierwotnych i dołącza wartości generowane przez system), dane są wyjściowe do etapu cieniowania wierzchołków .
W tej sekcji
| Temat | Opis |
|---|---|
|
wprowadzenie do etapu Input-Assembler |
Istnieje kilka kroków niezbędnych do zainicjowania etapu input-assembler (IA). Na przykład należy utworzyć zasoby buforu z danymi wierzchołka, których potrzebuje potok, poinformować etap IA, w którym znajdują się i jakiego typu dane zawierają, oraz określić typ elementów pierwotnych do zebrania z danych. |
| Topologie pierwotne |
Funkcja Direct3D 10 lub nowsza obsługuje kilka typów pierwotnych (lub topologii), które są reprezentowane przez typ wyliczany D3D_PRIMITIVE_TOPOLOGY. Te typy definiują sposób interpretowania i renderowania wierzchołków przez potok. |
|
Używanie etapu Input-Assembler bez |
Tworzenie i wiązanie nie jest konieczne, jeśli cieniowania nie wymagają. Ta sekcja zawiera przykład prostych wierzchołków i cieniowania pikseli, które narysują pojedynczy trójkąt. |
|
używanie wartości System-Generated |
Wartości generowane przez system są generowane przez etap IA (na podstawie danych wejściowych dostarczonych przez użytkownika semantyki) w celu umożliwienia pewnych wydajności w operacjach cieniowania. |
Tematy pokrewne
-
etapy potoku (Direct3D 10)