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.
System może używać przekształconej pozycji przestrzeni kamery lub normalnego z wierzchołka jako współrzędnych tekstury lub może obliczyć trzy wektory elementów używane do obsługi mapy środowiska sześciennego. Podobnie jak współrzędne tekstury, które jawnie określisz w wierzchołku, można użyć automatycznie wygenerowanych współrzędnych tekstury jako danych wejściowych dla przekształceń współrzędnych tekstury.
Automatycznie generowane współrzędne tekstury mogą znacznie zmniejszyć przepustowość wymaganą dla danych geometrycznych, eliminując potrzebę jawnych współrzędnych tekstury w formacie wierzchołka. W wielu przypadkach współrzędne tekstury generowane przez system mogą być używane z przekształceniami w celu uzyskania efektów specjalnych. Oczywiście jest to funkcja specjalnego przeznaczenia i będziesz używać jawnych współrzędnych tekstury do wielu okazji.
Konfigurowanie automatycznie generowanych współrzędnych tekstury
W języku C++, D3DTSS_TEXCOORDINDEX stan tekstury (z D3DTEXTURESTAGESTATETYPE wyliczonego typu) kontroluje sposób generowania współrzędnych tekstury przez system.
Zwykle ten stan nakazuje systemowi użycie określonego zestawu współrzędnych tekstury zakodowanych w formacie wierzchołka. Jeśli uwzględnisz D3DTSS_TCI_CAMERASPACENORMAL, D3DTSS_TCI_CAMERASPACEPOSITION lub flagi D3DTSS_TCI_CAMERASPACEREFLECTIONVECTOR w wartości przypisanej do tego stanu, zachowanie systemu jest zupełnie inne. Jeśli którakolwiek z tych flag jest obecna, etap tekstury ignoruje współrzędne tekstury w formacie wierzchołka na rzecz współrzędnych generowanych przez system. Znaczenie każdej flagi są wyświetlane na poniższej liście.
D3DTSS_TCI_CAMERASPACENORMAL
Użyj wierzchołka normalnego, przekształconego w przestrzeń kamery jako współrzędnych tekstury wejściowej.
D3DTSS_TCI_CAMERASPACEPOSITION
Użyj położenia wierzchołka przekształconego w przestrzeń kamery jako współrzędnych tekstury wejściowej.
D3DTSS_TCI_CAMERASPACEREFLECTIONVECTOR
Użyj wektora odbicia przekształconego w przestrzeń aparatu jako współrzędnych tekstury wejściowej. Wektor odbicia jest obliczany z położenia wierzchołka wejściowego i wektora normalnego.
Flagi indeksu współrzędnych tekstury wzajemnie się wykluczają. W tym przykładzie użyto następujących zastosowań:
- Położenie wierzchołka (w przestrzeni kamery) jako współrzędne tekstury wejściowej dla tego etapu tekstury
- Tryb zawijania ustawiony w stanie renderowania D3DRENDERSTATE_WRAP1
// Assume d3dDevice is a valid pointer to an IDirect3DDevice9 interface
d3dDevice->SetTextureStageState(0, D3DTSS_TEXCOORDINDEX,
D3DTSS_TCI_CAMERASPACEPOSITION | 1);
Współrzędne tekstury generowane automatycznie są najbardziej przydatne jako wartości wejściowe przekształcenia współrzędnych tekstury lub w celu wyeliminowania konieczności obliczenia trzech wektorów elementów dla map środowiska sześciennego.
Mapowanie sfer używa wstępnie skompilowanej (w czasie modelu) mapy tekstury, która zawiera całe środowisko w sposób odzwierciedlany przez sferę chrome. Direct3D ma funkcję generowania współrzędnych tekstury przy użyciu D3DTSS_TCI_CAMERASPACENORMAL stanu renderowania, który przyjmuje normalny wierzchołek w przestrzeni aparatu i umieszcza go przez transformację tekstury w celu generowania współrzędnych tekstury.
Tematy pokrewne
-
mapowanie środowiska sześciennego (Direct3D 9)