Partilhar via


Composição de contorno

Os objetos selecionados podem ser realçados visualmente adicionando renderização de estrutura de tópicos por meio do componente Substituição de estado hierárquico. Este capítulo explica como os parâmetros globais para renderização de estrutura de tópicos são alterados por meio da API do cliente.

As propriedades da estrutura de tópicos são uma configuração global. Todos os objetos que usam renderização de estrutura de tópicos usam a mesma configuração - não é possível usar uma cor de contorno por objeto.

Nota

O efeito de renderização da estrutura de tópicos não pode ser aplicado a nuvens de pontos.

Parâmetros para OutlineSettings

Class OutlineSettings contém as configurações relacionadas às propriedades de estrutura de tópicos globais. Expõe os seguintes membros:

Parâmetro Tipo Description
Color Color4Ub A cor usada para desenhar o contorno. A porção alfa é ignorada.
PulseRateHz flutuante A taxa na qual o contorno oscila por segundo
PulseIntensity flutuante A intensidade do efeito de pulso do contorno. Deve estar entre 0,0 para nenhuma pulsação e 1,0 para pulsação completa. A intensidade define implicitamente a opacidade mínima do contorno como MinOpacity = 1.0 - PulseIntensity.
MaskTexture Textura 2D Se especificado, a cor do contorno será matizada por esta textura. A textura é amostrada em coordenadas de espaço de tela e vários parâmetros (MaskScale, MaskScaleToFit, MaskOffset, , MaskScrollSpeedMaskRotationCenter, MaskRotationAngle, ) MaskRotationSpeedafetam o alongamento, a rotação e a rolagem desse mapeamento. Esse recurso pode ser usado para obter efeitos como um gradiente de cor ou contornos tracejados. Veja o segundo exemplo de imagem abaixo.

Um objeto renderizado três vezes com diferentes parâmetros de estrutura de tópicos O efeito de alterar o color parâmetro de amarelo (esquerda) para magenta (centro) e pulseIntensity de 0 para 0,8 (direita).

Um objeto renderizado duas vezes mostrando casos de uso distintos para máscaras de textura de contorno O efeito da aplicação de uma textura de máscara aos contornos: gradientes de cor alinhados à tela (esquerda) ou contornos tracejados simulados usando uma textura de mosaico com listras (direita).

Exemplo

O código a seguir mostra um exemplo para definir parâmetros de estrutura de tópicos por meio da 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);
}

Desempenho

A renderização de estrutura de tópicos pode ter um impacto significativo no desempenho de renderização. Esse impacto varia com base na relação espacial espaço-tela entre objetos selecionados e não selecionados para um determinado quadro.

Documentação da API

Próximos passos