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 6ee0993dc458aa15b6a3773cd9605cf37d67fd8c
parent 6f9d3f04321fa5afefc3b513913c2b8cc345b9d8
Author: Vincent Forest <vincent.forest@meso-star.com>
Date:   Mon, 25 Jul 2016 11:22:44 +0200

Fix the upd of the back-end filter function

The back-end filter function was not correctly updated due to a mistake
on the flush condition.

Diffstat:
Msrc/s3d_scene.c | 4++--
Msrc/test_s3d_trace_ray.c | 7++++---
2 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/src/s3d_scene.c b/src/s3d_scene.c @@ -423,8 +423,8 @@ scene_register_mesh } /* Update the filter function */ - if(geom->data.mesh->filter.func == shape->data.mesh->filter.func - && geom->data.mesh->filter.data == shape->data.mesh->filter.data) { + if(geom->data.mesh->filter.func != shape->data.mesh->filter.func + || geom->data.mesh->filter.data != shape->data.mesh->filter.data) { geom->data.mesh->filter = shape->data.mesh->filter; geom->embree_outdated_mask |= EMBREE_FILTER_FUNCTION; } diff --git a/src/test_s3d_trace_ray.c b/src/test_s3d_trace_ray.c @@ -268,11 +268,12 @@ main(int argc, char** argv) CHECK(s3d_shape_enable(inst, 0), RES_OK); CHECK(s3d_scene_begin_session(scn, S3D_TRACE), RES_OK); - CHECK(s3d_scene_begin_session(scn2, S3D_TRACE), RES_BAD_OP); + CHECK(s3d_scene_begin_session(scn2, S3D_TRACE), RES_OK); CHECK(s3d_scene_end_session(scn), RES_OK); + CHECK(s3d_scene_end_session(scn2), RES_OK); CHECK(s3d_scene_begin_session(scn2, S3D_TRACE), RES_OK); - CHECK(s3d_scene_begin_session(scn, S3D_TRACE), RES_BAD_OP); - CHECK(s3d_scene_end_session(scn), RES_BAD_OP); + CHECK(s3d_scene_begin_session(scn, S3D_TRACE), RES_OK); + CHECK(s3d_scene_end_session(scn), RES_OK); CHECK(s3d_scene_clear(scn2), RES_BAD_OP); CHECK(s3d_scene_clear(scn), RES_BAD_OP);