Rendering av gränssnitt
Gränssnittstillståndet för åsidosättningskomponenten för hierarkiskt tillstånd är en transparenseffekt. Till skillnad från genomskinlig återgivning är endast det främre lagret av objekt synligt, vilket liknar ogenomskinlig återgivning. Dessutom kan objektens normala utseende ändras när de återges som gränssnitt. Effekten är avsedd för användningsfall där användaren ska vägledas visuellt bort från icke-viktiga delar samtidigt som rumslig medvetenhet bibehålls för hela scenen.
Du kan konfigurera utseendet på shell-renderade objekt via det ShellRenderingSettings
globala tillståndet. Alla objekt som använder gränssnittsrendering använder samma inställning. Det finns inga parametrar per objekt.
Kommentar
Skalåtergivningseffekten kan inte tillämpas på punktmoln.
ShellRendering Inställningar parametrar
Klassen ShellRenderingSettings
innehåller inställningarna för globala gränssnittsrenderingsegenskaper:
Parameter | Typ | Description |
---|---|---|
Desaturation |
flyttal | Mängden desaturation som ska tillämpas på den vanliga slutliga objektfärgen, i intervall 0 (ingen desaturation) till 1 (fullständig desaturation) |
Opacity |
flyttal | Ogenomskinligheten för de shell-renderade objekten i intervallet 0 (osynliga) till 1 (helt ogenomskinliga) |
Se även följande tabell för exempel på parametrarnas effekter när de tillämpas på en hel scen:
0 | 0.25 | 0,5 | 0.75 | 1.0 | |
---|---|---|---|---|---|
Desaturation | |||||
Opacitet |
Shell-effekten tillämpas på den slutliga ogenomskinliga färgen som scenen skulle återges med annars. Det inkluderar åsidosättning av tonat-hierarkiskt tillstånd.
Exempel
Följande kod visar ett exempel på användning av ShellRenderingSettings
tillståndet via API:et:
void SetShellSettings(RenderingSession session)
{
ShellRenderingSettings shellRenderingSettings = session.Connection.ShellRenderingSettings;
shellRenderingSettings.Desaturation = 0.5f;
shellRenderingSettings.Opacity = 0.1f;
}
void SetShellSettings(ApiHandle<RenderingSession> session)
{
ApiHandle<ShellRenderingSettings> shellRenderingSettings = session->Connection()->GetShellRenderingSettings();
shellRenderingSettings->SetDesaturation(0.5f);
shellRenderingSettings->SetOpacity(0.1f);
}
Prestanda
Funktionen för skalrendering medför en liten konstant omkostnad jämfört med ogenomskinlig standardåtergivning. Det går betydligt snabbare än att använda transparent material på objekt eller genomskinlig återgivning. Prestanda kan försämras starkare om endast delar av scenen växlas till skalrendering. Den här försämringen kan inträffa på grund av att ytterligare avslöjade objekt kräver återgivning. I det avseendet beter sig prestandan på samma sätt som funktionen Klipp ut plan .