Freigeben über


Konturenrendering

Ausgewählte Objekte können visuell hervorgehoben werden, indem über die Komponente für hierarchische Zustandsüberschreibung Konturenrendering hinzugefügt wird. In diesem Kapitel wird erläutert, wie globale Parameter für das Konturenrendering über die Client-API geändert werden.

Bei Kontureneigenschaften handelt es sich um eine globale Einstellung. Alle Objekte mit Kontur-Rendering verwenden dieselbe Einstellung – es ist nicht möglich, Farben nur für die Konturen einzelner Objekte zu verwenden.

Hinweis

Der Kontur-Rendering-Effekt kann nicht auf Punktwolken angewendet werden.

Parameter für OutlineSettings

Die Klasse OutlineSettings enthält die Einstellungen für globale Kontureneigenschaften. Sie macht die folgenden Member verfügbar:

Parameter Typ Beschreibung
Color Color4Ub Mit diesem Parameter wird die Farbe festgelegt, die für die Konturen verwendet wird. Der Alphateil wird ignoriert.
PulseRateHz float Mit diesem Parameter wird die Oszillationsrate der Konturen pro Sekunde festgelegt.
PulseIntensity float Mit diesem Parameter wird die Intensität des Pulsierens der Konturen festgelegt. Der Wert muss zwischen 0,0 für kein Pulsieren und 1,0 für volles Pulsieren liegen. Die Intensität legt die Mindestdeckkraft der Konturen implizit auf MinOpacity = 1.0 - PulseIntensity fest.
MaskTexture 2D-Textur Wenn angegeben, wird die Farbe der Kontur von dieser Textur getönt. Die Textur wird in Bildschirmkoordinaten erfasst und verschiedene Parameter (MaskScale, MaskScaleToFit, MaskOffset, MaskScrollSpeed, MaskRotationCenter, MaskRotationAngle, MaskRotationSpeed) wirken sich auf die Streckung, Drehung und das Scrollen dieser Abbildung aus. Dieses Feature kann verwendet werden, um Effekte wie einen Farbverlauf oder gestrichelte Konturen zu erzielen. Siehe zweites Beispielbild unten.

Ein Objekt, das dreimal mit unterschiedlichen Gliederungsparametern gerendert wird Die Wirkung der Änderung des Parameters color von gelb (links) in Magenta (Mitte) und pulseIntensity von 0 in 0,8 (rechts).

Ein Objekt, das zweimal gerendert wird, zeigt unterschiedliche Anwendungsfälle für Gliederungstextmasken an Der Effekt der Anwendung einer Maskentextur auf die Umrisse: Am Bildschirm ausgerichtete Farbverläufe (links) oder gestrichelte Umrisse, die durch die Verwendung einer Kacheltextur mit Streifen simuliert werden (rechts).

Beispiel

Der folgende Code ist ein Beispiel für das Festlegen von Konturenparametern über die 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);
}

Leistung

Konturenrendering kann die Renderingleistung erheblich beeinflussen. Dieser Einfluss variiert basierend auf dem Platzverhältnis in Bezug auf den verwendeten Bildschirmplatz zwischen ausgewählten und nicht ausgewählten Objekten in einem bestimmten Frame.

API-Dokumentation

Nächste Schritte