/* -*- C++ -*-
* light.h
* $Id: light.h,v 1.2 2000/07/21 22:31:44 ghali Exp $
*/
#ifndef LIGHT_H
#define LIGHT_H
#include <iostream.h>
#include <GL/glut.h>
#include "../geom/point3d.h"
#include "../other/color.h"
#include "group.h"
namespace MSG {
class Light : public Group {
public:
Color ambient;
Color diffuse;
Color specular;
GLfloat Lambient[4];
GLfloat Ldiffuse[4];
GLfloat Lspecular[4];
public:
Light(const Color& _ambient = Color::defaultAmbientLight,
const Color& _diffuse = Color::defaultDiffuseLight,
const Color& _specular = Color::defaultSpecularLight);
virtual void render(std::vector<ActiveLight*>* &activelights,
std::vector<TransformGroup*> transforms) = 0;
virtual bool handleEvent(Event* event) = 0;
// friend ostream& operator<<( ostream& out, const PointLight& pointlight );
};
}
#endif