Bbop-2D 0.4.1-alpha
Bbop-2D is a c++ library based on openGL to make 2D game. It implement sprite, shape, light and more.
Loading...
Searching...
No Matches
Public Member Functions | Private Attributes | List of all members
Light Class Reference

Gère un point de lumière en fonction de son Intensité, sa couleur et son attenuation. More...

#include <lightClass.h>

Collaboration diagram for Light:
Collaboration graph
[legend]

Public Member Functions

 Light (Vector2f nPos, float nIntensity, Vector3i nRGB, float nConstantAttenuation, float nLinearAttenuation, float nQuadraticAttenuation)
 Constructeur de light.
 
 Light ()
 Constructeur par défault de Light.
 
Vector3i getColor ()
 Renvoie la couleur de Light.
 
void setColor (Vector3i nRGB)
 Change la couleur de Light.
 
Vector2f getPosistion ()
 Renvoie la position de Light.
 
void setPosition (Vector2f nPos)
 Change la position de Light.
 
float getIntensity ()
 Renvoie l'Intensité de Light.
 
void setIntensity (float nIntensity)
 Change l'Intensité de Light.
 
float getConstant ()
 Renvoie l'attenuation constante de Light.
 
void setConstant (float nConstant)
 Change l'attenuation constante de Light.
 
float getLinear ()
 Renvoie l'attenuation linéaire de Light.
 
void setLinear (float nLinear)
 Change l'attenuation linéaire de Light.
 
float getQuadratic ()
 Renvoie l'attenuation quadratique de Light.
 
void setQuadratic (float nQuadratic)
 Change l'attenuation quadratique de Light.
 
void setOpenAngle (float nOpenAngle)
 change l'angle d'ouverture de la light
 
float getOpenAngle ()
 Renvoie l'angle d'ouverture.
 
void setRotationAngle (float nRotationAngle)
 change l'angle de rotation de la light
 
float getRotationAngle ()
 Renvoie l'angle de rotation.
 

Private Attributes

Vector2f pos
 
Vector3i RGB
 
float intensity
 
float constantAttenuation
 
float linearAttenuation
 
float quadraticAttenuation
 
float openAngle
 
float rotationAngle
 

Detailed Description

Gère un point de lumière en fonction de son Intensité, sa couleur et son attenuation.

Todo:

Créer une class DirectionnalLight pour différentier certaine lumière

Ajouter la gestion d'une shadowMap pour empêcher le passage de la lumière

utiliser un point à éclairé pour déterminer la rotation d'une lumière directionnelle

Constructor & Destructor Documentation

◆ Light() [1/2]

Light::Light ( Vector2f  nPos,
float  nIntensity,
Vector3i  nRGB,
float  nConstantAttenuation,
float  nLinearAttenuation,
float  nQuadraticAttenuation 
)

Constructeur de light.

Parameters
[in]nPosPosition
[in]nIntensityIntensité
[in]nRGBcouleur
[in]nConstantAttenuationattenuation constante
[in]nLinearAttenuationattenuation linéaire
[in]nQuadraticAttenuationattenuation quadratique

◆ Light() [2/2]

Light::Light ( )

Constructeur par défault de Light.

Lumière blanche avec 0.2 d'intensité et 0.2 pour toute les attenuation

Member Function Documentation

◆ getColor()

Vector3i Light::getColor ( )

Renvoie la couleur de Light.

Returns
RGB

◆ getConstant()

float Light::getConstant ( )

Renvoie l'attenuation constante de Light.

Returns
constantAttenuation

◆ getIntensity()

float Light::getIntensity ( )

Renvoie l'Intensité de Light.

Returns
intensity

◆ getLinear()

float Light::getLinear ( )

Renvoie l'attenuation linéaire de Light.

Returns
linearAttenuation

◆ getOpenAngle()

float Light::getOpenAngle ( )

Renvoie l'angle d'ouverture.

Returns
openAngle

◆ getPosistion()

Vector2f Light::getPosistion ( )

Renvoie la position de Light.

Returns
pos

◆ getQuadratic()

float Light::getQuadratic ( )

Renvoie l'attenuation quadratique de Light.

Returns
quadraticAttenuation

◆ getRotationAngle()

float Light::getRotationAngle ( )

Renvoie l'angle de rotation.

Returns
rotationAngle

◆ setColor()

void Light::setColor ( Vector3i  nRGB)

Change la couleur de Light.

Parameters
[in]nRGBCouleur

◆ setConstant()

void Light::setConstant ( float  nConstant)

Change l'attenuation constante de Light.

Parameters
[in]nConstantattenuation constante

◆ setIntensity()

void Light::setIntensity ( float  nIntensity)

Change l'Intensité de Light.

Parameters
[in]nIntensityIntensité

◆ setLinear()

void Light::setLinear ( float  nLinear)

Change l'attenuation linéaire de Light.

Parameters
[in]nLinearattenuation linéaire

◆ setOpenAngle()

void Light::setOpenAngle ( float  nOpenAngle)

change l'angle d'ouverture de la light

@parm[in] nOpenAngle Nouvelle angle d'ouverture

◆ setPosition()

void Light::setPosition ( Vector2f  nPos)

Change la position de Light.

Parameters
[in]nPosPosition

◆ setQuadratic()

void Light::setQuadratic ( float  nQuadratic)

Change l'attenuation quadratique de Light.

Parameters
[in]nQuadraticattenuation quadratique

◆ setRotationAngle()

void Light::setRotationAngle ( float  nRotationAngle)

change l'angle de rotation de la light

@parm[in] nRotationAngle Nouvelle angle de rotation

Member Data Documentation

◆ constantAttenuation

float Light::constantAttenuation
private

◆ intensity

float Light::intensity
private

◆ linearAttenuation

float Light::linearAttenuation
private

◆ openAngle

float Light::openAngle
private

◆ pos

Vector2f Light::pos
private

◆ quadraticAttenuation

float Light::quadraticAttenuation
private

◆ RGB

Vector3i Light::RGB
private

◆ rotationAngle

float Light::rotationAngle
private

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