Partage via


Rendu en mode contour

Les objets sélectionnés peuvent être mis en surbrillance en ajoutant le rendu en mode contour via le composant de remplacement d’état hiérarchique. Ce chapitre explique comment les paramètres globaux du rendu en mode contour sont modifiés via l’API cliente.

Les propriétés de contour constituent un paramètre global. Tous les objets utilisant le rendu en mode contour ont recours au même paramètre ; il n’est pas possible d’utiliser une couleur de contour par objet.

Remarque

L’effet de rendu de contour ne peut pas être appliqué aux nuages de points.

Paramètres pour OutlineSettings

La classe OutlineSettings contient les paramètres relatifs aux propriétés de contour globales. Elle expose les membres suivants :

Paramètre Type Description
Color Color4Ub Couleur utilisée pour dessiner le contour. La partie alpha est ignorée.
PulseRateHz virgule flottante Vitesse d'oscillation du contour par seconde
PulseIntensity virgule flottante Intensité de l’effet de pulsation du contour. Doit être compris entre 0,0 pour aucune pulsation et 1,0 pour une pulsation totale. L’intensité définit implicitement l’opacité minimale du contour comme MinOpacity = 1.0 - PulseIntensity.
MaskTexture Texture 2D Si elle est spécifiée, la couleur du contour sera teinte par cette texture. La texture est échantillonné dans les coordonnées de l’espace écran et différents paramètres (MaskScale, MaskScaleToFit, MaskOffset, MaskScrollSpeed, MaskRotationCenter, MaskRotationAngle et MaskRotationSpeed) affectent l’étirement, la rotation et le défilement de ce mappage. Cette fonctionnalité peut être utilisée pour obtenir des effets tels qu’un dégradé de couleur ou des contours en pointillés. Consultez le deuxième exemple d’image ci-dessous.

Objet rendu trois fois avec des paramètres hiérarchiques différentsEffet de modification du paramètre color de jaune (gauche) à magenta (centre) et pulseIntensity de 0 à 0,8 (droite).

Objet rendu deux fois montrant des cas d’usage distincts pour les masques de texture hiérarchiqueEffet de l’application d’une texture de masque aux contours : dégradés de couleurs alignés sur l’écran (gauche) ou contours pointillés simulés à l’aide d’une texture de mosaïque avec des bandes (droite).

Exemple

Le code suivant montre un exemple de définition de paramètres de contour via 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);
}

Performances

Le rendu en mode contour peut avoir un impact significatif sur les performances de rendu. Cet impact varie en fonction de la relation spatiale écran-espace entre les objets sélectionnés et non sélectionnés pour un cadre donné.

Documentation de l'API

Étapes suivantes