commit 9a7d6c5b62a82cf41de2965f36a00d0cfe1f2c58
parent a95760c2f6253f5c40f3180b4ac4c723a8e1c8ff
Author: Vincent Forest <vincent.forest@meso-star.com>
Date: Fri, 12 Jan 2018 14:20:13 +0100
Upd the primitive tests to use the scene view
Diffstat:
2 files changed, 17 insertions(+), 21 deletions(-)
diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt
@@ -130,9 +130,9 @@ if(NOT NO_TEST)
endfunction()
new_test(test_s2d_device)
+ new_test(test_s2d_primitive)
new_test(test_s2d_scene)
new_test(test_s2d_scene_view)
-# new_test(test_s2d_primitive)
# new_test(test_s2d_sample)
# new_test(test_s2d_session_advanced)
# new_test(test_s2d_shape)
diff --git a/src/test_s2d_primitive.c b/src/test_s2d_primitive.c
@@ -42,9 +42,10 @@ main(int argc, char** argv)
struct s2d_vertex_data vdata;
struct s2d_device* dev;
struct s2d_scene* scn;
+ struct s2d_scene_view* scnview;
struct s2d_shape* shape;
size_t nprims;
- unsigned box_id;
+ unsigned square_id;
float tmp[2];
float length;
float s;
@@ -56,19 +57,19 @@ main(int argc, char** argv)
CHK(s2d_device_create(NULL, &allocator, 1, &dev) == RES_OK);
CHK(s2d_scene_create(dev, &scn) == RES_OK);
CHK(s2d_shape_create_line_segments(dev, &shape) == RES_OK);
- CHK(s2d_shape_get_id(shape, &box_id) == RES_OK);
+ CHK(s2d_shape_get_id(shape, &square_id) == RES_OK);
CHK(s2d_scene_attach_shape(scn, shape) == RES_OK);
vdata.usage = S2D_POSITION;
vdata.type = S2D_FLOAT2;
vdata.get = line_segments_get_position;
- CHECK(s2d_line_segments_setup_indexed_vertices
- (shape, box_nsegs, line_segments_get_ids, box_nverts, &vdata, 1,
- (void*)&box_desc), RES_OK);
+ CHK(s2d_line_segments_setup_indexed_vertices
+ (shape, square_nsegs, line_segments_get_ids, square_nverts, &vdata, 1,
+ (void*)&square_desc) == RES_OK);
- CHK(s2d_scene_begin_session(scn, S2D_SAMPLE) == RES_OK);
- CHK(s2d_scene_sample(scn, 0, 0, &prim, &s) == RES_OK);
- CHK(s2d_scene_end_session(scn) == RES_OK);
+ CHK(s2d_scene_view_create(scn, S2D_SAMPLE, &scnview) == RES_OK);
+ CHK(s2d_scene_view_sample(scnview, 0, 0, &prim, &s) == RES_OK);
+ CHK(s2d_scene_view_ref_put(scnview) == RES_OK);
#define GET_ATTRIB s2d_primitive_get_attrib
CHK(GET_ATTRIB(NULL, S2D_ATTRIBS_COUNT__, 2, NULL) == RES_BAD_ARG);
@@ -100,19 +101,14 @@ main(int argc, char** argv)
default: CHK(0 == 1); /* Invalid primitive id */
}
- CHK(GET_ATTRIB(&S2D_PRIMITIVE_NULL, S2D_GEOMETRY_NORMAL, s == &attr),
- RES_BAD_ARG);
+ CHK(GET_ATTRIB(&S2D_PRIMITIVE_NULL, S2D_GEOMETRY_NORMAL, s, &attr)
+ == RES_BAD_ARG);
#undef GET_ATTRIB
- CHK(s2d_scene_begin_session(scn, S2D_GET_PRIMITIVE) == RES_OK);
- CHK(s2d_scene_primitives_count(scn, &nprims) == RES_OK);
+ CHK(s2d_scene_view_create(scn, S2D_GET_PRIMITIVE, &scnview) == RES_OK);
+ CHK(s2d_scene_view_primitives_count(scnview, &nprims) == RES_OK);
CHK(nprims == 4);
- CHK(s2d_scene_end_session(scn) == RES_OK);
-
- CHK(s2d_scene_begin_session(scn, S2D_TRACE) == RES_OK);
- CHK(s2d_scene_primitives_count(scn, &nprims) == RES_OK);
- CHK(nprims == 4);
- CHK(s2d_scene_end_session(scn) == RES_OK);
+ CHK(s2d_scene_view_ref_put(scnview) == RES_OK);
CHK(s2d_primitive_compute_length(NULL, NULL) == RES_BAD_ARG);
CHK(s2d_primitive_compute_length(&prim, NULL) == RES_BAD_ARG);
@@ -132,8 +128,8 @@ main(int argc, char** argv)
FOR_EACH(i, 0, NSAMPS) {
CHK(s2d_primitive_sample(&prim, rand_canonic(), &s) == RES_OK);
- CHK(s >= 0.f == 1);
- CHK(s <= 1.f == 1);
+ CHK(s >= 0.f);
+ CHK(s <= 1.f);
}
CHK(s2d_device_ref_put(dev) == RES_OK);