Sdílet prostřednictvím


Vykreslování obrysů

Vybrané objekty lze vizuálně zvýraznit přidáním vykreslování osnovy prostřednictvím komponenty přepsání hierarchického stavu. Tato kapitola vysvětluje, jak se globální parametry vykreslování osnovy mění prostřednictvím klientského rozhraní API.

Vlastnosti osnovy jsou globální nastavení. Všechny objekty, které používají vykreslování obrysu, používají stejné nastavení – není možné použít barvu obrysu jednotlivých objektů.

Poznámka:

Efekt vykreslení osnovy se nedá použít pro bodové mraky.

Parametry pro OutlineSettings

Třída OutlineSettings obsahuje nastavení související s vlastnostmi globální osnovy. Zveřejňuje následující členy:

Parametr Typ Popis
Color Color4Ub Barva použitá pro kreslení obrysu. Alfa část se ignoruje.
PulseRateHz float (číslo s plovoucí řádovou čárkou) Rychlost, s jakou obrys osciluje za sekundu
PulseIntensity float (číslo s plovoucí řádovou čárkou) Intenzita obrysového impulsního efektu. Musí být v rozmezí 0,0 pro žádné pulzování a 1,0 pro plnou pulzaci. Intenzita implicitně nastaví minimální neprůhlednost osnovy jako MinOpacity = 1.0 - PulseIntensity.
MaskTexture 2D textura Pokud je zadána, barva obrysu bude vybarvena touto texturou. Textura se vzorkuje v souřadnicích prostoru obrazovky a různých parametrech (MaskScale, MaskScaleToFit, MaskOffset, MaskScrollSpeedMaskRotationCenter, , MaskRotationAngle, ) MaskRotationSpeedovlivňují roztažení, otočení a posouvání tohoto mapování. Tuto funkci lze použít k dosažení efektů, jako je barevný přechod nebo přerušované obrysy. Viz druhý příklad obrázku níže.

Objekt vykreslený třikrát s různými parametry osnovy Vliv změny parametru color ze žlutého (levého) na purpurový (střed) a pulseIntensity od 0 do 0,8 (vpravo).

Objekt vykreslený dvakrát zobrazující odlišné případy použití pro masky textury osnovy Efekt použití textury masky na obrysy: Barevné přechody zarovnané na obrazovce (vlevo) nebo přerušované obrysy simulované pomocí textury provazování s pruhy (vpravo).

Příklad

Následující kód ukazuje příklad nastavení parametrů osnovy prostřednictvím rozhraní 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);
}

Výkon

Vykreslování osnovy může mít významný vliv na výkon vykreslování. Tento dopad se liší v závislosti na prostorovém prostoru obrazovky mezi vybranými a nevybranými objekty pro daný rámec.

Dokumentace k rozhraní API

Další kroky