Rendering del contorno
Gli oggetti selezionati possono essere evidenziati visivamente aggiungendo il rendering del contorno tramite il componente di override dello stato gerarchico. Questo capitolo illustra il modo in cui è possibile modificare i parametri globali per il rendering del contorno tramite l'API client.
Le proprietà del contorno sono un'impostazione globale. Tutti gli oggetti che usano il rendering struttura usano la stessa impostazione: non è possibile usare un colore di struttura per oggetto.
Nota
L'effetto di rendering della struttura non può essere applicato alle nuvole di punti.
Parametri per OutlineSettings
La classe OutlineSettings
include le impostazioni correlate alle proprietà del contorno globali ed espone i membri seguenti:
Parametro | Tipo | Descrizione |
---|---|---|
Color |
Color4Ub | Colore usato per disegnare il contorno. La parte alfa viene ignorata. |
PulseRateHz |
float | Velocità di oscillazione del contorno al secondo |
PulseIntensity |
float | Intensità dell'impulso del contorno. Il valore deve essere compreso tra 0,0 (nessun impulso) e 1,0 (impulso completo). L'intensità imposta in modo implicito l'opacità minima del contorno come MinOpacity = 1.0 - PulseIntensity . |
MaskTexture |
Trama 2D | Se specificato, il colore del contorno verrà tinto in base a questa trama. La trama viene campionata nelle coordinate dello spazio dello schermo e nei vari parametri (MaskScale , MaskScaleToFit , MaskOffset MaskRotationAngle MaskScrollSpeed MaskRotationCenter MaskRotationSpeed ) influiscono sull'estensione, la rotazione e lo scorrimento di tale mapping. Questa funzionalità può essere usata per ottenere effetti come una sfumatura di colore o contorni tratteggiati. Vedere la seconda immagine di esempio seguente. |
Effetto della modifica del
color
parametro da giallo (sinistro) a magenta (centrale) e pulseIntensity
da 0 a 0,8 (a destra).
Effetto dell'applicazione di una trama di maschera ai contorni: sfumature di colore allineate sullo schermo (a sinistra) o contorni tratteggiati simulati usando una trama di legatura con strisce (destra).
Esempio
Il codice seguente illustra un esempio per l'impostazione dei parametri del contorno tramite l'API:
void SetOutlineParameters(RenderingSession session)
{
OutlineSettings outlineSettings = session.Connection.OutlineSettings;
outlineSettings.Color = new Color4Ub(255, 255, 0, 255);
outlineSettings.PulseRateHz = 2.0f;
outlineSettings.PulseIntensity = 0.5f;
}
void SetOutlineParameters(ApiHandle<RenderingSession> session)
{
ApiHandle<OutlineSettings> outlineSettings = session->Connection()->GetOutlineSettings();
Color4Ub outlineColor;
outlineColor.channels = { 255, 255, 0, 255 };
outlineSettings->SetColor(outlineColor);
outlineSettings->SetPulseRateHz(2.0f);
outlineSettings->SetPulseIntensity(0.5f);
}
Prestazioni
Il rendering del contorno può avere un impatto significativo sulle prestazioni di rendering. Questo impatto varia in base alla relazione spaziale dello spazio dello schermo tra gli oggetti selezionati e non selezionati per un determinato frame.