Add light module
This commit is contained in:
parent
72c0d1475e
commit
14b246b6e9
3 changed files with 76 additions and 0 deletions
|
@ -6,6 +6,7 @@ Import('env')
|
||||||
|
|
||||||
files = Split("""
|
files = Split("""
|
||||||
basics.cc
|
basics.cc
|
||||||
|
light.cc
|
||||||
object.cc
|
object.cc
|
||||||
object_sphere.cc
|
object_sphere.cc
|
||||||
scene.cc
|
scene.cc
|
||||||
|
|
46
src/light.cc
Normal file
46
src/light.cc
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
/* light.cc
|
||||||
|
*
|
||||||
|
* Lights light the scene.
|
||||||
|
*
|
||||||
|
* Eryn Wells <eryn@erynwells.me>
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "basics.h"
|
||||||
|
#include "light.h"
|
||||||
|
#include "object.h"
|
||||||
|
|
||||||
|
|
||||||
|
Light::Light()
|
||||||
|
: Light(1.0)
|
||||||
|
{ }
|
||||||
|
|
||||||
|
|
||||||
|
Light::Light(float i)
|
||||||
|
: Light(Vector3::Zero, i)
|
||||||
|
{ }
|
||||||
|
|
||||||
|
|
||||||
|
Light::Light(Vector3 o, float i)
|
||||||
|
: Object(o),
|
||||||
|
intensity(i)
|
||||||
|
{ }
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Light::get_intensity --
|
||||||
|
* Light::set_intensity --
|
||||||
|
*
|
||||||
|
* Get and set the intensity of this light.
|
||||||
|
*/
|
||||||
|
float
|
||||||
|
Light::get_intensity()
|
||||||
|
const
|
||||||
|
{
|
||||||
|
return intensity;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
Light::set_intensity(float i)
|
||||||
|
{
|
||||||
|
intensity = i;
|
||||||
|
}
|
29
src/light.h
Normal file
29
src/light.h
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
/* light.h
|
||||||
|
*
|
||||||
|
* Lights light the scene.
|
||||||
|
*
|
||||||
|
* Eryn Wells <eryn@erynwells.me>
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __LIGHT_H__
|
||||||
|
#define __LIGHT_H__
|
||||||
|
|
||||||
|
#include "object.h"
|
||||||
|
|
||||||
|
|
||||||
|
class Light
|
||||||
|
: public Object
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
Light();
|
||||||
|
Light(float i);
|
||||||
|
Light(Vector3 o, float i);
|
||||||
|
|
||||||
|
float get_intensity() const;
|
||||||
|
void set_intensity(float i);
|
||||||
|
|
||||||
|
private:
|
||||||
|
float intensity;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
Loading…
Add table
Add a link
Reference in a new issue