Compartir a través de


Representación del shell

El estado del shell del componente de invalidación de estado jerárquico es un efecto de transparencia. A diferencia de la representación transparente, solo está visible la capa de los objetos que está en primer plano, de forma similar a lo que sucede en la representación opaca. Además, la apariencia normal de los objetos se puede modificar cuando se representan como shells. El efecto está pensado para los casos de uso en los que el usuario se debe alejar visualmente de las partes no importantes y mantener una conciencia espacial de toda la escena.

La apariencia de los objetos representados por el shell se puede configurar a través del estado global ShellRenderingSettings. Todos los objetos que usan la representación del shell utilizarán el mismo valor. No hay parámetros por objeto.

Nota:

El efecto de representación del shell no se puede aplicar a nubes de puntos.

Parámetros de ShellRenderingSettings

La clase ShellRenderingSettings contiene la configuración relacionada con las propiedades de la representación del shell global:

Parámetro Tipo Description
Desaturation FLOAT La cantidad de desaturación que se aplica al color final habitual del objeto. El valor oscila entre 0 (sin desaturación) y 1 (desaturación total)
Opacity FLOAT La opacidad de los objetos representados por el shell. El valor oscila entre 0 (invisible) y 1 (completamente opaco)

Vea también la tabla siguiente, donde encontrará ejemplos de los efectos de los parámetros cuando se aplican a una escena completa:

0 0.25 0.5 0,75 1.0
Desaturación Desaturation-0.0 Desaturation-0.25 Desaturation-0.5 Desaturation-0.75 Desaturation-1.0
Opacidad Opacity-0.0 Opacity-0.25 Opacity-0.5 Opacity-0.75 Opacity-1.0

El efecto de shell se aplica al color opaco final con el que se representará la escena en caso contrario. Aquí se incluye la invalidación del estado jerárquico del tinte.

Ejemplo

El código siguiente muestra un uso de ejemplo del estado ShellRenderingSettings a través de la 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);
}

Rendimiento

La característica de representación del shell conlleva una pequeña sobrecarga constante, en comparación con la representación opaca estándar. Es considerablemente más rápido que usar materiales transparentes en objetos o que la representación transparente. El rendimiento empeorar con mayor intensidad si no cambian a la representación del shell toda una escena, sino solo algunas partes. Esta degradación puede producirse porque los objetos adicionales que se revelan requieren representación. A este respecto, el rendimiento se comporta de forma similar a la característica de planos de corte.

Pasos siguientes