int main(int argc, char *argv[]) { QApplication app(argc, argv); if (!initializeLdraw()) return -1; ModelViewerWidget mvw(0L); if (argc > 1) { if (std::strcmp(argv[1], "-immediate") == 0) mode_ = ldraw_renderer::renderer_opengl_factory::mode_immediate; else if (std::strcmp(argv[1], "-varray") == 0) mode_ = ldraw_renderer::renderer_opengl_factory::mode_varray; else if (std::strcmp(argv[1], "-vbo") == 0) mode_ = ldraw_renderer::renderer_opengl_factory::mode_vbo; else { std::cerr << "invalid option." << std::endl; return -3; } } QString fn = QFileDialog::getOpenFileName(0L, "Select a file to load", QString(), "LDraw Model Files (*.dat *.ldr *.mpd)"); if (fn.isNull()) return -1; if (!initializeModel(fn.toLocal8Bit().data())) return -1; mvw.show(); return app.exec(); };
int main(int argc, char *argv[]) { if (!initializeLdraw()) return -1; if (!initializeVideo(argc, argv)) return -1; if (argc < 2) { std::cerr << "Usage: " << argv[0] << " [filename] (-immediate | -varray | -vbo)" << std::endl; return -2; } else if (argc > 2) { if (std::strcmp(argv[2], "-immediate") == 0) mode_ = ldraw_renderer::renderer_opengl_factory::mode_immediate; else if (std::strcmp(argv[2], "-varray") == 0) mode_ = ldraw_renderer::renderer_opengl_factory::mode_varray; else if (std::strcmp(argv[2], "-vbo") == 0) mode_ = ldraw_renderer::renderer_opengl_factory::mode_vbo; else { std::cerr << "invalid option." << std::endl; return -3; } } initDisplay(); if (!initializeModel(argv[1])) return -1; resize(SCREEN_WIDTH, SCREEN_HEIGHT); glutDisplayFunc(displayFunc); glutIdleFunc(displayFunc); glutReshapeFunc(resize); glutMainLoop(); return 0; }