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. |
Effet de modification du paramètre
color
de jaune (gauche) à magenta (centre) et pulseIntensity
de 0 à 0,8 (droite).
Effet 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é.