Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Jul 6, 2005, 3:55:22 PM (20 years ago)
Author:
patrick
Message:

orxonox/trunk: the triangle data should be constructed correctly now, if you start orxonox you will only see shit… this means, that the trangles data are not correct at all… I'm woking on this one

File:
1 edited

Legend:

Unmodified
Added
Removed
  • orxonox/trunk/src/lib/graphics/importer/model.cc

    r4798 r4799  
    225225void Model::draw () const
    226226{
     227  /*
    227228  PRINTF(4)("drawing the 3D-Models\n");
    228229  ModelGroup* tmpGroup = this->firstGroup;
     
    233234      tmpGroup = tmpGroup->next;
    234235    }
     236  */
     237
     238  if(unlikely(this->triangles == NULL))
     239    return;
     240
     241  const GLfloat* pVertices = NULL;
     242
     243  glBegin(GL_TRIANGLES);
     244  for( int i = 0; i < this->triangleCount; ++i)
     245  {
     246    pVertices = &this->vertices->getArray()[this->triangles[i].indexToVertices[0]];
     247    glVertex3f(pVertices[0], pVertices[1], pVertices[2]);
     248
     249    pVertices = &this->vertices->getArray()[this->triangles[i].indexToVertices[1]];
     250    glVertex3f(pVertices[0], pVertices[1], pVertices[2]);
     251
     252    pVertices = &this->vertices->getArray()[this->triangles[i].indexToVertices[2]];
     253    glVertex3f(pVertices[0], pVertices[1], pVertices[2]);
     254
     255
     256//     glVertex3fv(&this->vertices->getArray()[this->triangles[i].indexToVertices[1]]);
     257//     glVertex3fv(&this->vertices->getArray()[this->triangles[i].indexToVertices[2]]);
     258  }
     259  glEnd();
    235260}
    236261
     
    874899
    875900  /* allocate memory for the new triangle structures */
    876   if( unlikely((this->triangles = new sTriangleExt[this->triangleCount]) == 0));
     901  if( (this->triangles = new sTriangleExt[this->triangleCount]) == NULL)
    877902  {
    878     PRINTF(2)("Could not allocate memory for triangle list\n");
     903    PRINTF(1)("Could not allocate memory for triangle list\n");
    879904    return false;
    880905  }
     
    907932        this->triangles[index].indexToVertices[0] = (unsigned int)tmpElem->vertexNumber;
    908933        this->triangles[index].indexToTexCoor[0] = (unsigned int)tmpElem->texCoordNumber;
     934
     935        this->triangles[index + 1].indexToVertices[0] = (unsigned int)tmpElem->vertexNumber;
     936        this->triangles[index + 1].indexToTexCoor[0] = (unsigned int)tmpElem->texCoordNumber;
    909937        tmpElem = tmpElem->next;
    910938
    911939        this->triangles[index].indexToVertices[1] = (unsigned int)tmpElem->vertexNumber;
    912940        this->triangles[index].indexToTexCoor[1] = (unsigned int)tmpElem->texCoordNumber;
     941
     942        this->triangles[index + 1].indexToVertices[1] = (unsigned int)tmpElem->vertexNumber;
     943        this->triangles[index + 1].indexToTexCoor[1] = (unsigned int)tmpElem->texCoordNumber;
    913944        tmpElem = tmpElem->next;
    914945
    915946        this->triangles[index].indexToVertices[2] = (unsigned int)tmpElem->vertexNumber;
    916947        this->triangles[index].indexToTexCoor[2] = (unsigned int)tmpElem->texCoordNumber;
    917         ++index;
    918 
    919         this->triangles[index].indexToVertices[0] = (unsigned int)tmpElem->vertexNumber;
    920         this->triangles[index].indexToTexCoor[0] = (unsigned int)tmpElem->texCoordNumber;
    921948        tmpElem = tmpElem->next;
    922949
    923         this->triangles[index].indexToVertices[1] = (unsigned int)tmpElem->vertexNumber;
    924         this->triangles[index].indexToTexCoor[1] = (unsigned int)tmpElem->texCoordNumber;
    925         tmpElem = tmpElem->next;
    926 
    927         this->triangles[index].indexToVertices[2] = (unsigned int)tmpElem->vertexNumber;
    928         this->triangles[index].indexToTexCoor[2] = (unsigned int)tmpElem->texCoordNumber;
    929         ++index;
     950        this->triangles[index + 1].indexToVertices[2] = (unsigned int)tmpElem->vertexNumber;
     951        this->triangles[index + 1].indexToTexCoor[2] = (unsigned int)tmpElem->texCoordNumber;
     952
     953        index += 2;
    930954      }
     955      tmpFace = tmpFace->next;
    931956    }
    932957    this->currentGroup = this->currentGroup->next;
    933958  }
     959  return true;
    934960}
    935961
Note: See TracChangeset for help on using the changeset viewer.