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.
Name | Value |
---|---|
TypeUnknown | 0 |
TypeGlobal | 1 |
TypePoint | 2 |
TypeSpot | 3 |
TypeImage | 4 |
NumTypes | 5 |