Udostępnij za pośrednictwem


Mgła (Direct3D 9)

Dodanie mgły do sceny 3D może poprawić realizm, zapewnić atmosferę lub ustawić nastrój, a niejasne artefakty czasami spowodowane, gdy odległe geometria wchodzi w widok. Direct3D obsługuje dwa modele mgły, mgłę pikseli i mgłę wierzchołka, z których każdy ma własne funkcje i interfejs programowania.

Zasadniczo mgła jest implementowana przez połączenie koloru obiektów w scenie z wybranym kolorem mgły na podstawie głębokości obiektu w scenie lub jego odległości od punktu widzenia. Gdy obiekty rosną bardziej odległe, ich oryginalny kolor miesza się coraz bardziej z wybranym kolorem mgły, tworząc iluzję, że obiekt jest coraz bardziej zaciemniany przez małe cząstki unoszące się w scenie. Na poniższej ilustracji przedstawiono scenę renderowaną bez mgły i podobną scenę renderowaną z włączoną mgłą.

ilustracja tej samej sceny z mgłą i bez mgły

Na tej ilustracji scena po lewej stronie ma jasny horyzont, poza którym żadna sceneria nie jest widoczna, mimo że byłaby widoczna w świecie rzeczywistym. Scena po prawej stronie zaciemnia horyzont przy użyciu koloru mgły identycznego z kolorem tła, dzięki czemu wielokąty wydają się zanikać w oddali. Łącząc dyskretne efekty mgły z kreatywnym projektem sceny, można dodać nastrój i zmiękczyć kolor obiektów w scenie.

Direct3D zapewnia dwa sposoby dodawania mgły do sceny: mgła pikseli i mgła wierzchołka, nazwana jako sposób stosowania efektów mgły. Aby uzyskać szczegółowe informacje, zobacz Pixel Fog (Direct3D 9) i Vertex Fog (Direct3D 9). Krótko mówiąc, mgła pikseli - nazywana również mgłą tabeli - jest implementowana w sterowniku urządzenia, a mgła wierzchołka jest implementowana w silniku oświetlenia Direct3D. Aplikacja może zaimplementować mgłę z cieniatorem wierzchołka i mgłą pikseli jednocześnie, jeśli jest to konieczne.

Nuta

Niezależnie od tego, czy używasz mgły pikseli czy wierzchołka, aplikacja musi zapewnić zgodną macierz projekcji, aby upewnić się, że efekty mgły są prawidłowo stosowane. To ograniczenie dotyczy nawet aplikacji, które nie korzystają z przekształcenia Direct3D i aparatu oświetlenia. Aby uzyskać dodatkowe informacje na temat sposobu udostępniania odpowiedniej macierzy, zobacz Projekcja Transform (Direct3D 9).

 

W poniższych tematach przedstawiono mgłę i przedstawiono informacje o korzystaniu z różnych funkcji mgły w aplikacjach Direct3D.

Mieszanie mgły jest kontrolowane przez stany renderowania; nie jest częścią programowalnego potoku pikseli.

renderowania Direct3D