skip to content
==> src/job_scene.c <==
1/* A fleet job's scene (pathtrace-core lib.rs `job_scene`). */
2#include "pathtrace/job_scene.h"
3
4#include "pathtrace/scene.h"
5#include "pathtrace/view.h"
6
7static void load_default(uint32_t *out) {
8    for (size_t i = 0; i < PT_DEFAULT_SCENE_WORDS; i++) out[i] = pt_default_scene[i];
9}
10
11long pt_job_scene(const pt_setup_task *setup, size_t n, uint32_t out[PT_DEFAULT_SCENE_WORDS]) {
12    load_default(out);
13    for (size_t i = 0; i < n; i++) {
14        if (setup[i].op == PT_OP_DEFAULT)
15            load_default(out);
16        else if (!(setup[i].op == PT_OP_SET && pt_set_param(out, PT_DEFAULT_SCENE_WORDS, setup[i].arg)))
17            return (long)i;
18    }
19    return -1;
20}