From ecdb3ebb4897a2a750d403a3389a12cb982cd113 Mon Sep 17 00:00:00 2001 From: Vito Caputo Date: Thu, 1 Jun 2017 15:32:17 -0700 Subject: ray: perform ambient light color scale in prepare Trivially removes a ray_3f_mult_scalar() from the hot path. --- src/modules/ray/ray_scene.h | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) (limited to 'src/modules/ray/ray_scene.h') diff --git a/src/modules/ray/ray_scene.h b/src/modules/ray/ray_scene.h index d8a1e7a..820b16b 100644 --- a/src/modules/ray/ray_scene.h +++ b/src/modules/ray/ray_scene.h @@ -10,14 +10,18 @@ typedef union ray_object_t ray_object_t; typedef struct ray_scene_t { - ray_object_t *objects; - unsigned n_objects; + ray_object_t *objects; + unsigned n_objects; - ray_object_t *lights; - unsigned n_lights; + ray_object_t *lights; + unsigned n_lights; - ray_color_t ambient_color; - float ambient_brightness; + ray_color_t ambient_color; + float ambient_brightness; + + struct { + ray_color_t ambient_light; + } _prepared; } ray_scene_t; void ray_scene_prepare(ray_scene_t *scene); -- cgit v1.2.3