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 , , MaskOffset MaskScaleToFit , 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. |
Effekten av att ändra parametern color
från gul (vänster) till magenta (mitten) och pulseIntensity
från 0 till 0,8 (höger).
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.