Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Większość modułów renderujących używa funkcji uścisku twarzy zaplecza w celu zwiększenia wydajności. Jednak gdy siatki są wycinane z płaszczyzn cięcia, użytkownicy często patrzą na tylnej stronie trójkątów. Jeśli te trójkąty są uściśnięte, wynik nie wygląda przekonująco.
Sposobem niezawodnego zapobiegania temu problemowi jest renderowanie trójkątów z podwójną stroną. Ponieważ nieużywanie z tyłu twarzy ma wpływ na wydajność, domyślnie usługa Azure Remote Rendering przełącza się tylko na renderowanie dwustronne dla siatk, które przecinają się z płaszczyzną wycinania.
Ustawienie renderowania single-sided umożliwia dostosowanie tego zachowania.
Uwaga
Ustawienie renderowania single-sided jest funkcją eksperymentalną. Może zostać ponownie usunięty w przyszłości. Nie zmieniaj ustawienia domyślnego, chyba że naprawdę rozwiąże krytyczny problem w aplikacji.
Wymagania wstępne
Ustawienie renderowania single-sided ma wpływ tylko na siatki, które zostały przekonwertowane z opcją ustawioną opaqueMaterialDefaultSidedness
na SingleSided
wartość . Domyślnie ta opcja jest ustawiona na DoubleSided
wartość .
Single-sided ustawienie renderowania
Istnieją trzy różne tryby:
Normalny: w tym trybie siatki są zawsze renderowane w miarę ich konwersji. Oznacza to, że siatki przekonwertowane z opaqueMaterialDefaultSidedness
zestawem SingleSided
na zawsze będą renderowane z włączonym ubojem z tyłu twarzy, nawet gdy przecinają płaszczyznę wycięcia.
DynamicDoubleSiding: w tym trybie, gdy płaszczyzna wycinania przecina siatkę, jest automatycznie przełączana na renderowanie dwustronne. Ten tryb jest trybem domyślnym.
AlwaysDoubleSided: Wymusza renderowanie całej geometrii jednostronnej przez cały czas. Ten tryb jest głównie uwidoczniony, dzięki czemu można łatwo porównać wpływ wydajności między single-sided i double-sided renderowania.
Zmianę ustawień renderowania single-sided można wykonać w następujący sposób:
void ChangeSingleSidedRendering(RenderingSession session)
{
SingleSidedSettings settings = session.Connection.SingleSidedSettings;
// Single-sided geometry is rendered as is
settings.Mode = SingleSidedMode.Normal;
// Single-sided geometry is always rendered double-sided
settings.Mode = SingleSidedMode.AlwaysDoubleSided;
}
void ChangeSingleSidedRendering(ApiHandle<RenderingSession> session)
{
ApiHandle<SingleSidedSettings> settings = session->Connection()->GetSingleSidedSettings();
// Single-sided geometry is rendered as is
settings->SetMode(SingleSidedMode::Normal);
// Single-sided geometry is always rendered double-sided
settings->SetMode(SingleSidedMode::AlwaysDoubleSided);
}
Dokumentacja interfejsu API
- Renderowanie w języku C#Połączenie ion. Właściwość SingleSided Ustawienia
- Renderowanie języka C++Połączenie ion::SingleSided Ustawienia()