Share via


Rendu de shells

L’état de châssis du composant de remplacement d’état hiérarchique est un effet de transparence. Contrairement à un rendu semi-transparent, seule la couche la plus en avant des objets est visible, comme dans un rendu opaque. De plus, l’aspect normal des objets peut être modifié en cas de rendu sous forme de châssis. L’effet est prévu pour les cas d’usage où l’utilisateur doit être visuellement guidé vers les parties importantes tout en conservant une sensibilité spatiale sur l’ensemble de la scène.

Vous pouvez configurer l’apparence des objets rendus en tant que châssis par le biais de l’état global ShellRenderingSettings. Tous les objets qui utilisent le rendu de châssis utilisent le même paramètre. Il n’existe aucun paramètre d’objet.

Remarque

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

Paramètres ShellRenderingSettings

La classe ShellRenderingSettings contient les paramètres relatifs aux propriétés de rendu de châssis globales :

Paramètre Type Description
Desaturation virgule flottante Quantité de désaturation à appliquer à la couleur de l’objet final habituel, comprise dans une plage allant de 0 (aucune désaturation) à 1 (désaturation complète)
Opacity virgule flottante Opacité des objets rendus en tant que châssis, comprise dans une plage allant de 0 (invisible) à 1 (entièrement opaque)

Consultez aussi le tableau suivant pour obtenir des exemples des effets des paramètres quand ils sont appliqués à une scène entière :

0 0,25 0.5 0.75 1.0
Désaturation Desaturation-0.0 Desaturation-0.25 Desaturation-0.5 Desaturation-0.75 Desaturation-1.0
Opacité Opacity-0.0 Opacity-0.25 Opacity-0.5 Opacity-0.75 Opacity-1.0

L’effet de châssis est appliqué sur la couleur opaque finale dans laquelle la scène serait rendue autrement. Cet effet comprend le remplacement de l’état hiérarchique de la teinte.

Exemple

Le code suivant illustre un exemple d’utilisation de l’état ShellRenderingSettings par le biais de l’API :

void SetShellSettings(RenderingSession session)
{
    ShellRenderingSettings shellRenderingSettings = session.Connection.ShellRenderingSettings;
    shellRenderingSettings.Desaturation = 0.5f;
    shellRenderingSettings.Opacity = 0.1f;
}
void SetShellSettings(ApiHandle<RenderingSession> session)
{
    ApiHandle<ShellRenderingSettings> shellRenderingSettings = session->Connection()->GetShellRenderingSettings();
    shellRenderingSettings->SetDesaturation(0.5f);
    shellRenderingSettings->SetOpacity(0.1f);
}

Performances

La fonctionnalité de rendu de châssis comporte une petite surcharge constante en comparaison avec le rendu opaque standard. Elle est beaucoup plus rapide que l’utilisation de documents transparents sur des objets ou le rendu semi-transparent. Les performances peuvent se dégrader plus fortement si seules certaines parties de la scène passent en rendu de châssis. Cette dégradation peut se produire en raison d’un nombre d’objets plus élevé nécessitant un rendu. À cet égard, les performances se comportent de la même façon que la fonctionnalité Plans de coupe.

Étapes suivantes