Udostępnij przez


Mapowanie światła z teksturami (Direct3D 9)

Aby aplikacja mogła realistycznie renderować scenę 3D, należy wziąć pod uwagę efekt, jaki źródła światła mają na wygląd sceny. Chociaż techniki takie jak płaskie cieniowanie i cieniowanie Gouraud są użytecznymi narzędziami w tym zakresie, mogą być niewystarczające dla Twoich potrzeb. Funkcja Direct3D obsługuje mieszanie wielopasmowe i wiele tekstur. Te możliwości umożliwiają aplikacji renderowanie scen z bardziej realistycznym wyglądem niż same sceny renderowane za pomocą technik cieniowania. Poprzez zastosowanie jednej lub więcej map świetlnych, aplikacja może odwzorowywać obszary światła i cienia na swoich podstawowych elementach graficznych.

Mapa światła to tekstura lub grupa tekstur, które zawierają informacje o oświetleniu w scenie 3D. Informacje o oświetleniu można przechowywać w wartościach alfa mapy światła, w wartościach kolorów lub w obu tych elementach.

Jeśli zaimplementujesz mapowanie światła przy użyciu wieloprzepustowego łączenia tekstur, aplikacja powinna renderować mapę światła na swoich prymitywach na pierwszym przebiegu. Powinien użyć drugiego przebiegu, aby renderować teksturę podstawową. Wyjątkiem jest mapowanie światła widmowego. W takim przypadku najpierw renderuj teksturę podstawową; następnie dodaj mapę światła.

Mieszanie wielu tekstur umożliwia aplikacji wyświetlanie mapy światła i tekstury bazowej w jednym przebiegu. Jeśli sprzęt użytkownika zapewnia mieszanie wielu tekstur, aplikacja powinna korzystać z niej podczas wykonywania mapowania światła. Znacznie poprawia to wydajność aplikacji.

Korzystając z map świetlnych, aplikacja Direct3D może osiągać różnorodne efekty oświetleniowe podczas renderowania prymitywów. Może mapować nie tylko monochromatyczne i kolorowe światła w scenie, ale może również dodawać szczegóły, takie jak wyróżnienia widmowe i oświetlenie rozproszone.

Informacje na temat używania mieszania tekstur Direct3D do wykonywania mapowania światła są przedstawione w następujących tematach.

Łączenie tekstur