Oświetlenie sceny

Domyślnie obiekty renderowane zdalnie są oświetlone przy użyciu światła nieba. W przypadku większości aplikacji statyczne światło na niebie jest już wystarczające, ale można dodać kolejne dynamiczne źródła światła do sceny.

Ważne

Tylko materiały PBR mają wpływ na źródła światła. Materiały kolorowe i chmury punktowe zawsze wydają się w pełni jasne.

Uwaga

Rzutowanie cieni nie jest obecnie obsługiwane. Usługa Azure Remote Rendering jest zoptymalizowana pod kątem renderowania ogromnych ilości geometrii, wykorzystując w razie potrzeby wiele procesorów GPU. Tradycyjne podejścia do rzutów w tle nie działają dobrze w takich scenariuszach.

Wspólne właściwości składnika światła

Wszystkie typy światła pochodzą z abstrakcyjnej klasy LightComponent bazowej i współużytkuj następujące właściwości:

  • Kolor: Kolor światła w przestrzeni Gamma. Alfa jest ignorowana.

  • Intensywność: Jasność światła. W przypadku świateł punktowych i punktowych intensywność określa również, jak daleko świeci światło.

Światło punktowe

W usłudze Azure Remote Rendering PointLightComponent program może emitować światło nie tylko z jednego punktu, ale także z małej kuli lub małej rury, aby symulować bardziej miękkie źródła światła.

Właściwości obiektu PointLightComponent

  • Promień: domyślny promień to zero, w którym przypadku światło działa jako światło punktowe. Jeśli promień jest większy niż zero, działa jako źródło światła kulistego, co zmienia wygląd podkreśleń widmowych.

  • Długość: Jeśli zarówno i RadiusLength nie są zerowe, światło działa jako światło rurowe. Ta kombinacja może służyć do symulowania neonowych rur.

  • AttenuationCutoff: Jeśli od lewej do (0,0) tłumienie światła zależy tylko od jego Intensity. Można jednak zapewnić niestandardowe odległości minimalne/maksymalne, w których intensywność światła jest skalowana liniowo w dół do 0. Ta funkcja może służyć do wymuszania mniejszego zakresu wpływu określonego światła.

  • ProjectedCubemap: Jeśli ustawiono prawidłową mapę sześcianu, tekstura jest rzutowana na otaczającą geometrię światła. Kolor mapy modułu jest modulowany kolorem światła.

Światło punktowe

Element SpotLightComponent jest podobny do PointLightComponent tego, ale światło jest ograniczone do kształtu stożka. Orientacja stożka jest definiowana przez ujemną oś z jednostki właściciela.

Właściwości spotLightComponent

  • Promień: taki sam jak dla elementu PointLightComponent.

  • SpotAngleDeg: ten interwał definiuje wewnętrzny i zewnętrzny kąt stożka mierzony w stopniach. Wszystko wewnątrz kąta wewnętrznego jest oświetlone pełną jasnością. Spadek jest stosowany do zewnętrznego kąta, który generuje efekt przypominający penumbra.

  • FalloffExponent: określa, jak ostro przesunie się od wewnątrz do zewnętrznego kąta stożka. Wyższa wartość powoduje ostrzejsze przejście. Wartość domyślna 1.0 powoduje przejście liniowe.

  • AttenuationCutoff: tak samo jak w przypadku elementu PointLightComponent.

  • Projected2dTexture: Jeśli ustawiono prawidłową teksturę 2D, obraz jest rzutowany na geometrię, na którą świeci światło. Kolor tekstury jest modulowany kolorem światła.

Światło kierunkowe

Symuluje DirectionalLightComponent źródło światła, które jest nieskończenie odległe. Światło świeci w kierunku ujemnej osi z jednostki właściciela. Pozycja jednostki jest ignorowana.

Brak dodatkowych właściwości.

Zagadnienia dotyczące wydajności

Źródła światła mają znaczący wpływ na wydajność renderowania. Należy używać ich ostrożnie i tylko wtedy, gdy jest to wymagane przez aplikację. Dowolny statyczny globalny warunek oświetlenia, w tym statyczny składnik kierunkowy, można osiągnąć za pomocą niestandardowej tekstury nieba bez dodatkowych kosztów renderowania.

Dokumentacja interfejsu API

Następne kroki