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

Fix the upd of the back-end enable flag on the instances

Diffstat:
Msrc/s3d_scene.c | 6++++++
Msrc/test_s3d_sampler.c | 4+++-
2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/src/s3d_scene.c b/src/s3d_scene.c @@ -502,6 +502,12 @@ scene_register_instance f3_set(geom->data.instance->transform+9, shape->data.instance->transform+9); } + /* Update the enable flag */ + if(geom->is_enabled != shape->is_enabled) { + geom->is_enabled = shape->is_enabled; + geom->embree_outdated_mask |= EMBREE_TRANSFORM; + } + geom->flip_surface = shape->flip_surface; exit: diff --git a/src/test_s3d_sampler.c b/src/test_s3d_sampler.c @@ -120,7 +120,7 @@ main(int argc, char** argv) CHECK(s3d_scene_attach_shape(scn, walls), RES_OK); CHECK(s3d_scene_begin_session(scn, S3D_SAMPLE), RES_OK); - CHECK(s3d_scene_begin_session(scn, S3D_SAMPLE), RES_BAD_OP); + CHECK(s3d_scene_begin_session(scn, S3D_SAMPLE), RES_OK); CHECK(s3d_scene_sample(scn, 0.5f, 0.5f, 0.5f, &prim, uv), RES_OK); CHECK(s3d_primitive_get_attrib(&prim, S3D_POSITION, uv, &attr0), RES_OK); @@ -148,6 +148,8 @@ main(int argc, char** argv) NCHECK(f3_eq_eps(attr0.value, attr1.value, 1.e-6f), 1); CHECK(s3d_scene_end_session(scn), RES_OK); + CHECK(s3d_scene_end_session(scn), RES_OK); + CHECK(s3d_scene_end_session(scn), RES_BAD_OP); CHECK(s3d_shape_enable(walls, 0), RES_OK); CHECK(s3d_scene_begin_session(scn, S3D_SAMPLE), RES_OK);