diff options
author | Vito Caputo <vcaputo@pengaru.com> | 2017-12-23 21:14:06 -0800 |
---|---|---|
committer | Vito Caputo <vcaputo@pengaru.com> | 2017-12-23 21:17:24 -0800 |
commit | 8ab42d0fb70f5c74554350b10e35bd6b6a78ab1b (patch) | |
tree | 69c63d0962977b2db31bcb60f992ec2bff3d73f4 /src/modules/ray/ray_object_point.h | |
parent | 5c287c99a3fa8f137dc279b2253c628e83786afe (diff) |
ray: split object render from object description
This moves the per-object _prepared state into ray_render_object_$type
structs with all the rendering-related object methods switched to
operate on the new render structs.
Since the current rendering code just makes all these assumptions
about light objects being point lights, I've just dropped all the
stuff associated with rendering light objects for now. I think it
will be refactored a bit later on when the rendering code stops
hard-coding the point light stuff.
These changes open up the possibility of constifying the scene and
constituent objects, now that rendering doesn't shove the prepared
state into the embedded _prepared object substructs.
Diffstat (limited to 'src/modules/ray/ray_object_point.h')
-rw-r--r-- | src/modules/ray/ray_object_point.h | 28 |
1 files changed, 0 insertions, 28 deletions
diff --git a/src/modules/ray/ray_object_point.h b/src/modules/ray/ray_object_point.h index 2b58f5f..5685fdc 100644 --- a/src/modules/ray/ray_object_point.h +++ b/src/modules/ray/ray_object_point.h @@ -2,9 +2,7 @@ #define _RAY_OBJECT_POINT_H #include "ray_3f.h" -#include "ray_camera.h" #include "ray_object_type.h" -#include "ray_ray.h" #include "ray_surface.h" @@ -14,30 +12,4 @@ typedef struct ray_object_point_t { ray_3f_t center; } ray_object_point_t; - -static void ray_object_point_prepare(ray_object_point_t *point, ray_camera_t *camera) -{ -} - - -static inline int ray_object_point_intersects_ray(ray_object_point_t *point, unsigned depth, ray_ray_t *ray, float *res_distance) -{ - /* TODO: determine a ray:point intersection */ - return 0; -} - - -static inline ray_3f_t ray_object_point_normal(ray_object_point_t *point, ray_3f_t *_point) -{ - ray_3f_t normal; - - return normal; -} - - -static inline ray_surface_t ray_object_point_surface(ray_object_point_t *point, ray_3f_t *_point) -{ - return point->surface; -} - #endif |