Lugdunum  0.1.0
Public Member Functions | Protected Attributes | List of all members
lug::Graphics::Builder::Light Class Reference

#include <Light.hpp>

Collaboration diagram for lug::Graphics::Builder::Light:
[legend]

Public Member Functions

 Light (Renderer &renderer)
 
 Light (const Light &)=delete
 
 Light (Light &&)=delete
 
Lightoperator= (const Light &)=delete
 
Lightoperator= (Light &&)=delete
 
 ~Light ()=default
 
void setName (const std::string &name)
 Sets the name. More...
 
void setType (Render::Light::Type type)
 
void setColor (const Math::Vec4f &color)
 
void setDirection (const Math::Vec3f &direction)
 
void setConstantAttenuation (float constantAttenuation)
 
void setDistance (float distance)
 
void setLinearAttenuation (float linearAttenuation)
 
void setQuadraticAttenuation (float quadraticAttenuation)
 
void setFalloffAngle (float falloffAngle)
 
void setFalloffExponent (float falloffExponent)
 
Resource::SharedPtr< Render::Lightbuild ()
 

Protected Attributes

Renderer_renderer
 
std::string _name
 
Render::Light::Type _type {Render::Light::Type::Ambient}
 
Math::Vec4f _color {0.0f, 0.0f, 0.0f, 1.0f}
 
Math::Vec3f _direction {0.0f, 0.0f, 0.0f}
 
float _constantAttenuation {0.0f}
 
float _distance {0.0f}
 
float _linearAttenuation {1.0f}
 
float _quadraticAttenuation {1.0f}
 
float _falloffAngle {Math::halfPi<float>()}
 
float _falloffExponent {0.0f}
 

Detailed Description

Definition at line 19 of file Light.hpp.

Constructor & Destructor Documentation

◆ Light() [1/3]

lug::Graphics::Builder::Light::Light ( Renderer renderer)
explicit

Definition at line 10 of file Light.cpp.

◆ Light() [2/3]

lug::Graphics::Builder::Light::Light ( const Light )
delete

◆ Light() [3/3]

lug::Graphics::Builder::Light::Light ( Light &&  )
delete

◆ ~Light()

lug::Graphics::Builder::Light::~Light ( )
default

Member Function Documentation

◆ operator=() [1/2]

Light& lug::Graphics::Builder::Light::operator= ( const Light )
delete

◆ operator=() [2/2]

Light& lug::Graphics::Builder::Light::operator= ( Light &&  )
delete

◆ setName()

void lug::Graphics::Builder::Light::setName ( const std::string &  name)

Sets the name.

Parameters
[in]nameThe name of the mesh.

◆ setType()

void Light::setType ( Render::Light::Type  type)
inline

Definition at line 1 of file Light.inl.

◆ setColor()

void lug::Graphics::Builder::Light::setColor ( const Math::Vec4f &  color)

◆ setDirection()

void lug::Graphics::Builder::Light::setDirection ( const Math::Vec3f &  direction)

◆ setConstantAttenuation()

void lug::Graphics::Builder::Light::setConstantAttenuation ( float  constantAttenuation)

◆ setDistance()

void lug::Graphics::Builder::Light::setDistance ( float  distance)

◆ setLinearAttenuation()

void lug::Graphics::Builder::Light::setLinearAttenuation ( float  linearAttenuation)

◆ setQuadraticAttenuation()

void lug::Graphics::Builder::Light::setQuadraticAttenuation ( float  quadraticAttenuation)

◆ setFalloffAngle()

void lug::Graphics::Builder::Light::setFalloffAngle ( float  falloffAngle)

◆ setFalloffExponent()

void lug::Graphics::Builder::Light::setFalloffExponent ( float  falloffExponent)

◆ build()

Resource::SharedPtr< Render::Light > lug::Graphics::Builder::Light::build ( )

Definition at line 12 of file Light.cpp.

Member Data Documentation

◆ _renderer

Renderer& lug::Graphics::Builder::Light::_renderer
protected

Definition at line 50 of file Light.hpp.

◆ _name

std::string lug::Graphics::Builder::Light::_name
protected

Definition at line 52 of file Light.hpp.

◆ _type

Render::Light::Type lug::Graphics::Builder::Light::_type {Render::Light::Type::Ambient}
protected

Definition at line 54 of file Light.hpp.

◆ _color

Math::Vec4f lug::Graphics::Builder::Light::_color {0.0f, 0.0f, 0.0f, 1.0f}
protected

Definition at line 56 of file Light.hpp.

◆ _direction

Math::Vec3f lug::Graphics::Builder::Light::_direction {0.0f, 0.0f, 0.0f}
protected

Definition at line 57 of file Light.hpp.

◆ _constantAttenuation

float lug::Graphics::Builder::Light::_constantAttenuation {0.0f}
protected

Definition at line 58 of file Light.hpp.

◆ _distance

float lug::Graphics::Builder::Light::_distance {0.0f}
protected

Definition at line 59 of file Light.hpp.

◆ _linearAttenuation

float lug::Graphics::Builder::Light::_linearAttenuation {1.0f}
protected

Definition at line 60 of file Light.hpp.

◆ _quadraticAttenuation

float lug::Graphics::Builder::Light::_quadraticAttenuation {1.0f}
protected

Definition at line 61 of file Light.hpp.

◆ _falloffAngle

float lug::Graphics::Builder::Light::_falloffAngle {Math::halfPi<float>()}
protected

Definition at line 62 of file Light.hpp.

◆ _falloffExponent

float lug::Graphics::Builder::Light::_falloffExponent {0.0f}
protected

Definition at line 63 of file Light.hpp.


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