Changeset 4734 in orxonox.OLD for orxonox/trunk/src/lib/graphics/light.cc
- Timestamp:
- Jun 29, 2005, 3:05:47 PM (20 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
orxonox/trunk/src/lib/graphics/light.cc
r4597 r4734 23 23 #include "vector.h" 24 24 #include "debug.h" 25 #include "tinyxml.h" 26 #include "load_param.h" 27 #include "factory.h" 25 28 26 29 using namespace std; 27 30 31 CREATE_FACTORY(Light); 32 28 33 //! Definition of the Lights 29 int lightsV[] = {GL_LIGHT0, GL_LIGHT1, GL_LIGHT2, GL_LIGHT3, GL_LIGHT4, GL_LIGHT5, GL_LIGHT6, GL_LIGHT7}; 34 int lightsV[] = 35 { 36 GL_LIGHT0, 37 GL_LIGHT1, 38 GL_LIGHT2, 39 GL_LIGHT3, 40 GL_LIGHT4, 41 GL_LIGHT5, 42 GL_LIGHT6, 43 GL_LIGHT7 44 }; 30 45 31 46 … … 34 49 */ 35 50 Light::Light(int lightNumber) 51 { 52 this->init(lightNumber); 53 } 54 55 /** 56 * \param root The XML-element to load the Light from 57 */ 58 Light::Light(const TiXmlElement* root) 59 { 60 this->init(1); 61 this->loadParams(root); 62 } 63 64 /** 65 \brief destroys a Light 66 */ 67 Light::~Light(void) 68 { 69 glDisable(lightsV[this->lightNumber]); 70 } 71 72 /** 73 * \brief initializes a Light 74 */ 75 void Light::init(int lightNumber) 36 76 { 37 77 this->setClassID(CL_LIGHT, "Light"); … … 46 86 // set values (defaults) 47 87 this->lightNumber = lightNumber; 48 this->setPosition(0 .0, 0.0, 0.0);88 this->setPosition(0,0,0); 49 89 this->setDiffuseColor(1.0, 1.0, 1.0); 50 90 this->setSpecularColor(1.0, 1.0, 1.0); 51 91 } 52 92 53 54 /** 55 \brief destroys a Light 56 */ 57 Light::~Light(void) 58 { 59 glDisable(lightsV[this->lightNumber]); 60 } 61 93 /** 94 * \param root The XML-element to load the Light from 95 */ 96 void Light::loadParams(const TiXmlElement* root) 97 { 98 static_cast<PNode*>(this)->loadParams(root); 99 100 LoadParam<Light>(root, "diffuse-color", this, &Light::setDiffuseColor) 101 .describe("sets the diffuse color of the Light (red [0-1], green [0-1], blue [0-1])"); 102 103 LoadParam<Light>(root, "specular-color", this, &Light::setSpecularColor) 104 .describe("sets the specular color of the Light (red [0-1], green [0-1], blue [0-1])"); 105 106 LoadParam<Light>(root, "spot-direction", this, &Light::setSpotDirection) 107 .describe("sets the Direction of the Spot"); 108 109 LoadParam<Light>(root, "spot-cutoff", this, &Light::setSpotCutoff) 110 .describe("the cuttoff of the Spotlight"); 111 } 62 112 63 113 /** … … 66 116 \todo patrick: is it ok to set a Light Position even if it is derived from p_node?? 67 117 */ 68 void Light::setPosition( Vectorposition)118 void Light::setPosition(const Vector& position) 69 119 { 70 120 this->lightPosition[0] = position.x; … … 107 157 } 108 158 109 110 159 /** 111 160 \brief sets an emitting Specular color of this Light … … 147 196 \param direction The direction of the Spot Light. 148 197 */ 149 void Light::setSpotDirection( Vectordirection)198 void Light::setSpotDirection(const Vector& direction) 150 199 { 151 200 this->spotDirection[0] = direction.x;
Note: See TracChangeset
for help on using the changeset viewer.