Пример #1
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 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;
}
Пример #2
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;
}