Condividi tramite


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, MaskOffsetMaskRotationAngleMaskScrollSpeedMaskRotationCenterMaskRotationSpeed) 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.

Rendering di un oggetto tre volte con parametri struttura diversi Effetto della modifica del color parametro da giallo (sinistro) a magenta (centrale) e pulseIntensity da 0 a 0,8 (a destra).

Rendering di un oggetto due volte che mostra casi d'uso distinti per le maschere di trama del contorno 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.

Documentazione sull'API

Passaggi successivi