Attention: Here be dragons (unstable version)

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Redot.

GLTFLight

Inherits: Resource < RefCounted < Object

Represents a glTF light.

Description

Represents a light as defined by the KHR_lights_punctual glTF extension.

Tutorials

Properties

Color

color

Color(1, 1, 1, 1)

float

inner_cone_angle

0.0

float

intensity

1.0

String

light_type

""

float

outer_cone_angle

0.785398

float

range

inf

Methods

GLTFLight

from_dictionary(dictionary: Dictionary) static

GLTFLight

from_node(light_node: Light3D) static

Variant

get_additional_data(extension_name: StringName)

void

set_additional_data(extension_name: StringName, additional_data: Variant)

Dictionary

to_dictionary() const

Light3D

to_node() const


Property Descriptions

Color color = Color(1, 1, 1, 1) 🔗

The Color of the light. Defaults to white. A black color causes the light to have no effect.


float inner_cone_angle = 0.0 🔗

  • void set_inner_cone_angle(value: float)

  • float get_inner_cone_angle()

The inner angle of the cone in a spotlight. Must be less than or equal to the outer cone angle.

Within this angle, the light is at full brightness. Between the inner and outer cone angles, there is a transition from full brightness to zero brightness. When creating a Redot SpotLight3D, the ratio between the inner and outer cone angles is used to calculate the attenuation of the light.


float intensity = 1.0 🔗

  • void set_intensity(value: float)

  • float get_intensity()

The intensity of the light. This is expressed in candelas (lumens per steradian) for point and spot lights, and lux (lumens per m²) for directional lights. When creating a Redot light, this value is converted to a unitless multiplier.


String light_type = "" 🔗

  • void set_light_type(value: String)

  • String get_light_type()

The type of the light. The values accepted by Redot are "point", "spot", and "directional", which correspond to Redot's OmniLight3D, SpotLight3D, and DirectionalLight3D respectively.


float outer_cone_angle = 0.785398 🔗

  • void set_outer_cone_angle(value: float)

  • float get_outer_cone_angle()

The outer angle of the cone in a spotlight. Must be greater than or equal to the inner angle.

At this angle, the light drops off to zero brightness. Between the inner and outer cone angles, there is a transition from full brightness to zero brightness. If this angle is a half turn, then the spotlight emits in all directions. When creating a Redot SpotLight3D, the outer cone angle is used as the angle of the spotlight.


float range = inf 🔗

The range of the light, beyond which the light has no effect. glTF lights with no range defined behave like physical lights (which have infinite range). When creating a Redot light, the range is clamped to 4096.


Method Descriptions

GLTFLight from_dictionary(dictionary: Dictionary) static 🔗

Creates a new GLTFLight instance by parsing the given Dictionary.


GLTFLight from_node(light_node: Light3D) static 🔗

Create a new GLTFLight instance from the given Redot Light3D node.


Variant get_additional_data(extension_name: StringName) 🔗

There is currently no description for this method. Please help us by contributing one!


void set_additional_data(extension_name: StringName, additional_data: Variant) 🔗

There is currently no description for this method. Please help us by contributing one!


Dictionary to_dictionary() const 🔗

Serializes this GLTFLight instance into a Dictionary.


Light3D to_node() const 🔗

Converts this GLTFLight instance into a Redot Light3D node.