pyvale.render.light module

Common three dimensional light data.

class ELightType(*values)[source]

Bases: Enum

Light geometries understood by compatible three dimensional backends.

POINT = 'point'
SUN = 'sun'
SPOT = 'spot'
AREA = 'area'
class Light(light_type, pos_world, direction_world, intensity, shadow_soft_size=1.5)[source]

Bases: object

A physical light source for a renderer that supports lights.

Parameters:
  • light_type (ELightType) – Geometry of the light source.

  • pos_world (np.ndarray) – World position array of the source with shape (3,) and dtype float64 representing (X, Y, Z) coordinates.

  • direction_world (np.ndarray) – World space direction vector array with shape (3,) and dtype float64 representing (X, Y, Z) components. Relevant to sun and area lights.

  • intensity (float) – Non negative backend independent light intensity.

  • shadow_soft_size (float, optional) – Source radius used by backends that support soft shadows. Defaults to 1.5.

light_type
pos_world
direction_world
intensity
shadow_soft_size
__init__(light_type, pos_world, direction_world, intensity, shadow_soft_size=1.5)