Skip to main content

Light

The Light class provides an interface to Scene lights. It allows control over color, intensity, temperature, visibility range, and transition distances. Shadow parameters support shadow maps, ray tracing, and screen-space shadows. Independent light masks can be applied to cameras, objects, materials, and shadows for selective lighting control.

#include <scene/TellusimLight.h>

Constructors

Light()

Methods

static Light create(Type type, const char *name = nullptr)

Clear light.

void clear()

Light type.

Type getType() const
static const char *getTypeName(Type type)
const char *getTypeName() const
bool isGlobal() const
bool isPoint() const
bool isSpot() const
bool isImage() const

Light unique identifier.

uint32_t getID() const

Light index.

uint32_t getIndex() const

Light address.

uint32_t getAddress() const

Light name.

void setName(const char *name)
void setName(const String &name)
String getName() const

Light scene.

void setScene(Scene &scene, bool check = true)
const Scene getScene() const
Scene getScene()

Enabled flag.

void setEnabled(bool enabled)
bool isEnabled() const

Cast shadow flag.

void setCastShadow(bool enabled)
bool getCastShadow() const

Screen shadow flag.

void setScreenShadow(bool enabled)
bool getScreenShadow() const

Tracing shadow flag.

void setTracingShadow(bool enabled)
bool getTracingShadow() const

Light mask.

void setLightMask(uint32_t mask)
uint32_t getLightMask() const

Camera mask.

void setCameraMask(uint32_t mask)
uint32_t getCameraMask() const

Object mask.

void setObjectMask(uint32_t mask)
uint32_t getObjectMask() const

Shadow mask.

void setShadowMask(uint32_t mask)
uint32_t getShadowMask() const

Tracer mask.

void setTracerMask(uint32_t mask)
uint32_t getTracerMask() const

Tracing mask.

void setTracingMask(uint32_t mask)
uint32_t getTracingMask() const

Collider mask.

void setColliderMask(uint32_t mask)
uint32_t getColliderMask() const

Hidden flag.

void setHidden(bool flag)
bool isHidden() const

Internal flag.

void setInternal(bool flag)
bool isInternal() const

Virtual flag.

void setVirtual(bool flag)
bool isVirtual() const

Changed flag.

void setChanged(bool flag)
bool isChanged() const

Pointer info.

void setPtrInfo(void *ptr)
void *getPtrInfo() const

Meta info.

void setMetaInfo(const String &info)
String getMetaInfo() const

Visibility range.

void setMinVisibility(float32_t min_distance)
void setMaxVisibility(float32_t max_distance)
void setShadowVisibility(float32_t shadow_distance)
void setVisibilityRange(float32_t min_distance, float32_t max_distance)
void setVisibilityRange(float32_t min_distance, float32_t max_distance, float32_t shadow_distance)
float32_t getMinVisibility() const
float32_t getMaxVisibility() const
float32_t getShadowVisibility() const

Transition range.

void setMinTransition(float32_t min_distance)
void setMaxTransition(float32_t max_distance)
void setShadowTransition(float32_t shadow_distance)
void setTransitionRange(float32_t min_distance, float32_t max_distance)
void setTransitionRange(float32_t min_distance, float32_t max_distance, float32_t shadow_distance)
float32_t getMinTransition() const
float32_t getMaxTransition() const
float32_t getShadowTransition() const

Light color.

void setColor(Color color)
const Color getColor() const

Light temperature.

void setTemperature(float32_t temperature)
float32_t getTemperature() const

Light intensity.

void setIntensity(float32_t intensity)
float32_t getIntensity() const

Shadow ambient value.

void setShadowAmbient(float32_t ambient)
float32_t getShadowAmbient() const

Shadow map viewport size.

void setShadowMapSize(uint32_t size)
uint32_t getShadowMapSize() const

Shadow map samples count.

void setShadowMapSamples(uint32_t samples)
uint32_t getShadowMapSamples() const

Shadow map radius value.

void setShadowMapRadius(float32_t radius)
float32_t getShadowMapRadius() const

Shadow map bias value.

void setShadowMapBias(float32_t bias)
void setShadowMapSlope(float32_t slope)
void setShadowMapClamp(float32_t clamp)
void setShadowMapBias(float32_t bias, float32_t slope, float32_t clamp)
float32_t getShadowMapBias() const
float32_t getShadowMapSlope() const
float32_t getShadowMapClamp() const

Screen shadow steps count.

void setScreenShadowSteps(uint32_t steps)
uint32_t getScreenShadowSteps() const

Screen shadow range value.

void setScreenShadowRange(float32_t range)
float32_t getScreenShadowRange() const

Screen shadow bias value.

void setScreenShadowBias(float32_t bias)
void setScreenShadowClamp(float32_t clamp)
void setScreenShadowBias(float32_t bias, float32_t clamp)
float32_t getScreenShadowBias() const
float32_t getScreenShadowClamp() const

Tracing shadow samples count.

void setTracingShadowSamples(uint32_t samples)
uint32_t getTracingShadowSamples() const

Tracing shadow bias value.

void setTracingShadowBias(float32_t bias)
float32_t getTracingShadowBias() const

Bound box.

void setBoundBox(BoundBoxf box)
const BoundBoxf getBoundBox() const

Load light.

bool load(const Xml &xml)
bool load(const Json &json)
bool load(Stream &stream)

Save light.

bool save(Xml &xml) const
bool save(Json &json) const
bool save(Stream &stream) const

Clone light.

Light clone(Scene &scene) const

Copy light.

void copy(const Light &light)

Updated flag.

bool isUpdated() const

Update scene.

void updateScene()

Enums

Type

Light types.

NameValue
TypeUnknown0
TypeGlobal1
TypePoint2
TypeSpot3
TypeImage4
NumTypes5