summaryrefslogtreecommitdiff
path: root/src/modules/ray
diff options
context:
space:
mode:
authorVito Caputo <vcaputo@pengaru.com>2017-04-22 15:29:49 -0700
committerVito Caputo <vcaputo@pengaru.com>2017-04-22 15:29:49 -0700
commitd28ceb85a6b43a503c608116798945baab0e060f (patch)
tree1a96ae21cbab1ef8fdf831d588fd2c9477fb3f92 /src/modules/ray
parent1ff4632e895202c4485818f6e748e773b6fd2859 (diff)
*: add module context machinery
introduces create_context() and destroy_context() methods, and adds a 'void *context' first parameter to the module methods. If a module doesn't supply create_context() then NULL is simply passed around as the context, so trivial modules can continue to only implement render_fragment(). A subsequent commit will update the modules to encapsulate their global state in module-specific contexts.
Diffstat (limited to 'src/modules/ray')
-rw-r--r--src/modules/ray/ray.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/modules/ray/ray.c b/src/modules/ray/ray.c
index e79bfaf..a934c30 100644
--- a/src/modules/ray/ray.c
+++ b/src/modules/ray/ray.c
@@ -112,7 +112,7 @@ static float r;
/* prepare a frame for concurrent rendering */
-static void ray_prepare_frame(unsigned n_cpus, fb_fragment_t *fragment, rototiller_frame_t *res_frame)
+static void ray_prepare_frame(void *context, unsigned n_cpus, fb_fragment_t *fragment, rototiller_frame_t *res_frame)
{
/* TODO experiment with tiled fragments vs. rows */
res_frame->n_fragments = n_cpus;
@@ -146,7 +146,7 @@ static void ray_prepare_frame(unsigned n_cpus, fb_fragment_t *fragment, rototill
/* ray trace a simple scene into the fragment */
-static void ray_render_fragment(fb_fragment_t *fragment)
+static void ray_render_fragment(void *context, fb_fragment_t *fragment)
{
ray_scene_render_fragment(&scene, &camera, fragment);
}
© All Rights Reserved