Al's Programming Resource Homepage  Main Page   Namespace List   Class Hierarchy   Compound List   File List   Compound Members   File Members  

light.cpp

Go to the documentation of this file.
00001 #include <windows.h>
00002 #include "light.h"
00003 #include "mmgr.h"
00004 
00005 
00006 LIGHT::LIGHT()
00007 {
00008 }
00009 
00010 LIGHT::~LIGHT()
00011 {
00012 }
00013 
00014 void LIGHT::Reset()
00015 {
00016     Orientation.Reset();
00017     Position.Set(2.0, 2.0, 3.0);
00018     Delta_x = 0.0;
00019     Delta_y = 0.0;
00020     Delta_z = 0.0;
00021     Movement_x = 0.0;
00022     Movement_y = 0.0;
00023     Movement_z = 0.0;
00024     Ambient[0] = 0.0;
00025     Ambient[1] = 0.0;
00026     Ambient[2] = 0.0;
00027     Ambient[3] = 1.0;
00028     Diffuse[0] = 1.0;
00029     Diffuse[1] = 1.0;
00030     Diffuse[2] = 1.0;
00031     Diffuse[3] = 1.0;
00032     Specular[0] = 1.0;
00033     Specular[1] = 1.0;
00034     Specular[2] = 1.0;
00035     Specular[3] = 1.0;
00036     SpotLight = GL_FALSE;
00037     SpotDirection = GetZUnit();
00038     SpotExponent = 0.0;
00039     SpotCutoff = 180.0;
00040     Constant = 1.0;
00041     Linear = 0.0;
00042     Quadratic = 0.0;
00043     GlobalAmbient[0] = 0.2;
00044     GlobalAmbient[1] = 0.2;
00045     GlobalAmbient[2] = 0.2;
00046     GlobalAmbient[3] = 1.0;
00047     Positional = GL_FALSE;
00048     LocalViewer = GL_FALSE;
00049     TwoSided = GL_FALSE;
00050     float LightPosition[] = {Position.x, Position.y, Position.z, (float)Positional};
00051     glLightfv(GL_LIGHT[LightNumber], GL_POSITION, LightPosition);
00052     glLightfv(GL_LIGHT[LightNumber], GL_AMBIENT, Ambient);
00053     glLightfv(GL_LIGHT[LightNumber], GL_DIFFUSE, Diffuse);
00054     glLightfv(GL_LIGHT[LightNumber], GL_SPECULAR, Specular);
00055     glEnable(GL_LIGHT[LightNumber]);
00056 }
00057 
00058 void LIGHT::Update()
00059 {
00060     glLightfv(GL_LIGHT[LightNumber], GL_AMBIENT, Ambient);
00061     glLightfv(GL_LIGHT[LightNumber], GL_DIFFUSE, Diffuse);
00062     glLightfv(GL_LIGHT[LightNumber], GL_SPECULAR, Specular);
00063 }
00064 
00065 void LIGHT::Apply()
00066 {
00067     UpdatePosition();
00068     float LightPosition[] = {Position.x, Position.y, Position.z, (float)Positional};
00069     glLightfv(GL_LIGHT[LightNumber], GL_POSITION, LightPosition);
00070 }

Generated on Fri Dec 23 05:21:38 2005 for Sound by doxygen1.2.15