Пример #1
0
void init()
{
	glClearColor(0.0, 0.0, 0.0, 1.0);
	glClearDepth(1.0);

	glEnable(GL_LIGHTING);
	glEnable(GL_LIGHT0);
    glEnable(GL_DEPTH_TEST);

	GLfloat light_position[] = { 1.0, 1.0, 1.0, 0.0 };
    GLfloat light_specular[] = {1.0, 1.0, 0.0,1.0};
    GLfloat light_diffuse[] = {0.50, 0.50, 0.5,1.0};
    GLfloat mat_specular[] = { 0.8, 0.5, 0.5, 1.0 };
    GLfloat mat_shininess[] = { 20.0 };
    GLfloat mat_ambient[] = { 0.2, 0.4, 0.99, 1.0 };
    GLfloat mat_diffuse[] = { 0.4, 0.4, 0.4, 1.0 };
    glShadeModel (GL_SMOOTH);
    
    glMaterialfv(GL_FRONT, GL_SPECULAR, mat_specular);
    glMaterialfv(GL_FRONT, GL_AMBIENT, mat_ambient);
    glMaterialfv(GL_FRONT, GL_DIFFUSE, mat_diffuse);
    glMaterialfv(GL_FRONT, GL_SHININESS, mat_shininess);
    glLightfv(GL_LIGHT0, GL_POSITION, light_position);
    glLightfv(GL_LIGHT0, GL_SPECULAR, light_specular);
    glLightfv(GL_LIGHT0, GL_DIFFUSE, light_diffuse);

	cam = new Camera(90);
	cam->resetView(width, height);

	mesh = new Mesh();

	OBJReader r = OBJReader("cow.obj", mesh);
	r.readObj();
}
Пример #2
0
int
main (int argc, char** argv)
{
  OBJReader reader;
  PointCloud cloud;
  Octree octree (10);

  reader.read (argv[1], cloud);

  std::cout << "size:" << cloud.size () << std::endl;
  
  octree.add (cloud);

  std::cout << "leafs:" << octree.getLeafCount () << std::endl;

  return 0;
}
Пример #3
0
void OBJBaker::bakeOBJ() {
    // Read the OBJ file
    QFile objFile(_originalModelFilePath);
    if (!objFile.open(QIODevice::ReadOnly)) {
        handleError("Error opening " + _originalModelFilePath + " for reading");
        return;
    }

    QByteArray objData = objFile.readAll();

    bool combineParts = true; // set true so that OBJReader reads material info from material library
    OBJReader reader;
    auto geometry = reader.readOBJ(objData, QVariantHash(), combineParts, _modelURL);

    // Write OBJ Data as FBX tree nodes
    createFBXNodeTree(_rootNode, *geometry);

    checkIfTexturesFinished();
}
Пример #4
0
bool
BaseJOTapp::load_obj_file(Cstr_ptr &file)
{
   // read an .obj file

   ifstream obj_stream(**file);
   if (!obj_stream.is_open()) {
      cerr << "BaseJOTapp::load_obj_file: error: couldn't open .obj file"
           << endl;
      return 0;
   }

   OBJReader reader;
   if (!reader.read(obj_stream)) {
      cerr << "BaseJOTapp::load_obj_file: error: couldn't understand .obj file"
           << endl;
      return 0;
   }

   BMESHptr mesh = new_mesh();
   reader.get_mesh(mesh);

   return create_mesh(mesh, file);
}