Example #1
0
File: Mesh.cpp Project: hoijui/CG1
void Mesh::RenderFaces() const {

	if (smooth) {
		renderSmooth();
	} else {
		renderFlat();
	}
}
Example #2
0
void render() {
  switch(renderMode){
    case 0:
      renderText();
      break;
    case 1:
      renderASCII();
      break;
    case 2:
      renderFlat();
      break;
    case 3:
      renderDepth();
      break;
    default:
      renderWrong();
      break;
  }  
}
Example #3
0
void VisusMeshDisplay::display3D(VisusTransformation3D model_view_3D)
{
  VisusTransformation3D local;
  VisusColor color;

  synchronize();


  getValue(local);
  getValue(color);

  if (!frozen())
    model_view_3D *= local;
  else
    model_view_3D = mFrozen3D;

  glMatrixMode(GL_MODELVIEW);
  glPushMatrix();
  glLoadMatrixf(model_view_3D);
  
  if (!frozen())
    glMultMatrixf(mMesh.matrix());
  else
    glMultMatrixf(mFrozenDataTransformation);

  if (mDrawBoundingBox) {
    //fprintf(stderr,"draw bounding box\n");
    displayBoundingBox();
  }

  glPolygonMode(GL_FRONT_AND_BACK,mPolygonMode);

  //float c[4] = {1,1,1,1};
  //glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, c);
  glColor3f(1,1,1);
  
  if ((mColorIndex >= 0) && (mNormalIndex >= 0)) {
    renderColoredSmooth();
  }
  else if ((mColorIndex >= 0) && (mNormalIndex < 0))
    renderColoredFlat();
  else if ((mColorIndex < 0) && (mNormalIndex >= 0)) {
    getValue(color);
    color.glColor();
    renderSmooth();
  }
  else {
    getValue(color);
    color.glColor();
    renderFlat();
  }
  


  //glEnable(GL_TEXTURE_2D);  // This breaks anything else that uses colormap on windows if enabled
  //glDisable(GL_COLOR_MATERIAL);
  vglerror();

  for (CIterator it=mChildren.begin();it!=mChildren.end();it++) 
    (*it)->display(model_view_3D);
 
  glPopMatrix();  
}