Bbop-Library 0.4.1-alpha
Opengl library to build 2d apps and game that implement a light system named Lumop
 
Loading...
Searching...
No Matches
lightClass.h
Go to the documentation of this file.
1/*
2 * lightClass.h
3 *
4 * Ce programme est distribué sous les termes de la Licence Publique
5 * Générale GNU, version 3.0, telle que publiée par la Free Software
6 * Foundation. Consultez la Licence Publique Générale GNU pour plus de
7 * détails.
8 *
9 * Vous devez avoir reçu une copie de la Licence Publique Générale GNU
10 * en même temps que ce programme. Si ce n'est pas le cas, consultez
11 * <https://www.gnu.org/licenses/>.
12 */
13
14#ifndef LIGHT_CLASS_H
15#define LIGHT_CLASS_H
16
17#include <GL/glew.h>
18#include <GLFW/glfw3.h>
19#include "bbopMathClass.h"
20#include "bbopGlobal.h"
21
30class Light
31{
32public:
33
44 Light(Vector2f nPos, float nIntensity, Vector3i nRGB, float nConstantAttenuation,float nLinearAttenuation, float nQuadraticAttenuation);
45
51 Light();
52
59
65 void setColor(Vector3i nRGB);
66
73
79 void setPosition(Vector2f nPos);
80
86 float getIntensity();
87
93 void setIntensity(float nIntensity);
94
100 float getConstant();
101
107 void setConstant(float nConstant);
108
114 float getLinear();
115
121 void setLinear(float nLinear);
122
128 float getQuadratic();
129
135 void setQuadratic(float nQuadratic);
136
142 void setOpenAngle(float nOpenAngle);
143
149 float getOpenAngle();
150
156 void setRotationAngle(float nRotationAngle);
157
163 float getRotationAngle();
164
165private:
166 Vector2f pos; //<! postion de Light
167 Vector3i RGB; //<! Couleur de la lumière
168 float intensity; //<! Intensité de la lumière
169 float constantAttenuation; //<! Attnuation constante
170 float linearAttenuation; //<! Attnuation linéaire
171 float quadraticAttenuation; //<! Attnuation quadratique
172 float openAngle; //<! Angle d'ouverture de la light
173 float rotationAngle; //<! Angle de roation de la light
174};
175
176#endif // ! LIGHT_CLASS_H
float getQuadratic()
Renvoie l'attenuation quadratique de Light.
Definition lightClass.cpp:82
void setLinear(float nLinear)
Change l'attenuation linéaire de Light.
Definition lightClass.cpp:67
float getConstant()
Renvoie l'attenuation constante de Light.
Definition lightClass.cpp:72
Vector3i getColor()
Renvoie la couleur de Light.
Definition lightClass.cpp:42
float getRotationAngle()
Renvoie l'angle de rotation.
Definition lightClass.cpp:102
Vector2f getPosistion()
Renvoie la position de Light.
Definition lightClass.cpp:32
void setPosition(Vector2f nPos)
Change la position de Light.
Definition lightClass.cpp:37
void setColor(Vector3i nRGB)
Change la couleur de Light.
Definition lightClass.cpp:47
Light(Vector2f nPos, float nIntensity, Vector3i nRGB, float nConstantAttenuation, float nLinearAttenuation, float nQuadraticAttenuation)
Constructeur de light.
Definition lightClass.cpp:17
float getOpenAngle()
Renvoie l'angle d'ouverture.
Definition lightClass.cpp:92
void setQuadratic(float nQuadratic)
Change l'attenuation quadratique de Light.
Definition lightClass.cpp:87
void setOpenAngle(float nOpenAngle)
change l'angle d'ouverture de la light
Definition lightClass.cpp:97
void setRotationAngle(float nRotationAngle)
change l'angle de rotation de la light
Definition lightClass.cpp:107
void setConstant(float nConstant)
Change l'attenuation constante de Light.
Definition lightClass.cpp:77
float getLinear()
Renvoie l'attenuation linéaire de Light.
Definition lightClass.cpp:62
Light()
Constructeur par défault de Light.
Definition lightClass.cpp:28
void setIntensity(float nIntensity)
Change l'Intensité de Light.
Definition lightClass.cpp:57
float getIntensity()
Renvoie l'Intensité de Light.
Definition lightClass.cpp:52
Definition bbopMathClass.h:45
Definition bbopMathClass.h:76