Share via


Representación Single-sided

La mayoría de los representadores usan la selección de la cara posterior para mejorar el rendimiento. Sin embargo, cuando se cortan las mallas abiertas con planos de corte, los usuarios suelen ver la cara posterior de los triángulos. Si esos triángulos se seleccionan, el resultado no parecerá convincente.

La manera de evitar este problema de forma confiable es representar triángulos de dos caras. Como no usar la selección de la cara posterior tiene implicaciones en el rendimiento, de forma predeterminada, Azure Remote Rendering solo cambia a la renderización de dos caras para las mallas que forman intersección con un plano de corte.

El valor de representación single-sided permite personalizar este comportamiento.

Precaución

La configuración de representación single-sided es una característica experimental. Puede volver a quitarse en el futuro. No cambie la configuración predeterminada, a menos que resuelva realmente un problema crítico en la aplicación.

Requisitos previos

La configuración de representación single-sided solo tiene efecto para las mallas que se han convertido con la opción opaqueMaterialDefaultSidedness establecida en SingleSided. De forma predeterminada, el valor de esta opción es DoubleSided.

Configuración de representación Single-sided

Hay tres modos diferentes:

Normal: en este modo, las mallas siempre se representan a medida que se convierten. Esto significa que las mallas convertidas con el valor opaqueMaterialDefaultSidedness establecido en SingleSided siempre se representarán con la selección de la cara posterior habilitada, incluso cuando forman intersección con un plano de corte.

DynamicDoubleSiding: en este modo, cuando un plano de corte interseca una malla, se cambia automáticamente a la representación de doble cara. Este modo es el predeterminado.

AlwaysDoubleSided: obliga a representar todas las geometrías de un solo lado en todo momento. Este modo se expone principalmente para que pueda comparar fácilmente el impacto en el rendimiento entre la representación single-sided y double-sided.

Para cambiar la configuración de representación single-sided, siga estos pasos:

void ChangeSingleSidedRendering(RenderingSession session)
{
    SingleSidedSettings settings = session.Connection.SingleSidedSettings;

    // Single-sided geometry is rendered as is
    settings.Mode = SingleSidedMode.Normal;

    // Single-sided geometry is always rendered double-sided
    settings.Mode = SingleSidedMode.AlwaysDoubleSided;
}
void ChangeSingleSidedRendering(ApiHandle<RenderingSession> session)
{
    ApiHandle<SingleSidedSettings> settings = session->Connection()->GetSingleSidedSettings();

    // Single-sided geometry is rendered as is
    settings->SetMode(SingleSidedMode::Normal);

    // Single-sided geometry is always rendered double-sided
    settings->SetMode(SingleSidedMode::AlwaysDoubleSided);
}

Documentación de la API

Pasos siguientes