Antkeeper  0.0.1
Public Member Functions | List of all members
scene::spot_light Class Reference

Directional cone light source. More...

#include <spot-light.hpp>

Inheritance diagram for scene::spot_light:
scene::light scene::object< light > scene::object_base

Public Member Functions

light_type get_light_type () const noexcept override
 Returns light_type::spot. More...
 
void set_luminous_flux (const math::fvec3 &luminous_flux) noexcept
 Sets the luminous flux of the spot light. More...
 
const math::fvec3get_luminous_flux () const noexcept
 Returns the luminous flux of the spot light, in lm. More...
 
void set_cutoff (const math::fvec2 &cutoff)
 Sets the spot light cutoff angles. More...
 
const math::fvec3get_direction () const noexcept
 Returns the direction vector. More...
 
const math::fvec2get_cutoff () const noexcept
 Returns the spot light cutoff angles. More...
 
const math::fvec2get_cosine_cutoff () const noexcept
 Returns the cosine of the spot light cutoff angles. More...
 
- Public Member Functions inherited from scene::light
const aabb_typeget_bounds () const noexcept override
 Returns the bounds of the object. More...
 
void set_color (const math::fvec3 &color)
 Sets the color of the light. More...
 
void set_color_temperature (float temperature)
 Sets the color of the light from a color temperature. More...
 
constexpr const math::fvec3get_color () const noexcept
 Returns the scene-linear RGB color of the light. More...
 
- Public Member Functions inherited from scene::object< light >
const std::size_t get_object_type_id () const noexcept final
 Returns the type ID for this scene object type. More...
 
- Public Member Functions inherited from scene::object_base
virtual void render (render::context &ctx) const
 Adds render operations to a render context. More...
 
void look_at (const vector_type &position, const vector_type &target, const vector_type &up)
 
constexpr void set_layer_mask (std::uint32_t mask) noexcept
 Sets the layer mask of the object. More...
 
void set_transform (const transform_type &transform)
 Sets the transform of the object. More...
 
void set_translation (const vector_type &translation)
 Sets the translation of the object. More...
 
void set_rotation (const quaternion_type &rotation)
 Sets the rotation of the object. More...
 
constexpr std::uint32_t get_layer_mask () const noexcept
 Returns the layer mask of the object. More...
 
constexpr const transform_typeget_transform () const noexcept
 Returns the transform of the object. More...
 
constexpr const vector_typeget_translation () const noexcept
 Returns the translation of the object. More...
 
constexpr const quaternion_typeget_rotation () const noexcept
 Returns the rotation of the object. More...
 
constexpr const vector_typeget_scale () const noexcept
 Returns the scale of the object. More...
 
void set_scale (const vector_type &scale)
 Sets the scale of the object. More...
 
void set_scale (float scale)
 Sets the scale of the object. More...
 

Additional Inherited Members

- Public Types inherited from scene::object_base
using vector_type = math::fvec3
 
using quaternion_type = math::fquat
 
using transform_type = math::transform< float >
 
using aabb_type = geom::box< float >
 
- Static Public Attributes inherited from scene::object< light >
static const std::atomic< std::size_t > object_type_id
 Unique type ID for this scene object type. More...
 
- Protected Member Functions inherited from scene::light
virtual void color_updated ()
 Called each time the light color is modified. More...
 
- Static Protected Member Functions inherited from scene::object_base
static std::size_t next_object_type_id ()
 
- Protected Attributes inherited from scene::object_base
std::uint32_t m_layer_mask {1}
 
transform_type m_transform {transform_type::identity()}
 

Detailed Description

Directional cone light source.

Definition at line 32 of file spot-light.hpp.

Member Function Documentation

◆ get_cosine_cutoff()

const math::fvec2& scene::spot_light::get_cosine_cutoff ( ) const
inlinenoexcept

Returns the cosine of the spot light cutoff angles.

Definition at line 77 of file spot-light.hpp.

◆ get_cutoff()

const math::fvec2& scene::spot_light::get_cutoff ( ) const
inlinenoexcept

Returns the spot light cutoff angles.

Definition at line 71 of file spot-light.hpp.

◆ get_direction()

const math::fvec3& scene::spot_light::get_direction ( ) const
inlinenoexcept

Returns the direction vector.

Definition at line 65 of file spot-light.hpp.

◆ get_light_type()

light_type scene::spot_light::get_light_type ( ) const
inlineoverridevirtualnoexcept

Returns light_type::spot.

Implements scene::light.

Definition at line 36 of file spot-light.hpp.

◆ get_luminous_flux()

const math::fvec3& scene::spot_light::get_luminous_flux ( ) const
inlinenoexcept

Returns the luminous flux of the spot light, in lm.

Definition at line 52 of file spot-light.hpp.

◆ set_cutoff()

void scene::spot_light::set_cutoff ( const math::fvec2 cutoff)

Sets the spot light cutoff angles.

Parameters
cutoffVector containing the inner and outer cutoff angles, as x and y, respectively.

Definition at line 25 of file spot-light.cpp.

◆ set_luminous_flux()

void scene::spot_light::set_luminous_flux ( const math::fvec3 luminous_flux)
inlinenoexcept

Sets the luminous flux of the spot light.

Parameters
luminous_fluxLuminous flux, in lm.

Definition at line 46 of file spot-light.hpp.


The documentation for this class was generated from the following files: