Compartilhar via


Renderização de nuvem de ponto

Observação

O recurso de renderização de nuvem de pontos ARR está em versão prévia pública no momento.

Esse recurso está sendo desenvolvido ativamente e pode não estar concluído. Ele é está sendo disponibilizado como “versão prévia”. Você pode testar e usar esse recurso nos seus cenários e fazer comentários.

Para obter mais informações, consulte Termos de Uso Complementares de Versões Prévias do Microsoft Azure.

O ARR dá suporte à renderização de nuvens de pontos como uma alternativa às malhas triangulares. A renderização de nuvem de pontos permite novos casos de uso em que a conversão de nuvens de pontos em malhas triangulares como uma etapa de pré-processamento é impraticável (devido ao tempo de retorno ou à complexidade, por exemplo) ou quando o processo de conversão remove detalhes importantes.

Semelhante à conversão de malha triangular, a conversão de nuvem de pontos não prejudica os dados de entrada.

Conversão de nuvem de pontos

A conversão de ativos de nuvem de pontos funciona de modo totalmente análogo à conversão de malhas triangulares: um arquivo de entrada de nuvem de pontos é convertido em um arquivo .arrAsset, que, por sua vez, pode ser consumido pela API do runtime para carregamento.

A lista de formatos de arquivo de nuvem de pontos com suporte pode ser encontrada na seção Conversão de modelo.

As configurações de conversão especificamente para arquivos de nuvem de pontos são explicadas no parágrafo Configurações de conversão.

Limitações de tamanho

A conversão de ativos na nuvem de pontos tem um limite rígido de 12,5 bilhões de pontos por ativo convertido. Se conjuntos de dados maiores precisarem ser renderizados, o arquivo de origem precisará ser dividido em vários ativos que obedeçam à restrição de 12,5 bilhões de pontos cada. O renderizador não limita o número de ativos exclusivos sendo carregados, e a técnica de dados de streaming garante que a priorização funcione perfeitamente em todas as instâncias carregadas. Para saber o número geral máximo de pontos permitidos carregados e renderizados por ARR, aplica-se o mesmo tipo de distinções entre uma sessão de renderização standard e premium, conforme a descrição no parágrafo sobre os limites de tamanho do servidor.

Propriedades globais de renderização

Há uma só API para acessar as configurações globais de renderização das nuvens de pontos. O sufixo _Experimental foi adicionado para indicar que a API está em versão prévia pública no momento e pode estar sujeita a alterações.

void ChangeGlobalPointCloudSettings(RenderingSession session)
{
    PointCloudSettings settings = session.Connection.PointCloudSettings_Experimental;

    // Make all points bigger (default = 1.0)
    settings.PointSizeScale = 1.25f;
}
void ChangeGlobalPointCloudSettings(ApiHandle<RenderingSession> session)
{
    ApiHandle<PointCloudSettings> settings = session->Connection()->PointCloudSettings_Experimental();

    // Make all points bigger (default = 1.0)
    settings->SetPointSizeScale(1.25f);
}

Streaming de dados na nuvem de pontos

Os arquivos de ativos de nuvem de ponto são configurados automaticamente para streaming dinâmico de dados durante a conversão. Isso significa que, ao contrário dos ativos de malha triangular, os ativos de nuvem de ponto de tamanho significativo não são totalmente baixados para a VM de renderização, mas parcialmente carregados do armazenamento, conforme necessário.

Independentemente do tamanho do arquivo da nuvem de pontos, o grande benefício da abordagem de streaming de dados é que o renderizador pode começar cedo com a apresentação dos dados. A decisão do renderizador sobre quais dados priorizar é baseada na visualização da câmera e na proximidade em todos os modelos de nuvem de pontos carregados. Nenhuma interação personalizada por meio da API é necessária. Além disso, o streaming de dados gerencia automaticamente o orçamento e as prioridades com base na quantidade de dados específicos relevantes para a exibição atual. Caso vários ativos de nuvem de pontos sejam instanciados em cena, o sistema de streaming garante priorizar os dados perfeitamente em todas as nuvens de pontos, assim como seria um único ativo. Assim, dividir o arquivo de origem é uma maneira conveniente de contornar a limitação de tamanho por arquivo.

Documentação da API

Próximas etapas