Iluminação de cena

Por padrão, os objetos renderizados remotamente são acesos usando uma claraboia. Para a maioria dos aplicativos, uma luz suspensa estática já é suficiente, mas você pode adicionar mais fontes de luz dinâmicas à cena.

Importante

Somente materiais PBR são afetados por fontes de luz. Materiais de cores e nuvens de pontos sempre aparecem totalmente brilhantes.

Observação

Atualmente, não há suporte para gerar sombras. O Azure Remote Rendering é otimizado para renderizar enormes quantidades de geometria, utilizando várias GPUs se necessário. As abordagens tradicionais à conversão de sombra não funcionam bem nesses cenários.

Propriedades comuns do componente de luz

Todos os tipos de luz derivam da classe base abstrata LightComponent e compartilham essas propriedades:

  • Cor: a cor da luz no espaço gama. Alfa é ignorado.

  • Intensidade: o brilho da luz. Para luzes de ponto e Spot, a intensidade também define o quanto a luz brilha.

Luz pontual

No Azure Remote Rendering, o PointLightComponent pode não apenas emitir luz de um só ponto, como também de uma esfera pequena ou de um pequeno tubo para simular fontes de luz mais suaves.

Propriedades do PointLightComponent

  • Raio: o raio padrão é zero; nesse caso, a luz age como uma luz pontual. Se o raio for maior que zero, ele atuará como fonte de luz esférica, que altera a aparência dos realces especulares.

  • Comprimento: se tanto Length quanto Radius forem diferentes de zero, a luz agirá como uma luz de tubo. Essa combinação pode ser usada para simular tubos de neon.

  • AttenuationCutoff: se deixado como (0,0) a atenuação da luz dependerá apenas de Intensity. No entanto, você pode fornecer distâncias mínimas/máximas personalizadas em que a intensidade da luz é dimensionada linearmente para 0. Esse recurso pode ser usado para impor um intervalo menor de influência de uma luz específica.

  • ProjectedCubemap: se for definido como um cubemap válido, a textura será projetada na geometria ao redor da luz. A cor do cubemap é modulada com a cor da luz.

Spot light

O SpotLightComponent é semelhante ao PointLightComponent, mas a luz é restrita à forma de um cone. A orientação do cone é definida pelo eixo z negativo da entidade do proprietário.

Propriedades de SpotLightComponent

  • Raio: o mesmo que para o PointLightComponent.

  • SpotAngleDeg: esse intervalo define os ângulos interno e externo do cone, medidos em graus. Tudo dentro do ângulo interno é iluminado com brilho completo. Uma queda é aplicada em direção ao ângulo externo, gerando um efeito semelhante ao de penumbra.

  • FalloffExponent: define a nitidez da transição entre o ângulo do cone interno e o exterior. Um valor mais alto resulta em uma transição mais nítida. O padrão de 1,0 resulta em uma transição linear.

  • AttenuationCutoff: o mesmo que para o PointLightComponent.

  • Projected2dTexture: se for definido como uma textura 2D válida, a imagem será projetada na geometria em que a luz brilha. A cor da textura é modulada com a cor da luz.

Luz direcional

O DirectionalLightComponent simula uma fonte de luz que está infinitamente distante. A luz se destaca na direção do eixo z negativo da entidade do proprietário. A posição da entidade é ignorada.

Não há propriedades adicionais.

Considerações sobre o desempenho

As fontes de luz têm um impacto significativo no desempenho da renderização. Use-as com cuidado e apenas se exigido pelo aplicativo. Qualquer condição de iluminação global estática, incluindo um componente direcional estático, pode ser obtida com uma textura de céu personalizada sem custo de renderização adicional.

Documentação da API

Próximas etapas