Shell-renderelés
A hierarchikus állapot felülbírálási összetevő felületállapota áttetszőségi effektus. Az átlátszatlan megjelenítéssel ellentétben csak az objektumok előtérrétege látható, az átlátszatlan megjelenítéshez hasonló módon. Emellett az objektumok normál megjelenése is módosítható, ha a rendszerhéjként jelenik meg. A hatás olyan használati esetekre szolgál, amikor a felhasználót vizuálisan el kell irányítani a nem fontos részektől, miközben továbbra is fenntartja a térbeli tudatosságot az egész jelenetben.
A rendszerhéj által renderelt objektumok megjelenését a ShellRenderingSettings
globális állapoton keresztül konfigurálhatja. A rendszerhéj-renderelést használó összes objektum ugyanazt a beállítást fogja használni. Objektumparaméterenként nincsenek.
Megjegyzés:
A rendszerhéj-renderelési effektus nem alkalmazható a pontfelhőkre.
ShellRendering Gépház paraméterek
Az osztály ShellRenderingSettings
a globális rendszerhéj renderelési tulajdonságaihoz kapcsolódó beállításokat tartalmazza:
Paraméter | Típus | Description |
---|---|---|
Desaturation |
float | A szokásos végső objektumszínre alkalmazandó desaturáció mennyisége 0 (nincs deszaturálás) és 1 (teljes deszaturáció) tartományban |
Opacity |
float | A rendszerhéj által renderelt objektumok átlátszatlansága 0 (láthatatlan) és 1 közötti tartományban (teljesen átlátszatlan) |
Tekintse meg az alábbi táblázatot is, amely példákat tartalmaz a paraméterek hatásaira egy teljes jelenetre alkalmazva:
0 | 0,25 | 0,5 | 0,75 | 1,0 | |
---|---|---|---|---|---|
Desaturation | |||||
Opacitás |
A rendszerhéj-effektus a jelenet utolsó átlátszatlan színére lesz alkalmazva, ellenkező esetben. Ebbe beletartozik a színárnyalat hierarchikus állapotának felülbírálása.
Example
Az alábbi kód egy példa az állapot API-val történő használatára ShellRenderingSettings
:
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);
}
Teljesítmény
A rendszerhéj renderelési funkciója kis állandó többletterhelést hordoz a standard átlátszatlan rendereléshez képest. Ez jelentősen gyorsabb, mint átlátszó anyagok használata objektumokon vagy átlátszatott renderelés. A teljesítmény erősebben csökkenhet, ha a rendszer csak a jelenet egyes részeit váltja át a rendszerhéj-renderelésre. Ez a leromlás a renderelést igénylő, további feltárt objektumok miatt fordulhat elő. Ebben a tekintetben a teljesítmény a Kivágás síkok funkcióhoz hasonlóan viselkedik .