Rendering della shell
Lo stato della shell del componente override dello stato gerarchico è un effetto di trasparenza. A differenza del rendering see-through , solo il livello anteriore degli oggetti è visibile, simile al rendering opaco. Inoltre, l'aspetto normale degli oggetti può essere modificato quando ne viene eseguito il rendering come shell. L'effetto è destinato ai casi d'uso in cui l'utente deve essere guidato visivamente da parti non importanti mantenendo comunque la consapevolezza spaziale per l'intera scena.
È possibile configurare l'aspetto degli oggetti di cui è stato eseguito il rendering della shell tramite lo ShellRenderingSettings
stato globale. Tutti gli oggetti che usano il rendering della shell useranno la stessa impostazione. Non esistono parametri per oggetto.
Nota
L'effetto di rendering della shell non può essere applicato alle nuvole di punti.
Parametri ShellRendering Impostazioni
La classe ShellRenderingSettings
contiene le impostazioni correlate alle proprietà di rendering della shell globale:
Parametro | Tipo | Descrizione |
---|---|---|
Desaturation |
float | Quantità di desatura da applicare al colore dell'oggetto finale consueto, nell'intervallo 0 (nessuna desaturazione) a 1 (desaturazione completa) |
Opacity |
float | Opacità degli oggetti sottoposti a rendering della shell, nell'intervallo da 0 (invisibile) a 1 (completamente opaco) |
Vedere anche la tabella seguente per esempi degli effetti dei parametri quando applicati a un'intera scena:
0 | 0.25 | 0.5 | 0.75 | 1.0 | |
---|---|---|---|---|---|
Desaturazione | |||||
Opacità |
L'effetto della shell viene applicato al colore opaco finale con cui verrà eseguito il rendering della scena in caso contrario. Che include l'override dello stato gerarchico tinta.
Esempio
Il codice seguente illustra un esempio di utilizzo dello ShellRenderingSettings
stato tramite l'API:
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);
}
Prestazioni
La funzionalità di rendering della shell comporta un sovraccarico costante ridotto rispetto al rendering opaco standard. È molto più veloce rispetto all'uso di materiali trasparenti su oggetti o rendering see-through . Le prestazioni possono peggiorare in modo più forte se solo parti della scena vengono passate al rendering della shell. Questa riduzione può verificarsi a causa di oggetti rivelati che richiedono il rendering. In tal senso, le prestazioni si comportano in modo analogo alla funzionalità Piani di taglio.