Dela via


Konturrendering

Markerade objekt kan markeras visuellt genom att lägga till dispositionsrendering via komponenten Åsidosättning av hierarkiskt tillstånd. I det här kapitlet beskrivs hur globala parametrar för dispositionsrendering ändras via klient-API:et.

Dispositionsegenskaper är en global inställning. Alla objekt som använder dispositionsrendering använder samma inställning – det går inte att använda en dispositionsfärg per objekt.

Kommentar

Dispositionsåtergivningseffekten kan inte tillämpas på punktmoln.

Parametrar för OutlineSettings

Klassen OutlineSettings innehåller inställningarna för globala dispositionsegenskaper. Den exponerar följande medlemmar:

Parameter Typ Beskrivning
Color Color4Ub Den färg som används för att rita konturen. Alfadelen ignoreras.
PulseRateHz flyttal Den hastighet med vilken dispositionen svänger per sekund
PulseIntensity flyttal Intensiteten i konturpulseffekten. Måste vara mellan 0,0 för ingen pulsering och 1,0 för full pulsering. Intensitet anger implicit den minsta opaciteten för dispositionen som MinOpacity = 1.0 - PulseIntensity.
MaskTexture 2D-struktur Om det anges kommer konturens färg att tonas av den här strukturen. Strukturen samplas i koordinater för skärmutrymme och olika parametrar (MaskScale, , MaskOffsetMaskScaleToFit, MaskScrollSpeed, MaskRotationCenter, MaskRotationAngle, MaskRotationSpeed) påverkar utstring, rotation och rullning av mappningen. Den här funktionen kan användas för att uppnå effekter som en färgtoning eller streckade konturer. Se den andra exempelbilden nedan.

Ett objekt som återges tre gånger med olika dispositionsparametrar Effekten av att ändra parametern color från gul (vänster) till magenta (mitten) och pulseIntensity från 0 till 0,8 (höger).

Ett objekt som återges två gånger som visar distinkta användningsfall för dispositionsstrukturmasker Effekten av att använda en maskstruktur på konturerna: Skärmjusterade färgtoningar (vänster) eller streckade konturer simulerade med hjälp av en plattsättningsstruktur med ränder (höger).

Exempel

Följande kod visar ett exempel för att ange dispositionsparametrar via API:et:

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);
}

Prestanda

Dispositionsrendering kan ha en betydande inverkan på renderingsprestanda. Den här effekten varierar beroende på den rumsliga relationen mellan valda och omarkerade objekt för en viss ram.

API-dokumentation

Nästa steg