#include #include #include #include "util.h" #include "image.h" #include "scene.h" #include "imageIO.h" #include "sceneIO.h" int main(int argc, char** argv) { // parse command line if(argc < 2) { std::cout << "Usage: " << argv[0] << " [scene2.xml ...]" << std::endl; return -1; } // for each filename, import scene and render unsigned int pos=1; while(pos < argc) { // get filename std::string filename = argv[pos++]; // import std::cerr << " * Reading " << filename << "..."; auto startImport = std::chrono::system_clock::now(); scene s; importScene(filename, s); auto endImport = std::chrono::system_clock::now(); std::chrono::duration durationImport = endImport - startImport; std::cerr << durationImport.count() << " seconds." << std::endl; // render std::cerr << " * Rendering... "; auto startTime = std::chrono::system_clock::now(); image result = s.render(); auto endTime = std::chrono::system_clock::now(); std::chrono::duration duration = endTime - startTime; std::cerr << duration.count() << " seconds." << std::endl; // save image (both pfm and ppm) std::cerr << " * Writing result." << std::endl; exportImage(getFilename(filename) + ".pfm", result); exportImage(getFilename(filename) + ".ppm", result); } // Done. return 0; }