star-3d

Surface structuring for efficient 3D geometric queries
git clone git://git.meso-star.fr/star-3d.git
Log | Files | Refs | README | LICENSE

commit caf88ecfd4ea252d024b7b0f79c7679b14e4bcbb
parent fbf93f7580f99b673a76692cda7e933128ec937a
Author: Vincent Forest <vincent.forest@meso-star.com>
Date:   Fri, 11 Jan 2019 15:06:41 +0100

Fix the instance creation/update against Embree3

Diffstat:
Msrc/s3d_device.c | 3++-
Msrc/s3d_scene_view.c | 5+++++
2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/s3d_device.c b/src/s3d_device.c @@ -47,7 +47,8 @@ rtc_error_func(void* context, enum RTCError err, const char* str) { struct s3d_device* dev = (struct s3d_device*)context; ASSERT(dev); - log_error(dev, "Embree:error: %s -- %s", str, rtc_error_string(err)); + (void)str; + log_error(dev, "Embree:error: %s\n", rtc_error_string(err)); } static INLINE void diff --git a/src/s3d_scene_view.c b/src/s3d_scene_view.c @@ -246,6 +246,7 @@ embree_geometry_register * instantiated geometry was updated. Currently, we have no simple way to * know if the geometry was upd or not so we simply force the update. */ rtcCommitGeometry(geom->rtc); + scnview->rtc_scn_update = 1; } } else { switch(geom->type) { @@ -681,6 +682,10 @@ scene_view_register_instance res = htable_geom_set(&scnview->cached_geoms, &shape_id, &geom); if(res != RES_OK) goto error; geom->name = shape->id.index; + + /* Force the commit of the newly created geometry by setting up its + * outdated mask */ + geom->embree_outdated_mask |= EMBREE_TRANSFORM; } ASSERT(geom->data.instance->scene == shape->data.instance->scene); geom->data.instance->scnview = view;