Index: orxonox/trunk/src/lib/graphics/importer/abstract_model.h
===================================================================
--- orxonox/trunk/src/lib/graphics/importer/abstract_model.h	(revision 4801)
+++ orxonox/trunk/src/lib/graphics/importer/abstract_model.h	(revision 4802)
@@ -77,4 +77,5 @@
 {
   unsigned int   indexToVertices[3];   //!< index to the verteces of the triangle
+  unsigned int   indexToNormals[3];    //!< index to the normals of the triangle
   unsigned int   indexToTexCoor[3];    //!< index to the texture coordinates
 } sTriangleExt;
Index: orxonox/trunk/src/lib/graphics/importer/model.cc
===================================================================
--- orxonox/trunk/src/lib/graphics/importer/model.cc	(revision 4801)
+++ orxonox/trunk/src/lib/graphics/importer/model.cc	(revision 4802)
@@ -237,15 +237,23 @@
 
   const GLfloat* pVertices = NULL;
+  const GLfloat* pNorm = NULL;
 
   glBegin(GL_TRIANGLES);
   for( int i = 0; i < this->triangleCount; ++i)
   {
+    //printf("int i = %i\n", i);
+    pNorm = &this->normals->getArray()[this->triangles[i].indexToNormals[0]];
     pVertices = &this->vertices->getArray()[this->triangles[i].indexToVertices[0]];
+    glNormal3f(pNorm[0], pNorm[1], pNorm[2]);
     glVertex3f(pVertices[0], pVertices[1], pVertices[2]);
 
+    pNorm = &this->normals->getArray()[this->triangles[i].indexToNormals[1]];
     pVertices = &this->vertices->getArray()[this->triangles[i].indexToVertices[1]];
+    glNormal3f(pNorm[0], pNorm[1], pNorm[2]);
     glVertex3f(pVertices[0], pVertices[1], pVertices[2]);
 
+    pNorm = &this->normals->getArray()[this->triangles[i].indexToNormals[2]];
     pVertices = &this->vertices->getArray()[this->triangles[i].indexToVertices[2]];
+    glNormal3f(pNorm[0], pNorm[1], pNorm[2]);
     glVertex3f(pVertices[0], pVertices[1], pVertices[2]);
 
@@ -916,4 +924,5 @@
         {
           this->triangles[index].indexToVertices[j] = (unsigned int)tmpElem->vertexNumber * 3;
+          this->triangles[index].indexToNormals[j] = (unsigned int)tmpElem->normalNumber * 3;
           this->triangles[index].indexToTexCoor[j] = (unsigned int)tmpElem->texCoordNumber * 3;
           tmpElem = tmpElem->next;
@@ -925,22 +934,28 @@
 
         this->triangles[index].indexToVertices[0] = (unsigned int)tmpElem->vertexNumber * 3;
+        this->triangles[index].indexToNormals[0] = (unsigned int)tmpElem->normalNumber * 3;
         this->triangles[index].indexToTexCoor[0] = (unsigned int)tmpElem->texCoordNumber * 3;
 
         this->triangles[index + 1].indexToVertices[0] = (unsigned int)tmpElem->vertexNumber * 3;
+        this->triangles[index + 1].indexToNormals[0] = (unsigned int)tmpElem->normalNumber * 3;
         this->triangles[index + 1].indexToTexCoor[0] = (unsigned int)tmpElem->texCoordNumber * 3;
         tmpElem = tmpElem->next;
 
         this->triangles[index].indexToVertices[1] = (unsigned int)tmpElem->vertexNumber * 3;
+        this->triangles[index].indexToNormals[1] = (unsigned int)tmpElem->normalNumber * 3;
         this->triangles[index].indexToTexCoor[1] = (unsigned int)tmpElem->texCoordNumber * 3;
         tmpElem = tmpElem->next;
 
         this->triangles[index].indexToVertices[2] = (unsigned int)tmpElem->vertexNumber * 3;
+        this->triangles[index].indexToNormals[2] = (unsigned int)tmpElem->normalNumber * 3;
         this->triangles[index].indexToTexCoor[2] = (unsigned int)tmpElem->texCoordNumber * 3;
 
         this->triangles[index + 1].indexToVertices[2] = (unsigned int)tmpElem->vertexNumber * 3;
+        this->triangles[index + 1].indexToNormals[2] = (unsigned int)tmpElem->normalNumber * 3;
         this->triangles[index + 1].indexToTexCoor[2] = (unsigned int)tmpElem->texCoordNumber * 3;
         tmpElem = tmpElem->next;
 
         this->triangles[index + 1].indexToVertices[1] = (unsigned int)tmpElem->vertexNumber * 3;
+        this->triangles[index + 1].indexToNormals[1] = (unsigned int)tmpElem->normalNumber * 3;
         this->triangles[index + 1].indexToTexCoor[1] = (unsigned int)tmpElem->texCoordNumber * 3;
 
