int main() { // Create a log target that outputs to stderr, and binds it to the renderer's global logger. // Eventually you will probably want to redirect log messages to your own target. For this // you will need to subclass foundation::LogTargetBase (foundation/utility/log/logtargetbase.h). std::auto_ptr<asf::LogTargetBase> log_target(asf::create_console_log_target(stderr)); asr::global_logger().add_target(log_target.get()); // Build the project. asf::auto_release_ptr<asr::Project> project(build_project()); // Create the master renderer. asr::DefaultRendererController renderer_controller; asr::MasterRenderer renderer( project.ref(), project->configurations().get_by_name("final")->get_inherited_parameters(), &renderer_controller); // Render the frame. renderer.render(); // Save the frame to disk. project->get_frame()->write_main_image("output/test.png"); // Save the project to disk. asr::ProjectFileWriter::write(project.ref(), "output/test.appleseed"); return 0; }
int main() { // Create a log target that outputs to stderr, and binds it to the renderer's global logger. // Eventually you will probably want to redirect log messages to your own target. For this // you will need to implement foundation::ILogTarget (foundation/utility/log/ilogtarget.h). std::auto_ptr<asf::ILogTarget> log_target(asf::create_console_log_target(stderr)); asr::global_logger().add_target(log_target.get()); // Print appleseed's version string. RENDERER_LOG_INFO("%s", asf::Appleseed::get_synthetic_version_string()); // Build the project. asf::auto_release_ptr<asr::Project> project(build_project()); // Create the master renderer. asr::DefaultRendererController renderer_controller; std::auto_ptr<asr::MasterRenderer> renderer( new asr::MasterRenderer( project.ref(), project->configurations().get_by_name("final")->get_inherited_parameters(), &renderer_controller)); // Render the frame. renderer->render(); // Save the frame to disk. project->get_frame()->write_main_image("output/test.png"); // Save the project to disk. asr::ProjectFileWriter::write(project.ref(), "output/test.appleseed"); // Make sure to delete the master renderer before the project and the logger / log target. renderer.reset(); return 0; }