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
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{
32 public:
43 Light(Vector2f nPos, float nIntensity, Vector3i nRGB,
44 float nConstantAttenuation, float nLinearAttenuation,
45 float nQuadraticAttenuation);
46
52 Light();
53
60
66 void setColor(Vector3i nRGB);
67
74
80 void setPosition(Vector2f nPos);
81
87 float getIntensity();
88
94 void setIntensity(float nIntensity);
95
101 float getConstant();
102
108 void setConstant(float nConstant);
109
115 float getLinear();
116
122 void setLinear(float nLinear);
123
129 float getQuadratic();
130
136 void setQuadratic(float nQuadratic);
137
143 void setOpenAngle(float nOpenAngle);
144
150 float getOpenAngle();
151
157 void setRotationAngle(float nRotationAngle);
158
164 float getRotationAngle();
165
166 private:
167 Vector2f pos; //<! postion de Light
168 Vector3i RGB; //<! Couleur de la lumière
169 float intensity; //<! Intensité de la lumière
170 float constantAttenuation; //<! Attnuation constante
171 float linearAttenuation; //<! Attnuation linéaire
172 float quadraticAttenuation; //<! Attnuation quadratique
173 float openAngle; //<! Angle d'ouverture de la light
174 float rotationAngle; //<! Angle de roation de la light
175};
176
177#endif // ! LIGHT_CLASS_H
Gère un point de lumière en fonction de son Intensité, sa couleur et son attenuation.
Definition lightClass.h:31
float getQuadratic()
Renvoie l'attenuation quadratique de Light.
Definition lightClass.cpp:53
float quadraticAttenuation
Definition lightClass.h:172
float intensity
Definition lightClass.h:169
void setLinear(float nLinear)
Change l'attenuation linéaire de Light.
Definition lightClass.cpp:47
float rotationAngle
Definition lightClass.h:174
float getConstant()
Renvoie l'attenuation constante de Light.
Definition lightClass.cpp:49
Vector3i RGB
Definition lightClass.h:168
Vector2f pos
Definition lightClass.h:167
Vector3i getColor()
Renvoie la couleur de Light.
Definition lightClass.cpp:37
float openAngle
Definition lightClass.h:173
float getRotationAngle()
Renvoie l'angle de rotation.
Definition lightClass.cpp:64
Vector2f getPosistion()
Renvoie la position de Light.
Definition lightClass.cpp:33
void setPosition(Vector2f nPos)
Change la position de Light.
Definition lightClass.cpp:35
void setColor(Vector3i nRGB)
Change la couleur de Light.
Definition lightClass.cpp:39
float getOpenAngle()
Renvoie l'angle d'ouverture.
Definition lightClass.cpp:60
void setQuadratic(float nQuadratic)
Change l'attenuation quadratique de Light.
Definition lightClass.cpp:55
void setOpenAngle(float nOpenAngle)
change l'angle d'ouverture de la light
Definition lightClass.cpp:62
void setRotationAngle(float nRotationAngle)
change l'angle de rotation de la light
Definition lightClass.cpp:66
void setConstant(float nConstant)
Change l'attenuation constante de Light.
Definition lightClass.cpp:51
float getLinear()
Renvoie l'attenuation linéaire de Light.
Definition lightClass.cpp:45
Light()
Constructeur par défault de Light.
Definition lightClass.cpp:28
void setIntensity(float nIntensity)
Change l'Intensité de Light.
Definition lightClass.cpp:43
float linearAttenuation
Definition lightClass.h:171
float getIntensity()
Renvoie l'Intensité de Light.
Definition lightClass.cpp:41
float constantAttenuation
Definition lightClass.h:170
Definition bbopMathClass.h:47
Definition bbopMathClass.h:80