Newer
Older
cg / include / light.h
@glproj03 glproj03 on 2 Feb 2006 833 bytes es werde licht
#ifndef _LIGHT_H
#define _LIGHT_H

#include "vec.h"
#include "thing.h"
#include "color.h"
#include <GL/gl.h>

class Light : public Thing {
 protected:
  void set();  
  bool enabled;

 public:
  Color* col;
  GLenum num;  
  Light();
  void flip();
  void enable();
  void disable();
};


class DiffuseLight: public Light{
 public:
  Vec* pos;
  DiffuseLight(Vec& _pos, Color& _color, GLenum _lightnum);  
};

class AmbientLight: public Light{
 public:
  AmbientLight(Color& _color, GLenum _lightnum);
};

class SpecularLight: public Light{
 public:
  Vec* pos;
  SpecularLight(Vec& _pos, Color& _color, GLenum _lightnum);  
};


class SpotLight: public Light{
 public:
  Vec* pos;
  float delta;
  GLUquadricObj* repr;
  float angle;
  SpotLight(Vec& _pos, Color& _color, GLenum _lightnum, float angle);  
  void draw();
};

#endif