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 , , MaskScrollSpeed MaskRotationCenter , MaskRotationAngle , ) MaskRotationSpeed afetam 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. |
O efeito de alterar o color
parâmetro de amarelo (esquerda) para magenta (centro) e pulseIntensity
de 0 para 0,8 (direita).
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.