OpenGL-utility/include/lighting/ambient.hpp

59 lines
1.3 KiB
C++
Raw Normal View History

2021-01-29 16:28:48 +00:00
/*****************************************************************//**
* @file ambient.hpp
* @brief Anything related to ambient/environmental lighting
*
* @author Lauchmelder
* @date January 2021
*********************************************************************/
2021-01-25 19:53:28 +00:00
#ifndef AMBIENT_HPP
#define AMBIENT_HPP
#include <core.hpp>
#include <color.hpp>
namespace oglu
{
2021-01-29 16:28:48 +00:00
/**
* @brief A class holding information needed for ambient lighting.
*/
2021-01-25 19:53:28 +00:00
class OGLU_API AmbientLight
{
public:
2021-01-29 16:28:48 +00:00
/**
* @brief Create default ambient light.
*
* By default, this creates a white light at full intensity
*/
2021-01-25 19:53:28 +00:00
AmbientLight();
2021-01-29 16:28:48 +00:00
/**
* @brief Create a custom ambient light.
*
* @param r Red component
* @param r Green component
* @param r Blue component
* @param intensity Intensity of the lighting
*/
2021-01-25 19:53:28 +00:00
AmbientLight(GLfloat r, GLfloat g, GLfloat b, GLfloat intensity);
2021-01-29 16:28:48 +00:00
/**
* @brief Create a custom ambient light.
*
* @param color Color of the lighting
* @param intensity Intensity of the lighting
*/
2021-01-25 19:53:28 +00:00
AmbientLight(const Color& color, GLfloat intensity);
2021-01-29 16:28:48 +00:00
/**
* @brief Copy another ambient light.
*
* @param other The light to copy from
*/
2021-01-25 19:53:28 +00:00
AmbientLight(const AmbientLight& other);
2021-01-29 16:28:48 +00:00
GLfloat intensity; ///< Intensity of the ambient light
Color color; ///< Color of the ambient light
2021-01-25 19:53:28 +00:00
};
}
#endif