Index: orxonox/trunk/src/lib/graphics/importer/framework.cc
===================================================================
--- orxonox/trunk/src/lib/graphics/importer/framework.cc	(revision 4110)
+++ orxonox/trunk/src/lib/graphics/importer/framework.cc	(revision 4112)
@@ -79,5 +79,5 @@
     obj = new OBJModel(argv[1]);
   else 
-    obj = new PrimitiveModel(SPHERE);
+    obj = new PrimitiveModel(CYLINDER);
 
   M = Vector(wHandler.screen->w/2, wHandler.screen->h/2, 0); 
Index: orxonox/trunk/src/lib/graphics/importer/model.cc
===================================================================
--- orxonox/trunk/src/lib/graphics/importer/model.cc	(revision 4110)
+++ orxonox/trunk/src/lib/graphics/importer/model.cc	(revision 4112)
@@ -523,4 +523,6 @@
 
    If a face line is found this function will add it to the glList.
+
+   String is different from the argument addFace, in this that the first Vertex/Normal/Texcoord is 1 instead of 0
 */
 bool Model::addFace (const char* faceString)
@@ -577,5 +579,5 @@
    \brief adds a new Face
    \param faceElemCount the number of Vertices to add to the Face.
-   \param type 0: vertex only, 1: vertex and normal, 2: vertex and Texture, 3 vertex, normal and texture
+   \param type The information Passed with each Vertex
 */
 bool Model::addFace(int faceElemCount, VERTEX_FORMAT type, ...)
@@ -594,9 +596,9 @@
 	tmpElem = tmpElem->next = new ModelFaceElement;
 
-      tmpElem->vertexNumber = va_arg (itemlist, int) -1;
+      tmpElem->vertexNumber = va_arg (itemlist, int);
       if (type & TEXCOORD)
-	tmpElem->texCoordNumber = va_arg (itemlist, int) -1;
+	tmpElem->texCoordNumber = va_arg (itemlist, int);
       if (type & NORMAL)
- 	tmpElem->normalNumber = va_arg(itemlist, int) -1;
+ 	tmpElem->normalNumber = va_arg(itemlist, int);
       this->currentGroup->currentFace->vertexCount++;
     }
@@ -924,19 +926,10 @@
   this->addVertexNormal (-1.0, 0.0, 0.0);
 
-  /* normaleLess-testingMode
-  this->addFace ("1 2 4 3");
-  this->addFace ("3 4 6 5");
-  this->addFace ("5 6 8 7");
-  this->addFace ("7 8 2 1");
-  this->addFace ("2 8 6 4");
-  this->addFace ("7 1 3 5");
-  */
-
-  this->addFace (4, VERTEX_TEXCOORD_NORMAL, 1,1,1, 2,2,2, 4,4,3, 3,3,4);
-  this->addFace (4, VERTEX_TEXCOORD_NORMAL, 3,3,5, 4,4,6, 6,6,7, 5,5,8);
-  this->addFace (4, VERTEX_TEXCOORD_NORMAL, 5,5,9, 6,6,10, 8,8,11, 7,7,12);
-  this->addFace (4, VERTEX_TEXCOORD_NORMAL, 7,7,13, 8,8,14, 2,10,15, 1,9,16);
-  this->addFace (4, VERTEX_TEXCOORD_NORMAL, 2,2,17, 8,11,18, 6,12,19, 4,4,20);
-  this->addFace (4, VERTEX_TEXCOORD_NORMAL, 7,13,21, 1,1,22, 3,3,23, 5,14,24);
-
-}
+  this->addFace (4, VERTEX_TEXCOORD_NORMAL, 0,0,0, 1,1,1, 3,3,2, 2,2,3);
+  this->addFace (4, VERTEX_TEXCOORD_NORMAL, 2,2,4, 3,3,5, 5,5,6, 4,4,7);
+  this->addFace (4, VERTEX_TEXCOORD_NORMAL, 4,4,8, 5,5,9, 7,7,10, 6,6,11);
+  this->addFace (4, VERTEX_TEXCOORD_NORMAL, 6,6,12, 7,7,13, 1,9,14, 0,8,15);
+  this->addFace (4, VERTEX_TEXCOORD_NORMAL, 1,1,16, 7,10,17, 5,11,18, 3,3,19);
+  this->addFace (4, VERTEX_TEXCOORD_NORMAL, 6,12,20, 0,0,21, 2,2,22, 4,13,23);
+
+}
Index: orxonox/trunk/src/lib/graphics/importer/primitive_model.cc
===================================================================
--- orxonox/trunk/src/lib/graphics/importer/primitive_model.cc	(revision 4110)
+++ orxonox/trunk/src/lib/graphics/importer/primitive_model.cc	(revision 4112)
@@ -71,5 +71,4 @@
 void PrimitiveModel::sphereModel(float size, unsigned int detail)
 {
-  int vertexCount = 0;
   if (detail <= 0) 
     detail = 1;
@@ -89,9 +88,10 @@
 			  size * sin(vi) * cos(vj));
 	  this->addVertexTexture(i / (df *2.0), (j-1.0)/(df)+.5);
-	  vertexCount++;
 	}
     }
   this->addVertex(0, -size, 0);
+  this->addVertexTexture(0,0);
   this->addVertex(0, size, 0);
+  this->addVertexTexture(0 ,1);
 
   // defining the binding Faces.
@@ -102,26 +102,26 @@
 	{
 	  
-	  v1 = i*detail + j;
-	  v4 = i*detail + (j+1);
+	  v1 = i*detail + j-1;
+	  v4 = i*detail + j;
 	  
 	  if (i == detail*2 -1)
 	    {
-	      v2 = j;
-	      v3 = j+1;
+	      v2 = j-1;
+	      v3 = j;
 	    }
 	  else
 	    {
-	      v2 = (i+1)*detail + j;
-	      v3 = (i+1)*detail + (j+1);
-	    }
-	  
+	      v2 = (i+1)*detail + j-1;
+	      v3 = (i+1)*detail + j;
+	    }
+
 	  if (j == 0)
 	    {
-	      v1 = vertexCount+1;
+	      v1 = this->getVertexCount()-2;
 	      this->addFace(3, VERTEX_TEXCOORD, v1, v1, v3, v3, v4, v4);
 	    }
 	  else if (j == detail)
 	    {
-	      v3 = vertexCount+2;
+	      v3 = this->getVertexCount()-1;
 	      this->addFace(3, VERTEX_TEXCOORD, v1, v1, v2, v2, v3, v3);
 	    }
@@ -157,17 +157,17 @@
     {
       int p1, p2, p3, p4;
-      p1 = 2*i+1;
-      p2 = 2*i+2;
-      p3 = 2*i+4;
-      p4 = 2*i+3;
+      p1 = 2*i;
+      p2 = 2*i+1;
+      p3 = 2*i+3;
+      p4 = 2*i+2;
       // something is wrong here
       this->addFace(4, VERTEX_ONLY, p1, p2, p3, p4);
-      this->addFace(3, VERTEX_ONLY, p4, p1, 2*detail+1);
-      this->addFace(3, VERTEX_ONLY, p2, p3, 2*detail+2);
+      this->addFace(3, VERTEX_ONLY, p4, p1, 2*detail);
+      this->addFace(3, VERTEX_ONLY, p2, p3, 2*detail+1);
     }
   // caps
-  this->addFace(4, VERTEX_ONLY, 2*detail-1, 2*detail, 2, 1);
-  this->addFace(3, VERTEX_ONLY, 1, 2*detail-1, 2*detail+1);
-  this->addFace(3, VERTEX_ONLY, 2*detail, 2, 2*detail+2);
+  this->addFace(4, VERTEX_ONLY, 2*detail-2, 2*detail-1, 1, 0);
+  this->addFace(3, VERTEX_ONLY, 0, 2*detail-2, 2*detail);
+  this->addFace(3, VERTEX_ONLY, 2*detail-1, 1, 2*detail+1);
 }
 
@@ -198,11 +198,11 @@
     {
       unsigned int v1, v2;
-      v1 = i+3;
+      v1 = i+2;
       if (i == detail -1)
-	v2 = 3;
+	v2 = 2;
       else
-	v2 = i+4;
-      this->addFace(3, VERTEX_ONLY, 1, v1, v2);
-      this->addFace(3, VERTEX_ONLY, 2, v1, v2); 
+	v2 = i+3;
+      this->addFace(3, VERTEX_ONLY, 0, v1, v2);
+      this->addFace(3, VERTEX_ONLY, 1, v1, v2); 
     }
 }
@@ -228,5 +228,5 @@
   unsigned int v1, v2, v3, v4;
   for (int i = 0; i < detail-1; i++)
-    for (int j = 1; j < detail; j++)
+    for (int j = 0; j < detail-1; j++)
       {
 	v1 = i*detail + j;
Index: orxonox/trunk/src/world_entities/skybox.cc
===================================================================
--- orxonox/trunk/src/world_entities/skybox.cc	(revision 4110)
+++ orxonox/trunk/src/world_entities/skybox.cc	(revision 4112)
@@ -218,15 +218,15 @@
 
   model->setMaterial(material[0]);
-  model->addFace (4, VERTEX_TEXCOORD_NORMAL, 3,2,4, 4,3,4, 6,4,4, 5,1,4); // top
+  model->addFace (4, VERTEX_TEXCOORD_NORMAL, 2,1,3, 3,2,3, 5,3,3, 4,0,3); // top
   model->setMaterial(material[1]);
-  model->addFace (4, VERTEX_TEXCOORD_NORMAL, 7,4,2, 8,1,2, 2,2,2, 1,3,2); // bottom
+  model->addFace (4, VERTEX_TEXCOORD_NORMAL, 6,3,1, 7,0,1, 1,1,1, 0,2,1); // bottom
   model->setMaterial(material[2]);
-  model->addFace (4, VERTEX_TEXCOORD_NORMAL, 1,1,3, 2,2,3, 4,3,3, 3,4,3); // left
+  model->addFace (4, VERTEX_TEXCOORD_NORMAL, 0,0,2, 1,1,2, 3,2,2, 2,3,2); // left
   model->setMaterial(material[3]);
-  model->addFace (4, VERTEX_TEXCOORD_NORMAL, 5,3,1, 6,4,1, 8,1,1, 7,2,1); // right
+  model->addFace (4, VERTEX_TEXCOORD_NORMAL, 4,2,0, 5,3,0, 7,0,0, 6,1,0); // right
   model->setMaterial(material[4]);
-  model->addFace (4, VERTEX_TEXCOORD_NORMAL, 2,1,6, 8,2,6, 6,3,6, 4,4,6); // front
+  model->addFace (4, VERTEX_TEXCOORD_NORMAL, 1,0,5, 7,1,5, 5,2,5, 3,3,6); // front
   model->setMaterial(material[5]);
-  model->addFace (4, VERTEX_TEXCOORD_NORMAL, 7,1,5, 1,2,5, 3,3,5, 5,4,5); // back
+  model->addFace (4, VERTEX_TEXCOORD_NORMAL, 6,0,4, 0,1,4, 2,2,4, 4,3,4); // back
   
   model->finalize();
