commit 74c3c6f0f54d9ae8cb818e128d4a5923cab16861
parent e088a688571da2923d53b6fb5fd758f0bb6f5813
Author: Vincent Forest <vincent.forest@meso-star.com>
Date: Fri, 12 Jan 2018 15:19:21 +0100
Upd the RT tests to use the scene view API
Diffstat:
3 files changed, 101 insertions(+), 102 deletions(-)
diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt
@@ -136,8 +136,8 @@ if(NOT NO_TEST)
new_test(test_s2d_scene)
new_test(test_s2d_scene_view)
new_test(test_s2d_scene_view2)
-# new_test(test_s2d_trace_ray)
-# new_test(test_s2d_trace_ray_3d)
+ new_test(test_s2d_trace_ray)
+ new_test(test_s2d_trace_ray_3d)
endif(NOT NO_TEST)
################################################################################
diff --git a/src/test_s2d_trace_ray.c b/src/test_s2d_trace_ray.c
@@ -52,6 +52,7 @@ main(int argc, char** argv)
struct s2d_device* dev;
struct s2d_shape* shape;
struct s2d_scene* scn;
+ struct s2d_scene_view* scnview;
struct s2d_vertex_data vdata;
struct s2d_hit hit;
struct s2d_primitive prim, prim2;
@@ -69,9 +70,9 @@ main(int argc, char** argv)
vdata.type = S2D_FLOAT2;
vdata.usage = S2D_POSITION;
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);
#define SET_FILTER_FUNC s2d_line_segments_set_hit_filter_function
CHK(SET_FILTER_FUNC(NULL, NULL, NULL) == RES_BAD_ARG);
@@ -87,42 +88,43 @@ main(int argc, char** argv)
f2(dir, 0.f, -1.f);
f2(range, 0, FLT_MAX);
- CHK(s2d_scene_begin_session(scn, S2D_TRACE) == RES_OK);
-
- CHK(s2d_scene_trace_ray(NULL, NULL, NULL, NULL, NULL, NULL) == RES_BAD_ARG);
- CHK(s2d_scene_trace_ray(scn, NULL, NULL, NULL, NULL, NULL) == RES_BAD_ARG);
- CHK(s2d_scene_trace_ray(NULL, org, NULL, NULL, NULL, NULL) == RES_BAD_ARG);
- CHK(s2d_scene_trace_ray(scn, org, NULL, NULL, NULL, NULL) == RES_BAD_ARG);
- CHK(s2d_scene_trace_ray(NULL, NULL, dir, NULL, NULL, NULL) == RES_BAD_ARG);
- CHK(s2d_scene_trace_ray(scn, NULL, dir, NULL, NULL, NULL) == RES_BAD_ARG);
- CHK(s2d_scene_trace_ray(NULL, org, dir, NULL, NULL, NULL) == RES_BAD_ARG);
- CHK(s2d_scene_trace_ray(scn, org, dir, NULL, NULL, NULL) == RES_BAD_ARG);
- CHK(s2d_scene_trace_ray(NULL, NULL, NULL, range, NULL, NULL) == RES_BAD_ARG);
- CHK(s2d_scene_trace_ray(scn, NULL, NULL, range, NULL, NULL) == RES_BAD_ARG);
- CHK(s2d_scene_trace_ray(NULL, org, NULL, range, NULL, NULL) == RES_BAD_ARG);
- CHK(s2d_scene_trace_ray(scn, org, NULL, range, NULL, NULL) == RES_BAD_ARG);
- CHK(s2d_scene_trace_ray(NULL, NULL, dir, range, NULL, NULL) == RES_BAD_ARG);
- CHK(s2d_scene_trace_ray(scn, NULL, dir, range, NULL, NULL) == RES_BAD_ARG);
- CHK(s2d_scene_trace_ray(NULL, org, dir, range, NULL, NULL) == RES_BAD_ARG);
- CHK(s2d_scene_trace_ray(scn, org, dir, range, NULL, NULL) == RES_BAD_ARG);
- CHK(s2d_scene_trace_ray(NULL, NULL, NULL, NULL, NULL, &hit) == RES_BAD_ARG);
- CHK(s2d_scene_trace_ray(scn, NULL, NULL, NULL, NULL, &hit) == RES_BAD_ARG);
- CHK(s2d_scene_trace_ray(NULL, org, NULL, NULL, NULL, &hit) == RES_BAD_ARG);
- CHK(s2d_scene_trace_ray(scn, org, NULL, NULL, NULL, &hit) == RES_BAD_ARG);
- CHK(s2d_scene_trace_ray(NULL, NULL, dir, NULL, NULL, &hit) == RES_BAD_ARG);
- CHK(s2d_scene_trace_ray(scn, NULL, dir, NULL, NULL, &hit) == RES_BAD_ARG);
- CHK(s2d_scene_trace_ray(NULL, org, dir, NULL, NULL, &hit) == RES_BAD_ARG);
- CHK(s2d_scene_trace_ray(scn, org, dir, NULL, NULL, &hit) == RES_BAD_ARG);
- CHK(s2d_scene_trace_ray(NULL, NULL, NULL, range, NULL, &hit) == RES_BAD_ARG);
- CHK(s2d_scene_trace_ray(scn, NULL, NULL, range, NULL, &hit) == RES_BAD_ARG);
- CHK(s2d_scene_trace_ray(NULL, org, NULL, range, NULL, &hit) == RES_BAD_ARG);
- CHK(s2d_scene_trace_ray(scn, org, NULL, range, NULL, &hit) == RES_BAD_ARG);
- CHK(s2d_scene_trace_ray(NULL, NULL, dir, range, NULL, &hit) == RES_BAD_ARG);
- CHK(s2d_scene_trace_ray(scn, NULL, dir, range, NULL, &hit) == RES_BAD_ARG);
- CHK(s2d_scene_trace_ray(NULL, org, dir, range, NULL, &hit) == RES_BAD_ARG);
+ CHK(s2d_scene_view_create(scn, S2D_TRACE, &scnview) == RES_OK);
+
+ #define RT s2d_scene_view_trace_ray
+ CHK(RT(NULL, NULL, NULL, NULL, NULL, NULL) == RES_BAD_ARG);
+ CHK(RT(scnview, NULL, NULL, NULL, NULL, NULL) == RES_BAD_ARG);
+ CHK(RT(NULL, org, NULL, NULL, NULL, NULL) == RES_BAD_ARG);
+ CHK(RT(scnview, org, NULL, NULL, NULL, NULL) == RES_BAD_ARG);
+ CHK(RT(NULL, NULL, dir, NULL, NULL, NULL) == RES_BAD_ARG);
+ CHK(RT(scnview, NULL, dir, NULL, NULL, NULL) == RES_BAD_ARG);
+ CHK(RT(NULL, org, dir, NULL, NULL, NULL) == RES_BAD_ARG);
+ CHK(RT(scnview, org, dir, NULL, NULL, NULL) == RES_BAD_ARG);
+ CHK(RT(NULL, NULL, NULL, range, NULL, NULL) == RES_BAD_ARG);
+ CHK(RT(scnview, NULL, NULL, range, NULL, NULL) == RES_BAD_ARG);
+ CHK(RT(NULL, org, NULL, range, NULL, NULL) == RES_BAD_ARG);
+ CHK(RT(scnview, org, NULL, range, NULL, NULL) == RES_BAD_ARG);
+ CHK(RT(NULL, NULL, dir, range, NULL, NULL) == RES_BAD_ARG);
+ CHK(RT(scnview, NULL, dir, range, NULL, NULL) == RES_BAD_ARG);
+ CHK(RT(NULL, org, dir, range, NULL, NULL) == RES_BAD_ARG);
+ CHK(RT(scnview, org, dir, range, NULL, NULL) == RES_BAD_ARG);
+ CHK(RT(NULL, NULL, NULL, NULL, NULL, &hit) == RES_BAD_ARG);
+ CHK(RT(scnview, NULL, NULL, NULL, NULL, &hit) == RES_BAD_ARG);
+ CHK(RT(NULL, org, NULL, NULL, NULL, &hit) == RES_BAD_ARG);
+ CHK(RT(scnview, org, NULL, NULL, NULL, &hit) == RES_BAD_ARG);
+ CHK(RT(NULL, NULL, dir, NULL, NULL, &hit) == RES_BAD_ARG);
+ CHK(RT(scnview, NULL, dir, NULL, NULL, &hit) == RES_BAD_ARG);
+ CHK(RT(NULL, org, dir, NULL, NULL, &hit) == RES_BAD_ARG);
+ CHK(RT(scnview, org, dir, NULL, NULL, &hit) == RES_BAD_ARG);
+ CHK(RT(NULL, NULL, NULL, range, NULL, &hit) == RES_BAD_ARG);
+ CHK(RT(scnview, NULL, NULL, range, NULL, &hit) == RES_BAD_ARG);
+ CHK(RT(NULL, org, NULL, range, NULL, &hit) == RES_BAD_ARG);
+ CHK(RT(scnview, org, NULL, range, NULL, &hit) == RES_BAD_ARG);
+ CHK(RT(NULL, NULL, dir, range, NULL, &hit) == RES_BAD_ARG);
+ CHK(RT(scnview, NULL, dir, range, NULL, &hit) == RES_BAD_ARG);
+ CHK(RT(NULL, org, dir, range, NULL, &hit) == RES_BAD_ARG);
f2(dir, 0.f, -1.f);
- CHK(s2d_scene_trace_ray(scn, org, dir, range, NULL, &hit) == RES_OK);
+ CHK(RT(scnview, org, dir, range, NULL, &hit) == RES_OK);
CHK(S2D_HIT_NONE(&hit) == 0);
CHK(hit.prim.prim_id == 0);
f2_normalize(N, hit.normal);
@@ -134,16 +136,16 @@ main(int argc, char** argv)
f2(dir, 0.f, -1.f);
range[1] = 0.5f;
- CHK(s2d_scene_trace_ray(scn, org, dir, range, NULL, &hit) == RES_OK);
+ CHK(RT(scnview, org, dir, range, NULL, &hit) == RES_OK);
CHK(S2D_HIT_NONE(&hit) == 1);
range[1] = FLT_MAX;
f2(dir, 0.f, -1.f);
- CHK(s2d_scene_trace_ray(scn, org, dir, range, &prim, &hit) == RES_OK);
+ CHK(RT(scnview, org, dir, range, &prim, &hit) == RES_OK);
CHK(S2D_HIT_NONE(&hit) == 1);
f2(dir, -1.f, 0.f);
- CHK(s2d_scene_trace_ray(scn, org, dir, range, NULL, &hit) == RES_OK);
+ CHK(RT(scnview, org, dir, range, NULL, &hit) == RES_OK);
CHK(S2D_HIT_NONE(&hit) == 0);
CHK(hit.prim.prim_id == 1);
f2_normalize(N, hit.normal);
@@ -152,7 +154,7 @@ main(int argc, char** argv)
CHK(eq_epsf(hit.distance, 1.0f, 1.e-6f) == 1);
f2(dir, 0.f, 1.f);
- CHK(s2d_scene_trace_ray(scn, org, dir, range, NULL, &hit) == RES_OK);
+ CHK(RT(scnview, org, dir, range, NULL, &hit) == RES_OK);
CHK(S2D_HIT_NONE(&hit) == 0);
CHK(hit.prim.prim_id == 2);
f2_normalize(N, hit.normal);
@@ -164,17 +166,17 @@ main(int argc, char** argv)
f2(org, 0.f, 2.f);
f2(dir, 0.f, -1.f);
- CHK(s2d_scene_trace_ray(scn, org, dir, range, NULL, &hit) == RES_OK);
+ CHK(RT(scnview, org, dir, range, NULL, &hit) == RES_OK);
CHK(S2D_HIT_NONE(&hit) == 0);
CHK(S2D_PRIMITIVE_EQ(&hit.prim, &prim2) == 1);
- CHK(s2d_scene_trace_ray(scn, org, dir, range, &prim2, &hit) == RES_OK);
+ CHK(RT(scnview, org, dir, range, &prim2, &hit) == RES_OK);
CHK(S2D_HIT_NONE(&hit) == 0);
CHK(S2D_PRIMITIVE_EQ(&hit.prim, &prim) == 1);
f2_splat(org, 0.f);
f2(dir, 1.f, 0.f);
- CHK(s2d_scene_trace_ray(scn, org, dir, range, NULL, &hit) == RES_OK);
+ CHK(RT(scnview, org, dir, range, NULL, &hit) == RES_OK);
CHK(S2D_HIT_NONE(&hit) == 0);
CHK(hit.prim.prim_id == 3);
f2_normalize(N, hit.normal);
@@ -183,41 +185,37 @@ main(int argc, char** argv)
CHK(eq_epsf(hit.distance, 1.0f, 1.e-6f) == 1);
f2(range, 1.f, -1.f);
- CHK(s2d_scene_trace_ray(scn, org, dir, range, NULL, &hit) == RES_OK);
+ CHK(RT(scnview, org, dir, range, NULL, &hit) == RES_OK);
CHK(S2D_HIT_NONE(&hit) == 1);
f2(dir, 1.f, 1.f);
f2(range, 0.f, FLT_MAX);
- CHK(s2d_scene_trace_ray(scn, org, dir, range, NULL, &hit) == RES_BAD_ARG);
+ CHK(RT(scnview, org, dir, range, NULL, &hit) == RES_BAD_ARG);
- CHK(s2d_scene_end_session(scn) == RES_OK);
+ CHK(s2d_scene_view_ref_put(scnview) == RES_OK);
- f2(dir, 1.f, 0.f);
- f2(range, 0.f, FLT_MAX);
- CHK(s2d_scene_trace_ray(scn, org, dir, range, NULL, &hit) == RES_BAD_OP);
-
- CHK(s2d_scene_begin_session(scn, S2D_TRACE) == RES_OK);
+ CHK(s2d_scene_view_create(scn, S2D_TRACE, &scnview) == RES_OK);
f2_sub(dir, f2(dir, 0.75f, -1.f), org);
f2_normalize(dir, dir);
- CHK(s2d_scene_trace_ray(scn, org, dir, range, NULL, &hit) == RES_OK);
+ CHK(RT(scnview, org, dir, range, NULL, &hit) == RES_OK);
CHK(S2D_HIT_NONE(&hit) == 0);
CHK(eq_epsf(hit.u, 0.125f, 1.e-6f) == 1);
CHK(eq_epsf(hit.distance, 1.25, 1.E-6f) == 1);
f2_sub(dir, f2(dir, -1.f, 0.25f), org);
f2_normalize(dir, dir);
- CHK(s2d_scene_trace_ray(scn, org, dir, range, NULL, &hit) == RES_OK);
+ CHK(RT(scnview, org, dir, range, NULL, &hit) == RES_OK);
CHK(S2D_HIT_NONE(&hit) == 0);
CHK(eq_epsf(hit.u, 0.625, 1.e-6f) == 1);
CHK(eq_epsf(hit.distance, (float)sqrt(1.0625f), 1e-6f) == 1);
f2(org, -1.25f, 0.f);
f2(dir, -1, 0.f);
- CHK(s2d_scene_trace_ray(scn, org, dir, range, NULL, &hit) == RES_OK);
+ CHK(RT(scnview, org, dir, range, NULL, &hit) == RES_OK);
CHK(S2D_HIT_NONE(&hit) == 1);
f2(dir, 1, 0.f);
- CHK(s2d_scene_trace_ray(scn, org, dir, range, NULL, &hit) == RES_OK);
+ CHK(RT(scnview, org, dir, range, NULL, &hit) == RES_OK);
CHK(S2D_HIT_NONE(&hit) == 0);
CHK(hit.prim.prim_id == 1);
f2_normalize(N, hit.normal);
@@ -225,7 +223,7 @@ main(int argc, char** argv)
CHK(eq_epsf(hit.u, 0.5f, 1.e-6f) == 1);
CHK(eq_epsf(hit.distance, 0.25f, 1.e-6f) == 1);
- CHK(s2d_scene_end_session(scn) == RES_OK);
+ CHK(s2d_scene_view_ref_put(scnview) == RES_OK);
CHK(s2d_device_ref_put(dev) == RES_OK);
CHK(s2d_shape_ref_put(shape) == RES_OK);
diff --git a/src/test_s2d_trace_ray_3d.c b/src/test_s2d_trace_ray_3d.c
@@ -38,6 +38,7 @@ main(int argc, char** argv)
struct mem_allocator allocator;
struct s2d_device* dev;
struct s2d_scene* scn;
+ struct s2d_scene_view* scnview;
struct s2d_shape* shape;
struct s2d_vertex_data vdata;
struct s2d_hit hit;
@@ -58,49 +59,49 @@ main(int argc, char** argv)
vdata.get = line_segments_get_position;
vdata.type = S2D_FLOAT2;
vdata.usage = S2D_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);
f3_splat(org, 0.f);
f3(dir, 1, 0, 0);
f2(range, 0, FLT_MAX);
- CHK(s2d_scene_begin_session(scn, S2D_TRACE) == RES_OK);
-
- #define TRACE_3D s2d_scene_trace_ray_3d
- CHK(TRACE_3D(NULL, NULL, NULL, NULL, NULL, NULL) == RES_BAD_ARG);
- CHK(TRACE_3D(scn, NULL, NULL, NULL, NULL, NULL) == RES_BAD_ARG);
- CHK(TRACE_3D(NULL, org, NULL, NULL, NULL, NULL) == RES_BAD_ARG);
- CHK(TRACE_3D(scn, org, NULL, NULL, NULL, NULL) == RES_BAD_ARG);
- CHK(TRACE_3D(NULL, NULL, dir, NULL, NULL, NULL) == RES_BAD_ARG);
- CHK(TRACE_3D(scn, NULL, dir, NULL, NULL, NULL) == RES_BAD_ARG);
- CHK(TRACE_3D(NULL, org, dir, NULL, NULL, NULL) == RES_BAD_ARG);
- CHK(TRACE_3D(scn, org, dir, NULL, NULL, NULL) == RES_BAD_ARG);
- CHK(TRACE_3D(NULL, NULL, NULL, range, NULL, NULL) == RES_BAD_ARG);
- CHK(TRACE_3D(scn, NULL, NULL, range, NULL, NULL) == RES_BAD_ARG);
- CHK(TRACE_3D(NULL, org, NULL, range, NULL, NULL) == RES_BAD_ARG);
- CHK(TRACE_3D(scn, org, NULL, range, NULL, NULL) == RES_BAD_ARG);
- CHK(TRACE_3D(NULL, NULL, dir, range, NULL, NULL) == RES_BAD_ARG);
- CHK(TRACE_3D(scn, NULL, dir, range, NULL, NULL) == RES_BAD_ARG);
- CHK(TRACE_3D(NULL, org, dir, range, NULL, NULL) == RES_BAD_ARG);
- CHK(TRACE_3D(scn, org, dir, range, NULL, NULL) == RES_BAD_ARG);
- CHK(TRACE_3D(NULL, NULL, NULL, NULL, NULL, &hit) == RES_BAD_ARG);
- CHK(TRACE_3D(scn, NULL, NULL, NULL, NULL, &hit) == RES_BAD_ARG);
- CHK(TRACE_3D(NULL, org, NULL, NULL, NULL, &hit) == RES_BAD_ARG);
- CHK(TRACE_3D(scn, org, NULL, NULL, NULL, &hit) == RES_BAD_ARG);
- CHK(TRACE_3D(NULL, NULL, dir, NULL, NULL, &hit) == RES_BAD_ARG);
- CHK(TRACE_3D(scn, NULL, dir, NULL, NULL, &hit) == RES_BAD_ARG);
- CHK(TRACE_3D(NULL, org, dir, NULL, NULL, &hit) == RES_BAD_ARG);
- CHK(TRACE_3D(scn, org, dir, NULL, NULL, &hit) == RES_BAD_ARG);
- CHK(TRACE_3D(NULL, NULL, NULL, range, NULL, &hit) == RES_BAD_ARG);
- CHK(TRACE_3D(scn, NULL, NULL, range, NULL, &hit) == RES_BAD_ARG);
- CHK(TRACE_3D(NULL, org, NULL, range, NULL, &hit) == RES_BAD_ARG);
- CHK(TRACE_3D(scn, org, NULL, range, NULL, &hit) == RES_BAD_ARG);
- CHK(TRACE_3D(NULL, NULL, dir, range, NULL, &hit) == RES_BAD_ARG);
- CHK(TRACE_3D(scn, NULL, dir, range, NULL, &hit) == RES_BAD_ARG);
- CHK(TRACE_3D(NULL, org, dir, range, NULL, &hit) == RES_BAD_ARG);
- CHK(TRACE_3D(scn, org, dir, range, NULL, &hit) == RES_OK);
+ CHK(s2d_scene_view_create(scn, S2D_TRACE, &scnview) == RES_OK);
+
+ #define RT_3D s2d_scene_view_trace_ray_3d
+ CHK(RT_3D(NULL, NULL, NULL, NULL, NULL, NULL) == RES_BAD_ARG);
+ CHK(RT_3D(scnview, NULL, NULL, NULL, NULL, NULL) == RES_BAD_ARG);
+ CHK(RT_3D(NULL, org, NULL, NULL, NULL, NULL) == RES_BAD_ARG);
+ CHK(RT_3D(scnview, org, NULL, NULL, NULL, NULL) == RES_BAD_ARG);
+ CHK(RT_3D(NULL, NULL, dir, NULL, NULL, NULL) == RES_BAD_ARG);
+ CHK(RT_3D(scnview, NULL, dir, NULL, NULL, NULL) == RES_BAD_ARG);
+ CHK(RT_3D(NULL, org, dir, NULL, NULL, NULL) == RES_BAD_ARG);
+ CHK(RT_3D(scnview, org, dir, NULL, NULL, NULL) == RES_BAD_ARG);
+ CHK(RT_3D(NULL, NULL, NULL, range, NULL, NULL) == RES_BAD_ARG);
+ CHK(RT_3D(scnview, NULL, NULL, range, NULL, NULL) == RES_BAD_ARG);
+ CHK(RT_3D(NULL, org, NULL, range, NULL, NULL) == RES_BAD_ARG);
+ CHK(RT_3D(scnview, org, NULL, range, NULL, NULL) == RES_BAD_ARG);
+ CHK(RT_3D(NULL, NULL, dir, range, NULL, NULL) == RES_BAD_ARG);
+ CHK(RT_3D(scnview, NULL, dir, range, NULL, NULL) == RES_BAD_ARG);
+ CHK(RT_3D(NULL, org, dir, range, NULL, NULL) == RES_BAD_ARG);
+ CHK(RT_3D(scnview, org, dir, range, NULL, NULL) == RES_BAD_ARG);
+ CHK(RT_3D(NULL, NULL, NULL, NULL, NULL, &hit) == RES_BAD_ARG);
+ CHK(RT_3D(scnview, NULL, NULL, NULL, NULL, &hit) == RES_BAD_ARG);
+ CHK(RT_3D(NULL, org, NULL, NULL, NULL, &hit) == RES_BAD_ARG);
+ CHK(RT_3D(scnview, org, NULL, NULL, NULL, &hit) == RES_BAD_ARG);
+ CHK(RT_3D(NULL, NULL, dir, NULL, NULL, &hit) == RES_BAD_ARG);
+ CHK(RT_3D(scnview, NULL, dir, NULL, NULL, &hit) == RES_BAD_ARG);
+ CHK(RT_3D(NULL, org, dir, NULL, NULL, &hit) == RES_BAD_ARG);
+ CHK(RT_3D(scnview, org, dir, NULL, NULL, &hit) == RES_BAD_ARG);
+ CHK(RT_3D(NULL, NULL, NULL, range, NULL, &hit) == RES_BAD_ARG);
+ CHK(RT_3D(scnview, NULL, NULL, range, NULL, &hit) == RES_BAD_ARG);
+ CHK(RT_3D(NULL, org, NULL, range, NULL, &hit) == RES_BAD_ARG);
+ CHK(RT_3D(scnview, org, NULL, range, NULL, &hit) == RES_BAD_ARG);
+ CHK(RT_3D(NULL, NULL, dir, range, NULL, &hit) == RES_BAD_ARG);
+ CHK(RT_3D(scnview, NULL, dir, range, NULL, &hit) == RES_BAD_ARG);
+ CHK(RT_3D(NULL, org, dir, range, NULL, &hit) == RES_BAD_ARG);
+ CHK(RT_3D(scnview, org, dir, range, NULL, &hit) == RES_OK);
CHK(S2D_HIT_NONE(&hit) == 0);
f2_normalize(hit.normal, hit.normal);
@@ -109,7 +110,7 @@ main(int argc, char** argv)
CHK(eq_epsf(hit.u, 0.5f, 1.e-6f) == 1);
f3_normalize(dir, f3(dir, 1.f, 0.f, 1.f));
- CHK(TRACE_3D(scn, org, dir, range, NULL, &hit) == RES_OK);
+ CHK(RT_3D(scnview, org, dir, range, NULL, &hit) == RES_OK);
CHK(S2D_HIT_NONE(&hit) == 0);
f2_normalize(hit.normal, hit.normal);
CHK(f2_eq_eps(hit.normal, f2(tmp, -1.f, 0.f), 1.e-6f) == 1);
@@ -119,13 +120,13 @@ main(int argc, char** argv)
CHK(eq_epsf(hit.distance, 1.f / dot, 1.e-6f) == 1);
range[1] = 1.2f;
- CHK(TRACE_3D(scn, org, dir, range, NULL, &hit) == RES_OK);
+ CHK(RT_3D(scnview, org, dir, range, NULL, &hit) == RES_OK);
CHK(S2D_HIT_NONE(&hit) == 1);
- CHK(s2d_scene_end_session(scn) == RES_OK);
+ CHK(s2d_scene_view_ref_put(scnview) == RES_OK);
- CHK(TRACE_3D(scn, org, dir, range, NULL, &hit) == RES_BAD_OP);
- #undef TRACE_3D
+ CHK(RT_3D(scnview, org, dir, range, NULL, &hit) == RES_BAD_OP);
+ #undef RT_3D
CHK(s2d_scene_ref_put(scn) == RES_OK);
CHK(s2d_shape_ref_put(shape) == RES_OK);