コード例 #1
0
ファイル: main.c プロジェクト: aiwl/ir
int main(int argc, char *argv[])
{
    int w, h;
    char in[256], out[256];

    if (argc < 3) {
        usage(argv[0]);
        return EXIT_FAILURE;
    }

    strncpy(in, argv[argc - 1], sizeof(in) - 1);
    strncpy(out, argv[argc - 2], sizeof(out) - 1);

    chk(get_parameters(&parameters, argc, (char **)(argv)));
    print_parameters(&parameters);

    chk(scene = scene_load(in));
    w = scene->camera.image_width;
    h = scene->camera.image_height;
    chk(image = hdr_image_new(w, h));

    context = ir_context_new(parameters.num_paths, parameters.max_path_length,
        parameters.tmin, parameters.dist_clamp);
    ir_distribute(context, scene);
    chk(accumulate_mt(parameters.num_threads));

    ir_render_vpls(context, image, scene, parameters.vpl_radius);
    ir_context_delete(&context);

    hdr_image_save(image, out);
    scene_delete(&scene);
    hdr_image_delete(&image);
    return EXIT_SUCCESS;

error:
    scene_delete(&scene);
    hdr_image_delete(&image);
    return 1;
}
コード例 #2
0
ファイル: game.c プロジェクト: ifzz/merriment
void game_reload(Game* game, const char* tmp_path) {
    scene_save(game->scene, tmp_path);
    scene_destroy(game->scene);
    game->scene = scene_create();
    scene_load(game->scene, tmp_path);
}
コード例 #3
0
ファイル: game.c プロジェクト: ifzz/merriment
void game_init(Game* game) {
    scene_load(game->scene, DW_DEFAULT_SCENE);
}