Index: /branches/water/src/world_entities/environments/mapped_water.cc
===================================================================
--- /branches/water/src/world_entities/environments/mapped_water.cc	(revision 8728)
+++ /branches/water/src/world_entities/environments/mapped_water.cc	(revision 8729)
@@ -19,4 +19,5 @@
 #include "util/loading/resource_manager.h"
 #include "state.h"
+#include "math.h"
 
 
@@ -53,4 +54,7 @@
   delete shader;
   delete cam_uni;
+  delete color_uni;
+  delete light_uni;
+  delete shine_uni;
 }
 
@@ -68,4 +72,6 @@
   this->setWaterAngle(0);
   this->setNormalMapScale(0.25f);
+  this->setWaterColor(0.1f, 0.2f, 0.4f);
+  this->setShininess(128);
 
   // initialization of the texture coords, speeds etc...
@@ -75,4 +81,6 @@
   this->move = 0;
   this->move2 = this->move * this->kNormalMapScale;
+
+
 }
 
@@ -132,7 +140,12 @@
   Shader::Uniform(shader, "depthMap").set(2);
   // Give the variable "waterColor" a blue color
-  Shader::Uniform(shader, "waterColor").set(0.1f, 0.2f, 0.4f, 1.0f);
+  color_uni = new Shader::Uniform(shader, "waterColor");
+  color_uni->set(waterColor.x, waterColor.y, waterColor.z, 1.0f);
   // Give the variable "lightPos" our hard coded light position
-  Shader::Uniform(shader, "lightPos").set(lightPos.x, lightPos.y, lightPos.z, 1.0f);
+  light_uni = new Shader::Uniform(shader, "lightPos");
+  light_uni->set(lightPos.x, lightPos.y, lightPos.z, 1.0f);
+  // Set the variable "shine"
+  shine_uni = new Shader::Uniform(shader, "kShine");
+  shine_uni->set(this->shininess);
   // uniform for the camera position
   cam_uni = new Shader::Uniform(shader, "cameraPos");
@@ -156,4 +169,6 @@
   LoadParam(root, "normalmapscale", this, MappedWater, setNormalMapScale);
   LoadParam(root, "waterangle", this, MappedWater, setWaterAngle);
+  LoadParam(root, "watercolor", this, MappedWater, setWaterColor);
+  LoadParam(root, "shininess", this, MappedWater, setShininess);
 }
 
Index: /branches/water/src/world_entities/environments/mapped_water.h
===================================================================
--- /branches/water/src/world_entities/environments/mapped_water.h	(revision 8728)
+++ /branches/water/src/world_entities/environments/mapped_water.h	(revision 8729)
@@ -12,4 +12,6 @@
   <waterangle>0</waterangle>
   <normalmapscale>0.25</normalmapscale><!-- you won't see a big differnce if you change that -->
+  <shininess>128</shininess><!-- the bigger the value, the smaller the specular reflection point -->
+  <watercolor>0.1, 0.2, 0.4</watercolor>
 </MappedWater>
 */
@@ -49,4 +51,6 @@
   void setWaterFlow(float flow) { this->waterFlow = flow; };
   void setNormalMapScale(float scale) { this->kNormalMapScale = scale; };
+  void setShininess(float shine) { this->shininess = shine; };
+  void setWaterColor(float r, float g, float b) { this->waterColor = Vector(r,g,b); };
 
 private:
@@ -60,5 +64,5 @@
   Vector              lightPos;               //!< position of the light that is used to render the reflection
   float               waterAngle;             //!< defines how much the water will be turned around the point waterPos
-
+  Vector              waterColor;             //!< color of the water
   float               move;                   //!< textures coords, speeds, positions for the shaded textures....
   float               move2;
@@ -67,4 +71,5 @@
   float               normalUV;
   float               kNormalMapScale;
+  float               shininess;              //!< the bigger the value, the smaller the specular reflection point
 
   int                 textureSize;            //!< height and width of the texture
@@ -72,4 +77,7 @@
   Shader*             shader;
   Shader::Uniform*    cam_uni;                //!< uniform that is used for the camera position
+  Shader::Uniform*    light_uni;              //!< uniform that is used for the light position
+  Shader::Uniform*    color_uni;              //!< uniform that is used for the watercolor
+  Shader::Uniform*    shine_uni;              //!< uniform that is used for the specular shininessd of the water
 };
 
