Iluminación de escenas

De forma predeterminada, los objetos representados de forma remota se iluminan con un color celeste claro. Para la mayoría de las aplicaciones, la luz del cielo estática ya es suficiente, pero puede agregar más fuentes de luz a la escena.

Importante

Solo los materiales de PBR afectan a las fuentes de luz. Los materiales de color y las nubes de puntos siempre aparecen completamente brillantes.

Nota:

Actualmente no se admite la proyección de sombras. Azure Remote Rendering está optimizado para representar enormes cantidades de geometría, mediante el uso de varias GPU si es necesario. Los enfoques tradicionales para la proyección de sombras no funcionan bien en estos escenarios.

Propiedades comunes de componentes de luz

Todos los tipos de luz derivan de la clase base abstracta LightComponent y comparten estas propiedades:

  • Color: color de la luz en el espacio Gamma. Se omite Alpha.

  • Intensidad: el brillo de la luz. En el caso de las luces focales y puntuales, la intensidad también define la distancia a la que la luz llega.

Luz puntual

En Azure Remote Rendering, el PointLightComponent no solo puede emitir luz desde un único punto, sino también desde una esfera pequeña o un tubo pequeño, para simular fuentes de luz más suaves.

Propiedades de PointLightComponent

  • Radius: el radio predeterminado es cero, en cuyo caso la luz actúa como una luz puntual. Si el radio es mayor que cero, actúa como una fuente de luz esférica, que cambia la apariencia de los reflejos especulares.

  • Length: si Length y Radius son distintos de cero, la luz actúa como una luz de tubo. Se puede usar esta combinación para simular tubos de neón.

  • AttenuationCutoff: si se deja en (0,0), la atenuación de la luz solo depende de su valor de Intensity (intensidad). Sin embargo, puede proporcionar distancias mínimas y máximas personalizadas sobre las que la intensidad de la luz se escale linealmente a 0. Esta característica se puede usar para aplicar un intervalo menor de influencia de una luz concreta.

  • ProjectedCubemap: si se establece en un mapa de cubo válido, la textura se proyecta en la geometría circundante de la luz. El color del mapa de cubo se modula con el color de la luz.

Luz focal

El valor de SpotLightComponent es similar al de PointLightComponent, pero la luz está restringida a la forma de un cono. La orientación del cono se define mediante el eje z negativo de la entidad propietaria.

Propiedades de SpotLightComponent

  • Radius: igual que para PointLightComponent.

  • SpotAngleDeg: este intervalo define el ángulo interno y externo del cono, medido en grado. Todo el contenido dentro del ángulo interior se ilumina con un brillo completo. Se aplica un descenso hacia el ángulo exterior que genera un efecto similar a la penumbra.

  • FalloffExponent: define cómo se realiza la transición de caída de forma nítida entre el ángulo interno y el cono exterior. Un valor mayor produce una transición más nítida. El valor predeterminado de 1,0 da como resultado una transición lineal.

  • AttenuationCutoff: igual que para PointLightComponent.

  • Projected2dTexture: si se establece en una textura 2D válida, la imagen se proyecta en geometría en la que brilla la luz. El color de la textura se modula con el color de la luz.

Luz direccional

El valor de DirectionalLightComponent simula una fuente de luz que está infinitamente lejos. La luz destaca en la dirección del eje Z negativo de la entidad propietaria. Se omite la posición de la entidad.

No hay propiedades adicionales.

Consideraciones de rendimiento

Las fuentes de luz tienen un efecto significativo en el rendimiento de la representación. Úselas con cuidado y solo si la aplicación lo requiere. Cualquier condición de iluminación global estática, incluido un componente direccional estático, se puede lograr con una textura de cielo personalizada, sin ningún costo de representación adicional.

Documentación de la API

Pasos siguientes