commit d9381bca65ad5b652c0d4466c9a1de19fc3eab10
parent 2a4b1f4dfaa43a2f10d448aeb8f57aa3a243b5e7
Author: Vincent Forest <vincent.forest@meso-star.com>
Date: Mon, 27 Nov 2017 14:49:11 +0100
Fix deprecations introduced by RSys 0.6
Diffstat:
12 files changed, 1532 insertions(+), 1531 deletions(-)
diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt
@@ -44,7 +44,8 @@ set(Embree_DIR ${_current_source_dir}/)
find_package(Embree REQUIRED)
find_package(RCMake 0.2.2 REQUIRED)
-find_package(RSys 0.3.1 REQUIRED)
+find_package(RSys 0.6 REQUIRED)
+
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${RCMAKE_SOURCE_DIR})
include(rcmake)
include(rcmake_runtime)
diff --git a/src/test_s3d_camera.h b/src/test_s3d_camera.h
@@ -53,9 +53,9 @@ camera_init
ASSERT(cam);
f3_set(cam->pos, pos);
- f = f3_normalize(cam->z, f3_sub(cam->z, tgt, pos)); NCHECK(f, 0);
- f = f3_normalize(cam->x, f3_cross(cam->x, cam->z, up)); NCHECK(f, 0);
- f = f3_normalize(cam->y, f3_cross(cam->y, cam->z, cam->x)); NCHECK(f, 0);
+ f = f3_normalize(cam->z, f3_sub(cam->z, tgt, pos)); CHK(f != 0);
+ f = f3_normalize(cam->x, f3_cross(cam->x, cam->z, up)); CHK(f != 0);
+ f = f3_normalize(cam->y, f3_cross(cam->y, cam->z, cam->x)); CHK(f != 0);
f3_divf(cam->z, cam->z, (float)tan(fov_x*0.5f));
f3_divf(cam->y, cam->y, proj_ratio);
}
@@ -73,7 +73,7 @@ camera_ray
f3_mulf(x, cam->x, pixel[0]*2.f - 1.f);
f3_mulf(y, cam->y, pixel[1]*2.f - 1.f);
f3_add(dir, f3_add(dir, x, y), cam->z);
- f = f3_normalize(dir, dir); NCHECK(f, 0);
+ f = f3_normalize(dir, dir); CHK(f != 0);
f3_set(org, cam->pos);
}
diff --git a/src/test_s3d_cbox.h b/src/test_s3d_cbox.h
@@ -111,7 +111,7 @@ cbox_get_ids(const unsigned itri, unsigned ids[3], void* data)
{
const unsigned id = itri * 3;
struct cbox_desc* desc = data;
- NCHECK(desc, NULL);
+ CHK(desc != NULL);
ids[0] = desc->indices[id + 0];
ids[1] = desc->indices[id + 1];
ids[2] = desc->indices[id + 2];
@@ -121,7 +121,7 @@ static INLINE void
cbox_get_position(const unsigned ivert, float position[3], void* data)
{
struct cbox_desc* desc = data;
- NCHECK(desc, NULL);
+ CHK(desc != NULL);
position[0] = desc->vertices[ivert*3 + 0];
position[1] = desc->vertices[ivert*3 + 1];
position[2] = desc->vertices[ivert*3 + 2];
diff --git a/src/test_s3d_device.c b/src/test_s3d_device.c
@@ -50,40 +50,40 @@ main(int argc, char** argv)
struct s3d_device* dev;
(void)argc, (void)argv;
- CHECK(s3d_device_create(NULL, NULL, 0, NULL), RES_BAD_ARG);
- CHECK(s3d_device_create(NULL, NULL, 0, &dev), RES_OK);
+ CHK(s3d_device_create(NULL, NULL, 0, NULL) == RES_BAD_ARG);
+ CHK(s3d_device_create(NULL, NULL, 0, &dev) == RES_OK);
- CHECK(s3d_device_ref_get(NULL), RES_BAD_ARG);
- CHECK(s3d_device_ref_get(dev), RES_OK);
- CHECK(s3d_device_ref_put(NULL), RES_BAD_ARG);
- CHECK(s3d_device_ref_put(dev), RES_OK);
- CHECK(s3d_device_ref_put(dev), RES_OK);
+ CHK(s3d_device_ref_get(NULL) == RES_BAD_ARG);
+ CHK(s3d_device_ref_get(dev) == RES_OK);
+ CHK(s3d_device_ref_put(NULL) == RES_BAD_ARG);
+ CHK(s3d_device_ref_put(dev) == RES_OK);
+ CHK(s3d_device_ref_put(dev) == RES_OK);
mem_init_proxy_allocator(&allocator, &mem_default_allocator);
- CHECK(MEM_ALLOCATED_SIZE(&allocator), 0);
- CHECK(s3d_device_create(NULL, &allocator, 0, NULL), RES_BAD_ARG);
- CHECK(s3d_device_create(NULL, &allocator, 0, &dev), RES_OK);
- CHECK(s3d_device_ref_put(dev), RES_OK);
- CHECK(MEM_ALLOCATED_SIZE(&allocator), 0);
+ CHK(MEM_ALLOCATED_SIZE(&allocator) == 0);
+ CHK(s3d_device_create(NULL, &allocator, 0, NULL) == RES_BAD_ARG);
+ CHK(s3d_device_create(NULL, &allocator, 0, &dev) == RES_OK);
+ CHK(s3d_device_ref_put(dev) == RES_OK);
+ CHK(MEM_ALLOCATED_SIZE(&allocator) == 0);
- CHECK(logger_init(&allocator, &logger), RES_OK);
+ CHK(logger_init(&allocator, &logger) == RES_OK);
logger_set_stream(&logger, LOG_OUTPUT, log_stream, NULL);
logger_set_stream(&logger, LOG_ERROR, log_stream, NULL);
logger_set_stream(&logger, LOG_WARNING, log_stream, NULL);
- CHECK(s3d_device_create(&logger, NULL, 0, NULL), RES_BAD_ARG);
- CHECK(s3d_device_create(&logger, NULL, 0, &dev), RES_OK);
- CHECK(s3d_device_ref_put(dev), RES_OK);
+ CHK(s3d_device_create(&logger, NULL, 0, NULL) == RES_BAD_ARG);
+ CHK(s3d_device_create(&logger, NULL, 0, &dev) == RES_OK);
+ CHK(s3d_device_ref_put(dev) == RES_OK);
- CHECK(s3d_device_create(&logger, &allocator, 0, NULL), RES_BAD_ARG);
- CHECK(s3d_device_create(&logger, &allocator, 0, &dev), RES_OK);
- CHECK(s3d_device_ref_put(dev), RES_OK);
+ CHK(s3d_device_create(&logger, &allocator, 0, NULL) == RES_BAD_ARG);
+ CHK(s3d_device_create(&logger, &allocator, 0, &dev) == RES_OK);
+ CHK(s3d_device_ref_put(dev) == RES_OK);
logger_release(&logger);
check_memory_allocator(&allocator);
mem_shutdown_proxy_allocator(&allocator);
- CHECK(mem_allocated_size(), 0);
+ CHK(mem_allocated_size() == 0);
return 0;
}
diff --git a/src/test_s3d_primitive.c b/src/test_s3d_primitive.c
@@ -62,8 +62,8 @@ plane_get_ids(const unsigned itri, unsigned ids[3], void* data)
{
const unsigned id = itri * 3;
(void)data;
- NCHECK(ids, NULL);
- CHECK(itri < plane_ntris, 1);
+ CHK(ids != NULL);
+ CHK(itri < plane_ntris);
ids[0] = plane_ids[id + 0];
ids[1] = plane_ids[id + 1];
ids[2] = plane_ids[id + 2];
@@ -74,8 +74,8 @@ plane_get_pos(const unsigned ivert, float pos[3], void* data)
{
const unsigned i = ivert*3;
(void)data;
- NCHECK(pos, NULL);
- CHECK(ivert < plane_nverts, 1);
+ CHK(pos != NULL);
+ CHK(ivert < plane_nverts);
pos[0] = plane_verts[i + 0];
pos[1] = plane_verts[i + 1];
pos[2] = plane_verts[i + 2];
@@ -86,8 +86,8 @@ plane_get_uv(const unsigned ivert, float uv[2], void* data)
{
const unsigned i = ivert*3;
(void)data;
- NCHECK(uv, NULL);
- CHECK(ivert < plane_nverts, 1);
+ CHK(uv != NULL);
+ CHK(ivert < plane_nverts);
uv[0] = -plane_verts[i + 0];
uv[1] = -plane_verts[i + 1];
}
@@ -118,12 +118,12 @@ main(int argc, char** argv)
mem_init_proxy_allocator(&allocator, &mem_default_allocator);
- CHECK(s3d_device_create(NULL, &allocator, 1, &dev), RES_OK);
- CHECK(s3d_scene_create(dev, &scn), RES_OK);
- CHECK(s3d_shape_create_mesh(dev, &walls), RES_OK);
- CHECK(s3d_shape_create_mesh(dev, &plane), RES_OK);
- CHECK(s3d_shape_get_id(walls, &walls_id), RES_OK);
- CHECK(s3d_scene_attach_shape(scn, walls), RES_OK);
+ CHK(s3d_device_create(NULL, &allocator, 1, &dev) == RES_OK);
+ CHK(s3d_scene_create(dev, &scn) == RES_OK);
+ CHK(s3d_shape_create_mesh(dev, &walls) == RES_OK);
+ CHK(s3d_shape_create_mesh(dev, &plane) == RES_OK);
+ CHK(s3d_shape_get_id(walls, &walls_id) == RES_OK);
+ CHK(s3d_scene_attach_shape(scn, walls) == RES_OK);
attribs[1].usage = S3D_ATTRIB_0;
attribs[1].type = S3D_FLOAT2;
@@ -137,161 +137,161 @@ main(int argc, char** argv)
nverts = cbox_walls_nverts;
desc.vertices = cbox_walls;
desc.indices = cbox_walls_ids;
- CHECK(s3d_mesh_setup_indexed_vertices
- (walls, ntris, cbox_get_ids, nverts, attribs, 1, &desc), RES_OK);
+ CHK(s3d_mesh_setup_indexed_vertices
+ (walls, ntris, cbox_get_ids, nverts, attribs, 1, &desc) == RES_OK);
attribs[0].get = plane_get_pos;
- CHECK(s3d_mesh_setup_indexed_vertices
- (plane, plane_ntris, plane_get_ids, plane_nverts, attribs, 2, NULL), RES_OK);
-
- CHECK(s3d_scene_view_create(scn, S3D_SAMPLE, &scnview), RES_OK);
- CHECK(s3d_scene_view_sample(scnview, 0, 0, 0, &prim, uv), RES_OK);
- CHECK(s3d_scene_view_ref_put(scnview), RES_OK);
-
- CHECK(s3d_primitive_get_attrib(NULL, S3D_ATTRIBS_COUNT__, NULL, NULL), RES_BAD_ARG);
- CHECK(s3d_primitive_get_attrib(&prim, S3D_ATTRIBS_COUNT__, NULL, NULL), RES_BAD_ARG);
- CHECK(s3d_primitive_get_attrib(NULL, S3D_ATTRIBS_COUNT__, uv, NULL), RES_BAD_ARG);
- CHECK(s3d_primitive_get_attrib(&prim, S3D_ATTRIBS_COUNT__, uv, NULL), RES_BAD_ARG);
- CHECK(s3d_primitive_get_attrib(NULL, S3D_ATTRIBS_COUNT__, NULL, &attr), RES_BAD_ARG);
- CHECK(s3d_primitive_get_attrib(&prim, S3D_ATTRIBS_COUNT__, NULL, &attr), RES_BAD_ARG);
- CHECK(s3d_primitive_get_attrib(NULL, S3D_ATTRIBS_COUNT__, uv, &attr), RES_BAD_ARG);
- CHECK(s3d_primitive_get_attrib(&prim, S3D_ATTRIBS_COUNT__, uv, &attr), RES_BAD_ARG);
-
- CHECK(s3d_primitive_get_attrib(NULL, S3D_POSITION, NULL, NULL), RES_BAD_ARG);
- CHECK(s3d_primitive_get_attrib(&prim, S3D_POSITION, NULL, NULL), RES_BAD_ARG);
- CHECK(s3d_primitive_get_attrib(NULL, S3D_POSITION, uv, NULL), RES_BAD_ARG);
- CHECK(s3d_primitive_get_attrib(&prim, S3D_POSITION, uv, NULL), RES_BAD_ARG);
- CHECK(s3d_primitive_get_attrib(NULL, S3D_POSITION, NULL, &attr), RES_BAD_ARG);
- CHECK(s3d_primitive_get_attrib(&prim, S3D_POSITION, NULL, &attr), RES_BAD_ARG);
- CHECK(s3d_primitive_get_attrib(NULL, S3D_POSITION, uv, &attr), RES_BAD_ARG);
- CHECK(s3d_primitive_get_attrib(&prim, S3D_POSITION, uv, &attr), RES_OK);
- CHECK(attr.type, S3D_FLOAT3);
- CHECK(attr.usage, S3D_POSITION);
- CHECK(s3d_primitive_get_attrib(&prim, S3D_GEOMETRY_NORMAL, uv, &attr), RES_OK);
- CHECK(attr.type, S3D_FLOAT3);
- CHECK(attr.usage, S3D_GEOMETRY_NORMAL);
- CHECK(s3d_primitive_get_attrib(&prim, S3D_ATTRIB_0, uv, &attr), RES_BAD_ARG);
- CHECK(s3d_primitive_get_attrib(&S3D_PRIMITIVE_NULL, S3D_POSITION, uv, &attr), RES_BAD_ARG);
-
- CHECK(s3d_primitive_has_attrib(NULL, S3D_ATTRIBS_COUNT__, NULL), RES_BAD_ARG);
- CHECK(s3d_primitive_has_attrib(&prim, S3D_ATTRIBS_COUNT__, NULL), RES_BAD_ARG);
- CHECK(s3d_primitive_has_attrib(NULL, S3D_POSITION, NULL), RES_BAD_ARG);
- CHECK(s3d_primitive_has_attrib(&prim, S3D_POSITION, NULL), RES_BAD_ARG);
- CHECK(s3d_primitive_has_attrib(NULL, S3D_ATTRIBS_COUNT__, &b), RES_BAD_ARG);
- CHECK(s3d_primitive_has_attrib(&prim, S3D_ATTRIBS_COUNT__, &b), RES_BAD_ARG);
- CHECK(s3d_primitive_has_attrib(NULL, S3D_POSITION, &b), RES_BAD_ARG);
- CHECK(s3d_primitive_has_attrib(&prim, S3D_POSITION, &b), RES_OK);
- CHECK(b, 1);
- CHECK(s3d_primitive_has_attrib(&prim, S3D_GEOMETRY_NORMAL, &b), RES_OK);
- CHECK(b, 1);
- CHECK(s3d_primitive_has_attrib(&prim, S3D_ATTRIB_0, &b), RES_OK);
- CHECK(b, 0);
-
- CHECK(s3d_primitive_get_transform(NULL, NULL), RES_BAD_ARG);
- CHECK(s3d_primitive_get_transform(&prim, NULL), RES_BAD_ARG);
- CHECK(s3d_primitive_get_transform(NULL, transform), RES_BAD_ARG);
- CHECK(s3d_primitive_get_transform(&prim, transform), RES_OK);
- CHECK(f3_eq(transform + 0, f3(vec, 1.f, 0.f, 0.f)), 1);
- CHECK(f3_eq(transform + 3, f3(vec, 0.f, 1.f, 0.f)), 1);
- CHECK(f3_eq(transform + 6, f3(vec, 0.f, 0.f, 1.f)), 1);
- CHECK(f3_eq(transform + 9, f3(vec, 0.f, 0.f, 0.f)), 1);
-
- CHECK(s3d_scene_clear(scn), RES_OK);
- CHECK(s3d_scene_attach_shape(scn, plane), RES_OK);
-
- CHECK(s3d_scene_view_create(scn, S3D_GET_PRIMITIVE, &scnview), RES_OK);
- CHECK(s3d_scene_view_primitives_count(scnview, &nprims), RES_OK);
- CHECK(nprims, 2);
- CHECK(s3d_scene_view_get_primitive(scnview, 0, &prim), RES_OK);
- CHECK(S3D_PRIMITIVE_EQ(&prim, &S3D_PRIMITIVE_NULL), 0);
- CHECK(s3d_scene_view_ref_put(scnview), RES_OK);
-
- CHECK(s3d_primitive_has_attrib(&prim, S3D_ATTRIB_0, &b), RES_OK);
- CHECK(b, 1);
- CHECK(s3d_primitive_has_attrib(&prim, S3D_ATTRIB_1, &b), RES_OK);
- CHECK(b, 0);
-
- CHECK(s3d_primitive_compute_area(NULL, NULL), RES_BAD_ARG);
- CHECK(s3d_primitive_compute_area(&prim, NULL), RES_BAD_ARG);
- CHECK(s3d_primitive_compute_area(NULL, &area), RES_BAD_ARG);
- CHECK(s3d_primitive_compute_area(&prim, &area), RES_OK);
- CHECK(eq_epsf(area, 0.5f, 1.e-6f), 1);
-
- CHECK(s3d_primitive_sample(NULL, 1.f, 1.f, NULL), RES_BAD_ARG);
- CHECK(s3d_primitive_sample(&prim, 1.f, 1.f, NULL), RES_BAD_ARG);
- CHECK(s3d_primitive_sample(NULL, 0.f, 1.f, NULL), RES_BAD_ARG);
- CHECK(s3d_primitive_sample(&prim, 0.f, 1.f, NULL), RES_BAD_ARG);
- CHECK(s3d_primitive_sample(NULL, 1.f, 0.f, NULL), RES_BAD_ARG);
- CHECK(s3d_primitive_sample(&prim, 1.f, 0.f, NULL), RES_BAD_ARG);
- CHECK(s3d_primitive_sample(NULL, 0.f, 0.f, NULL), RES_BAD_ARG);
- CHECK(s3d_primitive_sample(&prim, 0.f, 0.f, NULL), RES_BAD_ARG);
- CHECK(s3d_primitive_sample(NULL, 1.f, 1.f, uv), RES_BAD_ARG);
- CHECK(s3d_primitive_sample(&prim, 1.f, 1.f, uv), RES_BAD_ARG);
- CHECK(s3d_primitive_sample(NULL, 0.f, 1.f, uv), RES_BAD_ARG);
- CHECK(s3d_primitive_sample(&prim, 0.f, 1.f, uv), RES_BAD_ARG);
- CHECK(s3d_primitive_sample(NULL, 1.f, 0.f, uv), RES_BAD_ARG);
- CHECK(s3d_primitive_sample(&prim, 1.f, 0.f, uv), RES_BAD_ARG);
- CHECK(s3d_primitive_sample(NULL, 0.f, 0.f, uv), RES_BAD_ARG);
- CHECK(s3d_primitive_sample(&prim, 0.f, 0.f, uv), RES_OK);
+ CHK(s3d_mesh_setup_indexed_vertices
+ (plane, plane_ntris, plane_get_ids, plane_nverts, attribs, 2, NULL) == RES_OK);
+
+ CHK(s3d_scene_view_create(scn, S3D_SAMPLE, &scnview) == RES_OK);
+ CHK(s3d_scene_view_sample(scnview, 0, 0, 0, &prim, uv) == RES_OK);
+ CHK(s3d_scene_view_ref_put(scnview) == RES_OK);
+
+ CHK(s3d_primitive_get_attrib(NULL, S3D_ATTRIBS_COUNT__, NULL, NULL) == RES_BAD_ARG);
+ CHK(s3d_primitive_get_attrib(&prim, S3D_ATTRIBS_COUNT__, NULL, NULL) == RES_BAD_ARG);
+ CHK(s3d_primitive_get_attrib(NULL, S3D_ATTRIBS_COUNT__, uv, NULL) == RES_BAD_ARG);
+ CHK(s3d_primitive_get_attrib(&prim, S3D_ATTRIBS_COUNT__, uv, NULL) == RES_BAD_ARG);
+ CHK(s3d_primitive_get_attrib(NULL, S3D_ATTRIBS_COUNT__, NULL, &attr) == RES_BAD_ARG);
+ CHK(s3d_primitive_get_attrib(&prim, S3D_ATTRIBS_COUNT__, NULL, &attr) == RES_BAD_ARG);
+ CHK(s3d_primitive_get_attrib(NULL, S3D_ATTRIBS_COUNT__, uv, &attr) == RES_BAD_ARG);
+ CHK(s3d_primitive_get_attrib(&prim, S3D_ATTRIBS_COUNT__, uv, &attr) == RES_BAD_ARG);
+
+ CHK(s3d_primitive_get_attrib(NULL, S3D_POSITION, NULL, NULL) == RES_BAD_ARG);
+ CHK(s3d_primitive_get_attrib(&prim, S3D_POSITION, NULL, NULL) == RES_BAD_ARG);
+ CHK(s3d_primitive_get_attrib(NULL, S3D_POSITION, uv, NULL) == RES_BAD_ARG);
+ CHK(s3d_primitive_get_attrib(&prim, S3D_POSITION, uv, NULL) == RES_BAD_ARG);
+ CHK(s3d_primitive_get_attrib(NULL, S3D_POSITION, NULL, &attr) == RES_BAD_ARG);
+ CHK(s3d_primitive_get_attrib(&prim, S3D_POSITION, NULL, &attr) == RES_BAD_ARG);
+ CHK(s3d_primitive_get_attrib(NULL, S3D_POSITION, uv, &attr) == RES_BAD_ARG);
+ CHK(s3d_primitive_get_attrib(&prim, S3D_POSITION, uv, &attr) == RES_OK);
+ CHK(attr.type == S3D_FLOAT3);
+ CHK(attr.usage == S3D_POSITION);
+ CHK(s3d_primitive_get_attrib(&prim, S3D_GEOMETRY_NORMAL, uv, &attr) == RES_OK);
+ CHK(attr.type == S3D_FLOAT3);
+ CHK(attr.usage == S3D_GEOMETRY_NORMAL);
+ CHK(s3d_primitive_get_attrib(&prim, S3D_ATTRIB_0, uv, &attr) == RES_BAD_ARG);
+ CHK(s3d_primitive_get_attrib(&S3D_PRIMITIVE_NULL, S3D_POSITION, uv, &attr) == RES_BAD_ARG);
+
+ CHK(s3d_primitive_has_attrib(NULL, S3D_ATTRIBS_COUNT__, NULL) == RES_BAD_ARG);
+ CHK(s3d_primitive_has_attrib(&prim, S3D_ATTRIBS_COUNT__, NULL) == RES_BAD_ARG);
+ CHK(s3d_primitive_has_attrib(NULL, S3D_POSITION, NULL) == RES_BAD_ARG);
+ CHK(s3d_primitive_has_attrib(&prim, S3D_POSITION, NULL) == RES_BAD_ARG);
+ CHK(s3d_primitive_has_attrib(NULL, S3D_ATTRIBS_COUNT__, &b) == RES_BAD_ARG);
+ CHK(s3d_primitive_has_attrib(&prim, S3D_ATTRIBS_COUNT__, &b) == RES_BAD_ARG);
+ CHK(s3d_primitive_has_attrib(NULL, S3D_POSITION, &b) == RES_BAD_ARG);
+ CHK(s3d_primitive_has_attrib(&prim, S3D_POSITION, &b) == RES_OK);
+ CHK(b == 1);
+ CHK(s3d_primitive_has_attrib(&prim, S3D_GEOMETRY_NORMAL, &b) == RES_OK);
+ CHK(b == 1);
+ CHK(s3d_primitive_has_attrib(&prim, S3D_ATTRIB_0, &b) == RES_OK);
+ CHK(b == 0);
+
+ CHK(s3d_primitive_get_transform(NULL, NULL) == RES_BAD_ARG);
+ CHK(s3d_primitive_get_transform(&prim, NULL) == RES_BAD_ARG);
+ CHK(s3d_primitive_get_transform(NULL, transform) == RES_BAD_ARG);
+ CHK(s3d_primitive_get_transform(&prim, transform) == RES_OK);
+ CHK(f3_eq(transform + 0, f3(vec, 1.f, 0.f, 0.f)) == 1);
+ CHK(f3_eq(transform + 3, f3(vec, 0.f, 1.f, 0.f)) == 1);
+ CHK(f3_eq(transform + 6, f3(vec, 0.f, 0.f, 1.f)) == 1);
+ CHK(f3_eq(transform + 9, f3(vec, 0.f, 0.f, 0.f)) == 1);
+
+ CHK(s3d_scene_clear(scn) == RES_OK);
+ CHK(s3d_scene_attach_shape(scn, plane) == RES_OK);
+
+ CHK(s3d_scene_view_create(scn, S3D_GET_PRIMITIVE, &scnview) == RES_OK);
+ CHK(s3d_scene_view_primitives_count(scnview, &nprims) == RES_OK);
+ CHK(nprims == 2);
+ CHK(s3d_scene_view_get_primitive(scnview, 0, &prim) == RES_OK);
+ CHK(S3D_PRIMITIVE_EQ(&prim, &S3D_PRIMITIVE_NULL) == 0);
+ CHK(s3d_scene_view_ref_put(scnview) == RES_OK);
+
+ CHK(s3d_primitive_has_attrib(&prim, S3D_ATTRIB_0, &b) == RES_OK);
+ CHK(b == 1);
+ CHK(s3d_primitive_has_attrib(&prim, S3D_ATTRIB_1, &b) == RES_OK);
+ CHK(b == 0);
+
+ CHK(s3d_primitive_compute_area(NULL, NULL) == RES_BAD_ARG);
+ CHK(s3d_primitive_compute_area(&prim, NULL) == RES_BAD_ARG);
+ CHK(s3d_primitive_compute_area(NULL, &area) == RES_BAD_ARG);
+ CHK(s3d_primitive_compute_area(&prim, &area) == RES_OK);
+ CHK(eq_epsf(area, 0.5f, 1.e-6f) == 1);
+
+ CHK(s3d_primitive_sample(NULL, 1.f, 1.f, NULL) == RES_BAD_ARG);
+ CHK(s3d_primitive_sample(&prim, 1.f, 1.f, NULL) == RES_BAD_ARG);
+ CHK(s3d_primitive_sample(NULL, 0.f, 1.f, NULL) == RES_BAD_ARG);
+ CHK(s3d_primitive_sample(&prim, 0.f, 1.f, NULL) == RES_BAD_ARG);
+ CHK(s3d_primitive_sample(NULL, 1.f, 0.f, NULL) == RES_BAD_ARG);
+ CHK(s3d_primitive_sample(&prim, 1.f, 0.f, NULL) == RES_BAD_ARG);
+ CHK(s3d_primitive_sample(NULL, 0.f, 0.f, NULL) == RES_BAD_ARG);
+ CHK(s3d_primitive_sample(&prim, 0.f, 0.f, NULL) == RES_BAD_ARG);
+ CHK(s3d_primitive_sample(NULL, 1.f, 1.f, uv) == RES_BAD_ARG);
+ CHK(s3d_primitive_sample(&prim, 1.f, 1.f, uv) == RES_BAD_ARG);
+ CHK(s3d_primitive_sample(NULL, 0.f, 1.f, uv) == RES_BAD_ARG);
+ CHK(s3d_primitive_sample(&prim, 0.f, 1.f, uv) == RES_BAD_ARG);
+ CHK(s3d_primitive_sample(NULL, 1.f, 0.f, uv) == RES_BAD_ARG);
+ CHK(s3d_primitive_sample(&prim, 1.f, 0.f, uv) == RES_BAD_ARG);
+ CHK(s3d_primitive_sample(NULL, 0.f, 0.f, uv) == RES_BAD_ARG);
+ CHK(s3d_primitive_sample(&prim, 0.f, 0.f, uv) == RES_OK);
FOR_EACH(i, 0, 4096) {
- CHECK(s3d_primitive_sample
- (&prim, rand_canonic(), rand_canonic(), uv), RES_OK);
- CHECK(uv[0] >= 0.f, 1);
- CHECK(uv[0] <= 1.f, 1);
- CHECK(uv[1] >= 0.f, 1);
- CHECK(uv[1] <= 1.f, 1);
+ CHK(s3d_primitive_sample
+ (&prim, rand_canonic(), rand_canonic(), uv) == RES_OK);
+ CHK(uv[0] >= 0.f);
+ CHK(uv[0] <= 1.f);
+ CHK(uv[1] >= 0.f);
+ CHK(uv[1] <= 1.f);
}
#define GET_VERTEX_ATTR s3d_triangle_get_vertex_attrib
- CHECK(GET_VERTEX_ATTR(NULL, 3, S3D_GEOMETRY_NORMAL, NULL), RES_BAD_ARG);
- CHECK(GET_VERTEX_ATTR(&prim, 3, S3D_GEOMETRY_NORMAL, NULL), RES_BAD_ARG);
- CHECK(GET_VERTEX_ATTR(NULL, 0, S3D_GEOMETRY_NORMAL, NULL), RES_BAD_ARG);
- CHECK(GET_VERTEX_ATTR(&prim, 0, S3D_GEOMETRY_NORMAL, NULL), RES_BAD_ARG);
- CHECK(GET_VERTEX_ATTR(NULL, 3, S3D_POSITION, NULL), RES_BAD_ARG);
- CHECK(GET_VERTEX_ATTR(&prim, 3, S3D_POSITION, NULL), RES_BAD_ARG);
- CHECK(GET_VERTEX_ATTR(NULL, 0, S3D_POSITION, NULL), RES_BAD_ARG);
- CHECK(GET_VERTEX_ATTR(&prim, 0, S3D_POSITION, NULL), RES_BAD_ARG);
- CHECK(GET_VERTEX_ATTR(NULL, 3, S3D_GEOMETRY_NORMAL, &attr), RES_BAD_ARG);
- CHECK(GET_VERTEX_ATTR(&prim, 3, S3D_GEOMETRY_NORMAL, &attr), RES_BAD_ARG);
- CHECK(GET_VERTEX_ATTR(NULL, 0, S3D_GEOMETRY_NORMAL, &attr), RES_BAD_ARG);
- CHECK(GET_VERTEX_ATTR(&prim, 0, S3D_GEOMETRY_NORMAL, &attr), RES_BAD_ARG);
- CHECK(GET_VERTEX_ATTR(NULL, 3, S3D_POSITION, &attr), RES_BAD_ARG);
- CHECK(GET_VERTEX_ATTR(&prim, 3, S3D_POSITION, &attr), RES_BAD_ARG);
- CHECK(GET_VERTEX_ATTR(NULL, 0, S3D_POSITION, &attr), RES_BAD_ARG);
-
- CHECK(GET_VERTEX_ATTR(&prim, 0, S3D_POSITION, &attr), RES_OK);
- CHECK(attr.type, S3D_FLOAT3);
- CHECK(f3_eq_eps(attr.value, plane_verts + plane_ids[0]*3, 1.e-6f), 1);
- CHECK(GET_VERTEX_ATTR(&prim, 1, S3D_POSITION, &attr), RES_OK);
- CHECK(attr.type, S3D_FLOAT3);
- CHECK(f3_eq_eps(attr.value, plane_verts + plane_ids[1]*3, 1.e-6f), 1);
- CHECK(GET_VERTEX_ATTR(&prim, 2, S3D_POSITION, &attr), RES_OK);
- CHECK(attr.type, S3D_FLOAT3);
- CHECK(f3_eq_eps(attr.value, plane_verts + plane_ids[2]*3, 1.e-6f), 1);
-
- CHECK(GET_VERTEX_ATTR(&prim, 0, S3D_ATTRIB_0, &attr), RES_OK);
- CHECK(attr.type, S3D_FLOAT2);
+ CHK(GET_VERTEX_ATTR(NULL, 3, S3D_GEOMETRY_NORMAL, NULL) == RES_BAD_ARG);
+ CHK(GET_VERTEX_ATTR(&prim, 3, S3D_GEOMETRY_NORMAL, NULL) == RES_BAD_ARG);
+ CHK(GET_VERTEX_ATTR(NULL, 0, S3D_GEOMETRY_NORMAL, NULL) == RES_BAD_ARG);
+ CHK(GET_VERTEX_ATTR(&prim, 0, S3D_GEOMETRY_NORMAL, NULL) == RES_BAD_ARG);
+ CHK(GET_VERTEX_ATTR(NULL, 3, S3D_POSITION, NULL) == RES_BAD_ARG);
+ CHK(GET_VERTEX_ATTR(&prim, 3, S3D_POSITION, NULL) == RES_BAD_ARG);
+ CHK(GET_VERTEX_ATTR(NULL, 0, S3D_POSITION, NULL) == RES_BAD_ARG);
+ CHK(GET_VERTEX_ATTR(&prim, 0, S3D_POSITION, NULL) == RES_BAD_ARG);
+ CHK(GET_VERTEX_ATTR(NULL, 3, S3D_GEOMETRY_NORMAL, &attr) == RES_BAD_ARG);
+ CHK(GET_VERTEX_ATTR(&prim, 3, S3D_GEOMETRY_NORMAL, &attr) == RES_BAD_ARG);
+ CHK(GET_VERTEX_ATTR(NULL, 0, S3D_GEOMETRY_NORMAL, &attr) == RES_BAD_ARG);
+ CHK(GET_VERTEX_ATTR(&prim, 0, S3D_GEOMETRY_NORMAL, &attr) == RES_BAD_ARG);
+ CHK(GET_VERTEX_ATTR(NULL, 3, S3D_POSITION, &attr) == RES_BAD_ARG);
+ CHK(GET_VERTEX_ATTR(&prim, 3, S3D_POSITION, &attr) == RES_BAD_ARG);
+ CHK(GET_VERTEX_ATTR(NULL, 0, S3D_POSITION, &attr) == RES_BAD_ARG);
+
+ CHK(GET_VERTEX_ATTR(&prim, 0, S3D_POSITION, &attr) == RES_OK);
+ CHK(attr.type == S3D_FLOAT3);
+ CHK(f3_eq_eps(attr.value, plane_verts + plane_ids[0]*3, 1.e-6f) == 1);
+ CHK(GET_VERTEX_ATTR(&prim, 1, S3D_POSITION, &attr) == RES_OK);
+ CHK(attr.type == S3D_FLOAT3);
+ CHK(f3_eq_eps(attr.value, plane_verts + plane_ids[1]*3, 1.e-6f) == 1);
+ CHK(GET_VERTEX_ATTR(&prim, 2, S3D_POSITION, &attr) == RES_OK);
+ CHK(attr.type == S3D_FLOAT3);
+ CHK(f3_eq_eps(attr.value, plane_verts + plane_ids[2]*3, 1.e-6f) == 1);
+
+ CHK(GET_VERTEX_ATTR(&prim, 0, S3D_ATTRIB_0, &attr) == RES_OK);
+ CHK(attr.type == S3D_FLOAT2);
f2_minus(uv, plane_verts + plane_ids[0]*3);
- CHECK(f2_eq_eps(attr.value, uv, 1.e-6f), 1);
- CHECK(GET_VERTEX_ATTR(&prim, 1, S3D_ATTRIB_0, &attr), RES_OK);
- CHECK(attr.type, S3D_FLOAT2);
+ CHK(f2_eq_eps(attr.value, uv, 1.e-6f) == 1);
+ CHK(GET_VERTEX_ATTR(&prim, 1, S3D_ATTRIB_0, &attr) == RES_OK);
+ CHK(attr.type == S3D_FLOAT2);
f2_minus(uv, plane_verts + plane_ids[1]*3);
- CHECK(f2_eq_eps(attr.value, uv, 1.e-6f), 1);
- CHECK(GET_VERTEX_ATTR(&prim, 2, S3D_ATTRIB_0, &attr), RES_OK);
- CHECK(attr.type, S3D_FLOAT2);
+ CHK(f2_eq_eps(attr.value, uv, 1.e-6f) == 1);
+ CHK(GET_VERTEX_ATTR(&prim, 2, S3D_ATTRIB_0, &attr) == RES_OK);
+ CHK(attr.type == S3D_FLOAT2);
f2_minus(uv, plane_verts + plane_ids[2]*3);
- CHECK(f2_eq_eps(attr.value, uv, 1.e-6f), 1);
+ CHK(f2_eq_eps(attr.value, uv, 1.e-6f) == 1);
#undef GET_VERTEX_ATTR
- CHECK(s3d_device_ref_put(dev), RES_OK);
- CHECK(s3d_scene_ref_put(scn), RES_OK);
- CHECK(s3d_shape_ref_put(walls), RES_OK);
- CHECK(s3d_shape_ref_put(plane), RES_OK);
+ CHK(s3d_device_ref_put(dev) == RES_OK);
+ CHK(s3d_scene_ref_put(scn) == RES_OK);
+ CHK(s3d_shape_ref_put(walls) == RES_OK);
+ CHK(s3d_shape_ref_put(plane) == RES_OK);
check_memory_allocator(&allocator);
mem_shutdown_proxy_allocator(&allocator);
- CHECK(mem_allocated_size(), 0);
+ CHK(mem_allocated_size() == 0);
return 0;
}
diff --git a/src/test_s3d_sampler.c b/src/test_s3d_sampler.c
@@ -74,38 +74,38 @@ main(int argc, char** argv)
mem_init_proxy_allocator(&allocator, &mem_default_allocator);
- CHECK(s3d_device_create(NULL, &allocator, 1, &dev), RES_OK);
- CHECK(s3d_scene_create(dev, &scn), RES_OK);
- CHECK(s3d_scene_create(dev, &scn2), RES_OK);
- CHECK(s3d_scene_instantiate(scn, &cbox), RES_OK);
- CHECK(s3d_scene_attach_shape(scn2, cbox), RES_OK);
- CHECK(s3d_shape_create_mesh(dev, &walls), RES_OK);
- CHECK(s3d_shape_create_mesh(dev, &short_block), RES_OK);
- CHECK(s3d_shape_create_mesh(dev, &tall_block), RES_OK);
-
- CHECK(s3d_shape_get_id(cbox, &cbox_id), RES_OK);
- CHECK(s3d_shape_get_id(walls, &walls_id), RES_OK);
- CHECK(s3d_shape_get_id(short_block, &short_block_id), RES_OK);
- CHECK(s3d_shape_get_id(tall_block, &tall_block_id), RES_OK);
-
- CHECK(s3d_scene_view_create(scn, S3D_SAMPLE, &scnview), RES_OK);
- CHECK(s3d_scene_view_sample(NULL, 0, 0, 0, NULL, NULL), RES_BAD_ARG);
- CHECK(s3d_scene_view_sample(scnview, 0, 0, 0, NULL, NULL), RES_BAD_ARG);
- CHECK(s3d_scene_view_sample(NULL, 0, 0, 0, &prim, NULL), RES_BAD_ARG);
- CHECK(s3d_scene_view_sample(scnview, 0, 0, 0, &prim, NULL), RES_BAD_ARG);
- CHECK(s3d_scene_view_sample(NULL, 0, 0, 0, NULL, uv), RES_BAD_ARG);
- CHECK(s3d_scene_view_sample(scnview, 0, 0, 0, NULL, uv), RES_BAD_ARG);
- CHECK(s3d_scene_view_sample(NULL, 0, 0, 0, &prim, uv), RES_BAD_ARG);
- CHECK(s3d_scene_view_sample(scnview, 0, 0, 0, &prim, uv), RES_OK);
- CHECK(s3d_scene_view_sample(scnview, -1, 0, 0, &prim, uv), RES_BAD_ARG);
- CHECK(s3d_scene_view_sample(scnview, 0, -1, 0, &prim, uv), RES_BAD_ARG);
- CHECK(s3d_scene_view_sample(scnview, 0, 0, -1, &prim, uv), RES_BAD_ARG);
- CHECK(s3d_scene_view_sample(scnview, 1, 0, 0, &prim, uv), RES_BAD_ARG);
- CHECK(s3d_scene_view_sample(scnview, 0, 1, 0, &prim, uv), RES_BAD_ARG);
- CHECK(s3d_scene_view_sample(scnview, 0, 0, 1, &prim, uv), RES_BAD_ARG);
- CHECK(s3d_scene_view_sample(scnview, 0.5f, 0.5f, 0.5f, &prim, uv), RES_OK);
- CHECK(S3D_PRIMITIVE_EQ(&prim, &S3D_PRIMITIVE_NULL), 1);
- CHECK(s3d_scene_view_ref_put(scnview), RES_OK);
+ CHK(s3d_device_create(NULL, &allocator, 1, &dev) == RES_OK);
+ CHK(s3d_scene_create(dev, &scn) == RES_OK);
+ CHK(s3d_scene_create(dev, &scn2) == RES_OK);
+ CHK(s3d_scene_instantiate(scn, &cbox) == RES_OK);
+ CHK(s3d_scene_attach_shape(scn2, cbox) == RES_OK);
+ CHK(s3d_shape_create_mesh(dev, &walls) == RES_OK);
+ CHK(s3d_shape_create_mesh(dev, &short_block) == RES_OK);
+ CHK(s3d_shape_create_mesh(dev, &tall_block) == RES_OK);
+
+ CHK(s3d_shape_get_id(cbox, &cbox_id) == RES_OK);
+ CHK(s3d_shape_get_id(walls, &walls_id) == RES_OK);
+ CHK(s3d_shape_get_id(short_block, &short_block_id) == RES_OK);
+ CHK(s3d_shape_get_id(tall_block, &tall_block_id) == RES_OK);
+
+ CHK(s3d_scene_view_create(scn, S3D_SAMPLE, &scnview) == RES_OK);
+ CHK(s3d_scene_view_sample(NULL, 0, 0, 0, NULL, NULL) == RES_BAD_ARG);
+ CHK(s3d_scene_view_sample(scnview, 0, 0, 0, NULL, NULL) == RES_BAD_ARG);
+ CHK(s3d_scene_view_sample(NULL, 0, 0, 0, &prim, NULL) == RES_BAD_ARG);
+ CHK(s3d_scene_view_sample(scnview, 0, 0, 0, &prim, NULL) == RES_BAD_ARG);
+ CHK(s3d_scene_view_sample(NULL, 0, 0, 0, NULL, uv) == RES_BAD_ARG);
+ CHK(s3d_scene_view_sample(scnview, 0, 0, 0, NULL, uv) == RES_BAD_ARG);
+ CHK(s3d_scene_view_sample(NULL, 0, 0, 0, &prim, uv) == RES_BAD_ARG);
+ CHK(s3d_scene_view_sample(scnview, 0, 0, 0, &prim, uv) == RES_OK);
+ CHK(s3d_scene_view_sample(scnview, -1, 0, 0, &prim, uv) == RES_BAD_ARG);
+ CHK(s3d_scene_view_sample(scnview, 0, -1, 0, &prim, uv) == RES_BAD_ARG);
+ CHK(s3d_scene_view_sample(scnview, 0, 0, -1, &prim, uv) == RES_BAD_ARG);
+ CHK(s3d_scene_view_sample(scnview, 1, 0, 0, &prim, uv) == RES_BAD_ARG);
+ CHK(s3d_scene_view_sample(scnview, 0, 1, 0, &prim, uv) == RES_BAD_ARG);
+ CHK(s3d_scene_view_sample(scnview, 0, 0, 1, &prim, uv) == RES_BAD_ARG);
+ CHK(s3d_scene_view_sample(scnview, 0.5f, 0.5f, 0.5f, &prim, uv) == RES_OK);
+ CHK(S3D_PRIMITIVE_EQ(&prim, &S3D_PRIMITIVE_NULL) == 1);
+ CHK(s3d_scene_view_ref_put(scnview) == RES_OK);
attribs.usage = S3D_POSITION;
attribs.type = S3D_FLOAT3;
@@ -115,110 +115,110 @@ main(int argc, char** argv)
nverts = sizeof(cbox_walls)/sizeof(float[3]);
desc.vertices = cbox_walls;
desc.indices = cbox_walls_ids;
- CHECK(s3d_mesh_setup_indexed_vertices
- (walls, ntris, cbox_get_ids, nverts, &attribs, 1, &desc), RES_OK);
+ CHK(s3d_mesh_setup_indexed_vertices
+ (walls, ntris, cbox_get_ids, nverts, &attribs, 1, &desc) == RES_OK);
- CHECK(s3d_scene_attach_shape(scn, walls), RES_OK);
+ CHK(s3d_scene_attach_shape(scn, walls) == RES_OK);
- CHECK(s3d_scene_view_create(scn, S3D_SAMPLE, &scnview), RES_OK);
+ CHK(s3d_scene_view_create(scn, S3D_SAMPLE, &scnview) == RES_OK);
- CHECK(s3d_scene_view_sample(scnview, 0.5f, 0.5f, 0.5f, &prim, uv), RES_OK);
- CHECK(s3d_primitive_get_attrib(&prim, S3D_POSITION, uv, &attr0), RES_OK);
- CHECK(s3d_scene_view_sample(scnview, 0.5f, 0.5f, 0.5f, &prim, uv), RES_OK);
- CHECK(s3d_primitive_get_attrib(&prim, S3D_POSITION, uv, &attr1), RES_OK);
+ CHK(s3d_scene_view_sample(scnview, 0.5f, 0.5f, 0.5f, &prim, uv) == RES_OK);
+ CHK(s3d_primitive_get_attrib(&prim, S3D_POSITION, uv, &attr0) == RES_OK);
+ CHK(s3d_scene_view_sample(scnview, 0.5f, 0.5f, 0.5f, &prim, uv) == RES_OK);
+ CHK(s3d_primitive_get_attrib(&prim, S3D_POSITION, uv, &attr1) == RES_OK);
prim1 = prim;
- CHECK(S3D_PRIMITIVE_EQ(&prim, &prim1), 1);
+ CHK(S3D_PRIMITIVE_EQ(&prim, &prim1) == 1);
prim1.inst_id = prim.inst_id + 1;
- CHECK(S3D_PRIMITIVE_EQ(&prim, &prim1), 0);
+ CHK(S3D_PRIMITIVE_EQ(&prim, &prim1) == 0);
prim1.inst_id = prim.inst_id;
- CHECK(S3D_PRIMITIVE_EQ(&prim, &prim1), 1);
+ CHK(S3D_PRIMITIVE_EQ(&prim, &prim1) == 1);
prim1.prim_id = S3D_INVALID_ID;
- CHECK(S3D_PRIMITIVE_EQ(&prim, &prim1), 0);
+ CHK(S3D_PRIMITIVE_EQ(&prim, &prim1) == 0);
prim1.prim_id = prim.prim_id;
prim1.geom_id = S3D_INVALID_ID;
- CHECK(S3D_PRIMITIVE_EQ(&prim, &prim1), 0);
+ CHK(S3D_PRIMITIVE_EQ(&prim, &prim1) == 0);
- CHECK(attr0.type, S3D_FLOAT3);
- CHECK(attr1.type, S3D_FLOAT3);
- CHECK(f3_eq_eps(attr0.value, attr1.value, 1.e-6f), 1);
+ CHK(attr0.type == S3D_FLOAT3);
+ CHK(attr1.type == S3D_FLOAT3);
+ CHK(f3_eq_eps(attr0.value, attr1.value, 1.e-6f) == 1);
- CHECK(s3d_scene_view_sample(scnview, 0.3f, 0.1f, 0.2f, &prim, uv), RES_OK);
- CHECK(s3d_primitive_get_attrib(&prim, S3D_POSITION, uv, &attr1), RES_OK);
- NCHECK(f3_eq_eps(attr0.value, attr1.value, 1.e-6f), 1);
+ CHK(s3d_scene_view_sample(scnview, 0.3f, 0.1f, 0.2f, &prim, uv) == RES_OK);
+ CHK(s3d_primitive_get_attrib(&prim, S3D_POSITION, uv, &attr1) == RES_OK);
+ CHK(f3_eq_eps(attr0.value, attr1.value, 1.e-6f) != 1);
- CHECK(s3d_scene_view_ref_put(scnview), RES_OK);
+ CHK(s3d_scene_view_ref_put(scnview) == RES_OK);
- CHECK(s3d_shape_enable(walls, 0), RES_OK);
- CHECK(s3d_scene_view_create(scn, S3D_SAMPLE, &scnview), RES_OK);
- CHECK(s3d_scene_view_sample(scnview, 0.5f, 0.5f, 0.5f, &prim, uv), RES_OK);
- CHECK(S3D_PRIMITIVE_EQ(&prim, &S3D_PRIMITIVE_NULL), 1);
- CHECK(s3d_scene_view_ref_put(scnview), RES_OK);
- CHECK(s3d_shape_enable(walls, 1), RES_OK);
+ CHK(s3d_shape_enable(walls, 0) == RES_OK);
+ CHK(s3d_scene_view_create(scn, S3D_SAMPLE, &scnview) == RES_OK);
+ CHK(s3d_scene_view_sample(scnview, 0.5f, 0.5f, 0.5f, &prim, uv) == RES_OK);
+ CHK(S3D_PRIMITIVE_EQ(&prim, &S3D_PRIMITIVE_NULL) == 1);
+ CHK(s3d_scene_view_ref_put(scnview) == RES_OK);
+ CHK(s3d_shape_enable(walls, 1) == RES_OK);
ntris = sizeof(cbox_block_ids)/sizeof(unsigned[3]);
nverts = sizeof(cbox_short_block)/sizeof(float[3]);
desc.vertices = cbox_short_block;
desc.indices = cbox_block_ids;
- CHECK(s3d_mesh_setup_indexed_vertices
- (short_block, ntris, cbox_get_ids, nverts, &attribs, 1, &desc), RES_OK);
+ CHK(s3d_mesh_setup_indexed_vertices
+ (short_block, ntris, cbox_get_ids, nverts, &attribs, 1, &desc) == RES_OK);
- CHECK(s3d_scene_attach_shape(scn, short_block), RES_OK);
- CHECK(s3d_scene_attach_shape(scn, tall_block), RES_OK);
+ CHK(s3d_scene_attach_shape(scn, short_block) == RES_OK);
+ CHK(s3d_scene_attach_shape(scn, tall_block) == RES_OK);
- CHECK(s3d_scene_view_create(scn, S3D_SAMPLE, &scnview), RES_OK);
- CHECK(s3d_scene_view_sample(scnview, 0.5f, 0.5f, 0.5f, &prim, uv), RES_OK);
- CHECK(s3d_primitive_get_attrib(&prim, S3D_POSITION, uv, &attr0), RES_OK);
+ CHK(s3d_scene_view_create(scn, S3D_SAMPLE, &scnview) == RES_OK);
+ CHK(s3d_scene_view_sample(scnview, 0.5f, 0.5f, 0.5f, &prim, uv) == RES_OK);
+ CHK(s3d_primitive_get_attrib(&prim, S3D_POSITION, uv, &attr0) == RES_OK);
desc.vertices = cbox_tall_block;
- CHECK(s3d_mesh_setup_indexed_vertices
- (tall_block, ntris, cbox_get_ids, nverts, &attribs, 1, &desc), RES_OK);
- CHECK(s3d_scene_view_sample(scnview, 0.5f, 0.5f, 0.5f, &prim, uv), RES_OK);
- CHECK(s3d_primitive_get_attrib(&prim, S3D_POSITION, uv, &attr1), RES_OK);
- CHECK(f3_eq_eps(attr0.value, attr1.value, 1.e-6f), 1);
- CHECK(s3d_scene_view_ref_put(scnview), RES_OK);
-
- CHECK(s3d_scene_view_create(scn, S3D_SAMPLE, &scnview), RES_OK);
- CHECK(s3d_scene_view_sample(scnview, 0.5f, 0.5f, 0.5f, &prim, uv), RES_OK);
- CHECK(s3d_primitive_get_attrib(&prim, S3D_POSITION, uv, &attr1), RES_OK);
- NCHECK(f3_eq_eps(attr0.value, attr1.value, 1.e-6f), 1);
- CHECK(s3d_scene_view_ref_put(scnview), RES_OK);
-
- CHECK(s3d_shape_enable(cbox, 0), RES_OK);
- CHECK(s3d_scene_view_create(scn2, S3D_SAMPLE|S3D_TRACE, &scnview), RES_OK);
- CHECK(s3d_scene_view_sample(scnview, 0.5f, 0.5f, 0.5f, &prim, uv), RES_OK);
- CHECK(S3D_PRIMITIVE_EQ(&prim, &S3D_PRIMITIVE_NULL), 1);
- CHECK(s3d_scene_view_ref_put(scnview), RES_OK);
- CHECK(s3d_shape_enable(cbox, 1), RES_OK);
- CHECK(s3d_scene_view_create(scn2, S3D_SAMPLE|S3D_TRACE, &scnview), RES_OK);
+ CHK(s3d_mesh_setup_indexed_vertices
+ (tall_block, ntris, cbox_get_ids, nverts, &attribs, 1, &desc) == RES_OK);
+ CHK(s3d_scene_view_sample(scnview, 0.5f, 0.5f, 0.5f, &prim, uv) == RES_OK);
+ CHK(s3d_primitive_get_attrib(&prim, S3D_POSITION, uv, &attr1) == RES_OK);
+ CHK(f3_eq_eps(attr0.value, attr1.value, 1.e-6f) == 1);
+ CHK(s3d_scene_view_ref_put(scnview) == RES_OK);
+
+ CHK(s3d_scene_view_create(scn, S3D_SAMPLE, &scnview) == RES_OK);
+ CHK(s3d_scene_view_sample(scnview, 0.5f, 0.5f, 0.5f, &prim, uv) == RES_OK);
+ CHK(s3d_primitive_get_attrib(&prim, S3D_POSITION, uv, &attr1) == RES_OK);
+ CHK(f3_eq_eps(attr0.value, attr1.value, 1.e-6f) != 1);
+ CHK(s3d_scene_view_ref_put(scnview) == RES_OK);
+
+ CHK(s3d_shape_enable(cbox, 0) == RES_OK);
+ CHK(s3d_scene_view_create(scn2, S3D_SAMPLE|S3D_TRACE, &scnview) == RES_OK);
+ CHK(s3d_scene_view_sample(scnview, 0.5f, 0.5f, 0.5f, &prim, uv) == RES_OK);
+ CHK(S3D_PRIMITIVE_EQ(&prim, &S3D_PRIMITIVE_NULL) == 1);
+ CHK(s3d_scene_view_ref_put(scnview) == RES_OK);
+ CHK(s3d_shape_enable(cbox, 1) == RES_OK);
+ CHK(s3d_scene_view_create(scn2, S3D_SAMPLE|S3D_TRACE, &scnview) == RES_OK);
FOR_EACH(i, 0, NSAMPS) {
const float u = rand_canonic();
const float v = rand_canonic();
const float w = rand_canonic();
- CHECK(s3d_scene_view_sample(scnview, u, v, w, &prim, uv), RES_OK);
- CHECK(s3d_primitive_get_attrib(&prim, S3D_POSITION, uv, &attr0), RES_OK);
-
- CHECK(prim.inst_id, cbox_id);
- CHECK(prim.geom_id == walls_id
- || prim.geom_id == tall_block_id
- || prim.geom_id == short_block_id, 1);
- CHECK(prim.prim_id < 10, 1);
- CHECK(prim.scene_prim_id >= prim.prim_id, 1);
- CHECK(prim.scene_prim_id < 30, 1);
+ CHK(s3d_scene_view_sample(scnview, u, v, w, &prim, uv) == RES_OK);
+ CHK(s3d_primitive_get_attrib(&prim, S3D_POSITION, uv, &attr0) == RES_OK);
+
+ CHK(prim.inst_id == cbox_id);
+ CHK(prim.geom_id == walls_id
+ || prim.geom_id == tall_block_id
+ || prim.geom_id == short_block_id);
+ CHK(prim.prim_id < 10);
+ CHK(prim.scene_prim_id >= prim.prim_id);
+ CHK(prim.scene_prim_id < 30);
printf("%f %f %f\n", SPLIT3(attr0.value));
}
- CHECK(s3d_scene_view_ref_put(scnview), RES_OK);
+ CHK(s3d_scene_view_ref_put(scnview) == RES_OK);
- CHECK(s3d_device_ref_put(dev), RES_OK);
- CHECK(s3d_scene_ref_put(scn), RES_OK);
- CHECK(s3d_scene_ref_put(scn2), RES_OK);
- CHECK(s3d_shape_ref_put(cbox), RES_OK);
- CHECK(s3d_shape_ref_put(walls), RES_OK);
- CHECK(s3d_shape_ref_put(short_block), RES_OK);
- CHECK(s3d_shape_ref_put(tall_block), RES_OK);
+ CHK(s3d_device_ref_put(dev) == RES_OK);
+ CHK(s3d_scene_ref_put(scn) == RES_OK);
+ CHK(s3d_scene_ref_put(scn2) == RES_OK);
+ CHK(s3d_shape_ref_put(cbox) == RES_OK);
+ CHK(s3d_shape_ref_put(walls) == RES_OK);
+ CHK(s3d_shape_ref_put(short_block) == RES_OK);
+ CHK(s3d_shape_ref_put(tall_block) == RES_OK);
check_memory_allocator(&allocator);
mem_shutdown_proxy_allocator(&allocator);
- CHECK(mem_allocated_size(), 0);
+ CHK(mem_allocated_size() == 0);
return 0;
}
diff --git a/src/test_s3d_scene.c b/src/test_s3d_scene.c
@@ -63,9 +63,9 @@ static void
cube_get_ids(const unsigned itri, unsigned ids[3], void* data)
{
const unsigned id = itri * 3;
- CHECK(data, NULL);
- NCHECK(ids, NULL);
- CHECK(itri < cube_ntris, 1);
+ CHK(data == NULL);
+ CHK(ids != NULL);
+ CHK(itri < cube_ntris);
ids[0] = cube_ids[id + 0];
ids[1] = cube_ids[id + 1];
ids[2] = cube_ids[id + 2];
@@ -75,9 +75,9 @@ static void
cube_get_pos(const unsigned ivert, float pos[3], void* data)
{
const unsigned i = ivert*3;
- CHECK(data, NULL);
- NCHECK(pos, NULL);
- CHECK(ivert < cube_nverts, 1);
+ CHK(data == NULL);
+ CHK(pos != NULL);
+ CHK(ivert < cube_nverts);
pos[0] = cube_verts[i + 0];
pos[1] = cube_verts[i + 1];
pos[2] = cube_verts[i + 2];
@@ -108,255 +108,255 @@ main(int argc, char** argv)
mem_init_proxy_allocator(&allocator, &mem_default_allocator);
- CHECK(s3d_device_create(NULL, &allocator, 1, &dev), RES_OK);
+ CHK(s3d_device_create(NULL, &allocator, 1, &dev) == RES_OK);
FOR_EACH(i, 0, nshapes)
- CHECK(s3d_shape_create_mesh(dev, shapes + i), RES_OK);
-
- CHECK(s3d_scene_create(NULL, NULL), RES_BAD_ARG);
- CHECK(s3d_scene_create(dev, NULL), RES_BAD_ARG);
- CHECK(s3d_scene_create(NULL, &scn), RES_BAD_ARG);
- CHECK(s3d_scene_create(dev, &scn), RES_OK);
- CHECK(s3d_scene_create(dev, &scn2), RES_OK);
- CHECK(s3d_scene_create(dev, &scn3), RES_OK);
-
- CHECK(s3d_scene_get_shapes_count(NULL, NULL), RES_BAD_ARG);
- CHECK(s3d_scene_get_shapes_count(scn, NULL), RES_BAD_ARG);
- CHECK(s3d_scene_get_shapes_count(NULL, &n), RES_BAD_ARG);
- CHECK(s3d_scene_get_shapes_count(scn, &n), RES_OK);
- CHECK(n, 0);
-
- CHECK(s3d_scene_attach_shape(NULL, NULL), RES_BAD_ARG);
- CHECK(s3d_scene_attach_shape(scn, NULL), RES_BAD_ARG);
- CHECK(s3d_scene_attach_shape(NULL, shapes[0]), RES_BAD_ARG);
- CHECK(s3d_scene_attach_shape(scn, shapes[0]), RES_OK);
- CHECK(s3d_scene_get_shapes_count(scn, &n), RES_OK);
- CHECK(n, 1);
- CHECK(s3d_scene_attach_shape(scn, shapes[0]), RES_OK);
- CHECK(s3d_scene_get_shapes_count(scn, &n), RES_OK);
- CHECK(n, 1);
-
- CHECK(s3d_scene_detach_shape(NULL, NULL), RES_BAD_ARG);
- CHECK(s3d_scene_detach_shape(scn, NULL), RES_BAD_ARG);
- CHECK(s3d_scene_detach_shape(NULL, shapes[0]), RES_BAD_ARG);
- CHECK(s3d_scene_detach_shape(scn, shapes[0]), RES_OK);
- CHECK(s3d_scene_detach_shape(scn, shapes[0]), RES_BAD_ARG);
- CHECK(s3d_scene_get_shapes_count(scn, &n), RES_OK);
- CHECK(n, 0);
+ CHK(s3d_shape_create_mesh(dev, shapes + i) == RES_OK);
+
+ CHK(s3d_scene_create(NULL, NULL) == RES_BAD_ARG);
+ CHK(s3d_scene_create(dev, NULL) == RES_BAD_ARG);
+ CHK(s3d_scene_create(NULL, &scn) == RES_BAD_ARG);
+ CHK(s3d_scene_create(dev, &scn) == RES_OK);
+ CHK(s3d_scene_create(dev, &scn2) == RES_OK);
+ CHK(s3d_scene_create(dev, &scn3) == RES_OK);
+
+ CHK(s3d_scene_get_shapes_count(NULL, NULL) == RES_BAD_ARG);
+ CHK(s3d_scene_get_shapes_count(scn, NULL) == RES_BAD_ARG);
+ CHK(s3d_scene_get_shapes_count(NULL, &n) == RES_BAD_ARG);
+ CHK(s3d_scene_get_shapes_count(scn, &n) == RES_OK);
+ CHK(n == 0);
+
+ CHK(s3d_scene_attach_shape(NULL, NULL) == RES_BAD_ARG);
+ CHK(s3d_scene_attach_shape(scn, NULL) == RES_BAD_ARG);
+ CHK(s3d_scene_attach_shape(NULL, shapes[0]) == RES_BAD_ARG);
+ CHK(s3d_scene_attach_shape(scn, shapes[0]) == RES_OK);
+ CHK(s3d_scene_get_shapes_count(scn, &n) == RES_OK);
+ CHK(n == 1);
+ CHK(s3d_scene_attach_shape(scn, shapes[0]) == RES_OK);
+ CHK(s3d_scene_get_shapes_count(scn, &n) == RES_OK);
+ CHK(n == 1);
+
+ CHK(s3d_scene_detach_shape(NULL, NULL) == RES_BAD_ARG);
+ CHK(s3d_scene_detach_shape(scn, NULL) == RES_BAD_ARG);
+ CHK(s3d_scene_detach_shape(NULL, shapes[0]) == RES_BAD_ARG);
+ CHK(s3d_scene_detach_shape(scn, shapes[0]) == RES_OK);
+ CHK(s3d_scene_detach_shape(scn, shapes[0]) == RES_BAD_ARG);
+ CHK(s3d_scene_get_shapes_count(scn, &n) == RES_OK);
+ CHK(n == 0);
FOR_EACH(i, 1, nshapes) {
- CHECK(s3d_scene_attach_shape(scn, shapes[i]), RES_OK);
- CHECK(s3d_shape_ref_put(shapes[i]), RES_OK);
+ CHK(s3d_scene_attach_shape(scn, shapes[i]) == RES_OK);
+ CHK(s3d_shape_ref_put(shapes[i]) == RES_OK);
}
- CHECK(s3d_scene_get_shapes_count(scn, &n), RES_OK);
- CHECK(n, nshapes - 1);
-
- CHECK(s3d_scene_instantiate(NULL, NULL), RES_BAD_ARG);
- CHECK(s3d_scene_instantiate(scn, NULL), RES_BAD_ARG);
- CHECK(s3d_scene_instantiate(NULL, shapes + 1), RES_BAD_ARG);
- CHECK(s3d_scene_instantiate(scn, shapes + 1), RES_OK);
-
- CHECK(s3d_shape_get_id(NULL, NULL), RES_BAD_ARG);
- CHECK(s3d_shape_get_id(shapes[1], NULL), RES_BAD_ARG);
- CHECK(s3d_shape_get_id(NULL, &id), RES_BAD_ARG);
- CHECK(s3d_shape_get_id(shapes[1], &id), RES_OK);
- NCHECK(id, S3D_INVALID_ID);
-
- CHECK(s3d_scene_clear(NULL), RES_BAD_ARG);
- CHECK(s3d_scene_clear(scn), RES_OK);
- CHECK(s3d_scene_get_shapes_count(scn, &n), RES_OK);
- CHECK(n, 0);
- CHECK(s3d_scene_clear(scn), RES_OK);
- CHECK(s3d_scene_instantiate(scn, shapes + 2), RES_OK);
- CHECK(s3d_scene_attach_shape(scn, shapes[2]), RES_BAD_ARG);
-
- CHECK(s3d_scene_attach_shape(scn, shapes[0]), RES_OK);
- CHECK(s3d_scene_get_shapes_count(scn, &n), RES_OK);
- CHECK(n, 1);
-
- CHECK(s3d_scene_view_create(scn, S3D_TRACE, &scnview), RES_OK);
- CHECK(s3d_scene_view_get_mask(scnview, &mask), RES_OK);
- CHECK(mask, S3D_TRACE);
-
- CHECK(s3d_scene_detach_shape(scn, shapes[0]), RES_OK);
- CHECK(s3d_scene_clear(scn), RES_OK);
-
- CHECK(s3d_scene_view_ref_put(scnview), RES_OK);
-
- CHECK(s3d_scene_view_create(scn, S3D_TRACE, &scnview), RES_OK);
- CHECK(s3d_scene_attach_shape(scn, shapes[0]), RES_OK);
- CHECK(s3d_scene_detach_shape(scn, shapes[0]), RES_OK);
- CHECK(s3d_scene_attach_shape(scn, shapes[0]), RES_OK);
- CHECK(s3d_scene_view_ref_put(scnview), RES_OK);
-
- CHECK(s3d_scene_attach_shape(scn2, shapes[1]), RES_OK);
- CHECK(s3d_scene_attach_shape(scn2, shapes[2]), RES_OK);
- CHECK(s3d_scene_attach_shape(scn3, shapes[1]), RES_OK);
-
- CHECK(s3d_scene_get_shapes_count(scn, &n), RES_OK);
- CHECK(n, 1);
- CHECK(s3d_scene_get_shapes_count(scn2, &n), RES_OK);
- CHECK(n, 2);
- CHECK(s3d_scene_get_shapes_count(scn3, &n), RES_OK);
- CHECK(n, 1);
-
- CHECK(s3d_scene_view_create(scn2, S3D_SAMPLE|S3D_TRACE, &scnview2), RES_OK);
- CHECK(s3d_scene_view_create(scn, S3D_SAMPLE, &scnview), RES_OK);
- CHECK(s3d_scene_view_create(scn3, S3D_SAMPLE, &scnview3), RES_OK);
- CHECK(s3d_scene_view_ref_put(scnview3), RES_OK);
-
- CHECK(s3d_scene_view_compute_area(NULL, NULL), RES_BAD_ARG);
- CHECK(s3d_scene_view_compute_area(scnview2, NULL), RES_BAD_ARG);
- CHECK(s3d_scene_view_compute_area(NULL, &area), RES_BAD_ARG);
- CHECK(s3d_scene_view_compute_area(scnview2, &area), RES_OK);
- CHECK(area, 0.f);
-
- CHECK(s3d_scene_view_compute_volume(NULL, NULL), RES_BAD_ARG);
- CHECK(s3d_scene_view_compute_volume(scnview2, NULL), RES_BAD_ARG);
- CHECK(s3d_scene_view_compute_volume(NULL, &volume), RES_BAD_ARG);
- CHECK(s3d_scene_view_compute_volume(scnview2, &volume), RES_OK);
- CHECK(volume, 0.f);
-
- CHECK(s3d_scene_view_primitives_count(NULL, NULL), RES_BAD_ARG);
- CHECK(s3d_scene_view_primitives_count(scnview2, NULL), RES_BAD_ARG);
- CHECK(s3d_scene_view_primitives_count(NULL, &nprims), RES_BAD_ARG);
- CHECK(s3d_scene_view_primitives_count(scnview2, &nprims), RES_OK);
- CHECK(nprims, 0);
-
- CHECK(s3d_scene_view_get_aabb(NULL, NULL, NULL), RES_BAD_ARG);
- CHECK(s3d_scene_view_get_aabb(scnview2, NULL, NULL), RES_BAD_ARG);
- CHECK(s3d_scene_view_get_aabb(NULL, lower, NULL), RES_BAD_ARG);
- CHECK(s3d_scene_view_get_aabb(scnview2, lower, NULL), RES_BAD_ARG);
- CHECK(s3d_scene_view_get_aabb(NULL, NULL, upper), RES_BAD_ARG);
- CHECK(s3d_scene_view_get_aabb(scnview2, NULL, upper), RES_BAD_ARG);
- CHECK(s3d_scene_view_get_aabb(NULL, lower, upper), RES_BAD_ARG);
- CHECK(s3d_scene_view_get_aabb(scnview2, lower, upper), RES_OK);
- CHECK(lower[0] > upper[0], 1);
- CHECK(lower[1] > upper[1], 1);
- CHECK(lower[2] > upper[2], 1);
-
- CHECK(s3d_scene_view_ref_put(scnview), RES_OK);
- CHECK(s3d_scene_view_ref_put(scnview2), RES_OK);
-
- CHECK(s3d_scene_instantiate(scn2, shapes + 3), RES_OK);
- CHECK(s3d_scene_attach_shape(scn3, shapes[3]), RES_OK);
- CHECK(s3d_scene_get_shapes_count(scn3, &n), RES_OK);
- CHECK(n, 2);
- CHECK(s3d_scene_view_create(scn3, S3D_SAMPLE|S3D_TRACE, &scnview3), RES_BAD_ARG);
-
- CHECK(s3d_scene_detach_shape(scn, shapes[0]), RES_OK);
-
- CHECK(s3d_shape_ref_put(shapes[0]), RES_OK);
- CHECK(s3d_shape_ref_put(shapes[1]), RES_OK);
- CHECK(s3d_shape_ref_put(shapes[2]), RES_OK);
- CHECK(s3d_shape_ref_put(shapes[3]), RES_OK);
-
- CHECK(s3d_scene_ref_get(NULL), RES_BAD_ARG);
- CHECK(s3d_scene_ref_get(scn), RES_OK);
- CHECK(s3d_scene_ref_put(NULL), RES_BAD_ARG);
- CHECK(s3d_scene_ref_put(scn), RES_OK);
- CHECK(s3d_scene_ref_put(scn), RES_OK);
- CHECK(s3d_scene_ref_put(scn2), RES_OK);
- CHECK(s3d_scene_ref_put(scn3), RES_OK);
-
- CHECK(s3d_scene_create(dev, &scn), RES_OK);
- CHECK(s3d_scene_create(dev, &scn2), RES_OK);
+ CHK(s3d_scene_get_shapes_count(scn, &n) == RES_OK);
+ CHK(n == nshapes - 1);
+
+ CHK(s3d_scene_instantiate(NULL, NULL) == RES_BAD_ARG);
+ CHK(s3d_scene_instantiate(scn, NULL) == RES_BAD_ARG);
+ CHK(s3d_scene_instantiate(NULL, shapes + 1) == RES_BAD_ARG);
+ CHK(s3d_scene_instantiate(scn, shapes + 1) == RES_OK);
+
+ CHK(s3d_shape_get_id(NULL, NULL) == RES_BAD_ARG);
+ CHK(s3d_shape_get_id(shapes[1], NULL) == RES_BAD_ARG);
+ CHK(s3d_shape_get_id(NULL, &id) == RES_BAD_ARG);
+ CHK(s3d_shape_get_id(shapes[1], &id) == RES_OK);
+ CHK(id != S3D_INVALID_ID);
+
+ CHK(s3d_scene_clear(NULL) == RES_BAD_ARG);
+ CHK(s3d_scene_clear(scn) == RES_OK);
+ CHK(s3d_scene_get_shapes_count(scn, &n) == RES_OK);
+ CHK(n == 0);
+ CHK(s3d_scene_clear(scn) == RES_OK);
+ CHK(s3d_scene_instantiate(scn, shapes + 2) == RES_OK);
+ CHK(s3d_scene_attach_shape(scn, shapes[2]) == RES_BAD_ARG);
+
+ CHK(s3d_scene_attach_shape(scn, shapes[0]) == RES_OK);
+ CHK(s3d_scene_get_shapes_count(scn, &n) == RES_OK);
+ CHK(n == 1);
+
+ CHK(s3d_scene_view_create(scn, S3D_TRACE, &scnview) == RES_OK);
+ CHK(s3d_scene_view_get_mask(scnview, &mask) == RES_OK);
+ CHK(mask == S3D_TRACE);
+
+ CHK(s3d_scene_detach_shape(scn, shapes[0]) == RES_OK);
+ CHK(s3d_scene_clear(scn) == RES_OK);
+
+ CHK(s3d_scene_view_ref_put(scnview) == RES_OK);
+
+ CHK(s3d_scene_view_create(scn, S3D_TRACE, &scnview) == RES_OK);
+ CHK(s3d_scene_attach_shape(scn, shapes[0]) == RES_OK);
+ CHK(s3d_scene_detach_shape(scn, shapes[0]) == RES_OK);
+ CHK(s3d_scene_attach_shape(scn, shapes[0]) == RES_OK);
+ CHK(s3d_scene_view_ref_put(scnview) == RES_OK);
+
+ CHK(s3d_scene_attach_shape(scn2, shapes[1]) == RES_OK);
+ CHK(s3d_scene_attach_shape(scn2, shapes[2]) == RES_OK);
+ CHK(s3d_scene_attach_shape(scn3, shapes[1]) == RES_OK);
+
+ CHK(s3d_scene_get_shapes_count(scn, &n) == RES_OK);
+ CHK(n == 1);
+ CHK(s3d_scene_get_shapes_count(scn2, &n) == RES_OK);
+ CHK(n == 2);
+ CHK(s3d_scene_get_shapes_count(scn3, &n) == RES_OK);
+ CHK(n == 1);
+
+ CHK(s3d_scene_view_create(scn2, S3D_SAMPLE|S3D_TRACE, &scnview2) == RES_OK);
+ CHK(s3d_scene_view_create(scn, S3D_SAMPLE, &scnview) == RES_OK);
+ CHK(s3d_scene_view_create(scn3, S3D_SAMPLE, &scnview3) == RES_OK);
+ CHK(s3d_scene_view_ref_put(scnview3) == RES_OK);
+
+ CHK(s3d_scene_view_compute_area(NULL, NULL) == RES_BAD_ARG);
+ CHK(s3d_scene_view_compute_area(scnview2, NULL) == RES_BAD_ARG);
+ CHK(s3d_scene_view_compute_area(NULL, &area) == RES_BAD_ARG);
+ CHK(s3d_scene_view_compute_area(scnview2, &area) == RES_OK);
+ CHK(area == 0.f);
+
+ CHK(s3d_scene_view_compute_volume(NULL, NULL) == RES_BAD_ARG);
+ CHK(s3d_scene_view_compute_volume(scnview2, NULL) == RES_BAD_ARG);
+ CHK(s3d_scene_view_compute_volume(NULL, &volume) == RES_BAD_ARG);
+ CHK(s3d_scene_view_compute_volume(scnview2, &volume) == RES_OK);
+ CHK(volume == 0.f);
+
+ CHK(s3d_scene_view_primitives_count(NULL, NULL) == RES_BAD_ARG);
+ CHK(s3d_scene_view_primitives_count(scnview2, NULL) == RES_BAD_ARG);
+ CHK(s3d_scene_view_primitives_count(NULL, &nprims) == RES_BAD_ARG);
+ CHK(s3d_scene_view_primitives_count(scnview2, &nprims) == RES_OK);
+ CHK(nprims == 0);
+
+ CHK(s3d_scene_view_get_aabb(NULL, NULL, NULL) == RES_BAD_ARG);
+ CHK(s3d_scene_view_get_aabb(scnview2, NULL, NULL) == RES_BAD_ARG);
+ CHK(s3d_scene_view_get_aabb(NULL, lower, NULL) == RES_BAD_ARG);
+ CHK(s3d_scene_view_get_aabb(scnview2, lower, NULL) == RES_BAD_ARG);
+ CHK(s3d_scene_view_get_aabb(NULL, NULL, upper) == RES_BAD_ARG);
+ CHK(s3d_scene_view_get_aabb(scnview2, NULL, upper) == RES_BAD_ARG);
+ CHK(s3d_scene_view_get_aabb(NULL, lower, upper) == RES_BAD_ARG);
+ CHK(s3d_scene_view_get_aabb(scnview2, lower, upper) == RES_OK);
+ CHK(lower[0] > upper[0]);
+ CHK(lower[1] > upper[1]);
+ CHK(lower[2] > upper[2]);
+
+ CHK(s3d_scene_view_ref_put(scnview) == RES_OK);
+ CHK(s3d_scene_view_ref_put(scnview2) == RES_OK);
+
+ CHK(s3d_scene_instantiate(scn2, shapes + 3) == RES_OK);
+ CHK(s3d_scene_attach_shape(scn3, shapes[3]) == RES_OK);
+ CHK(s3d_scene_get_shapes_count(scn3, &n) == RES_OK);
+ CHK(n == 2);
+ CHK(s3d_scene_view_create(scn3, S3D_SAMPLE|S3D_TRACE, &scnview3) == RES_BAD_ARG);
+
+ CHK(s3d_scene_detach_shape(scn, shapes[0]) == RES_OK);
+
+ CHK(s3d_shape_ref_put(shapes[0]) == RES_OK);
+ CHK(s3d_shape_ref_put(shapes[1]) == RES_OK);
+ CHK(s3d_shape_ref_put(shapes[2]) == RES_OK);
+ CHK(s3d_shape_ref_put(shapes[3]) == RES_OK);
+
+ CHK(s3d_scene_ref_get(NULL) == RES_BAD_ARG);
+ CHK(s3d_scene_ref_get(scn) == RES_OK);
+ CHK(s3d_scene_ref_put(NULL) == RES_BAD_ARG);
+ CHK(s3d_scene_ref_put(scn) == RES_OK);
+ CHK(s3d_scene_ref_put(scn) == RES_OK);
+ CHK(s3d_scene_ref_put(scn2) == RES_OK);
+ CHK(s3d_scene_ref_put(scn3) == RES_OK);
+
+ CHK(s3d_scene_create(dev, &scn) == RES_OK);
+ CHK(s3d_scene_create(dev, &scn2) == RES_OK);
attribs.type = S3D_FLOAT3;
attribs.usage = S3D_POSITION;
attribs.get = cbox_get_position;
- CHECK(s3d_shape_create_mesh(dev, shapes + 0), RES_OK);
- CHECK(s3d_mesh_setup_indexed_vertices(shapes[0], cbox_walls_ntris,
- cbox_get_ids, cbox_walls_nverts, &attribs, 1, data), RES_OK);
- CHECK(s3d_scene_attach_shape(scn, shapes[0]), RES_OK);
-
- CHECK(s3d_scene_view_create(scn, S3D_TRACE, &scnview), RES_OK);
- CHECK(s3d_scene_view_compute_area(scnview, &area), RES_OK);
- CHECK(eq_epsf(area, 1532296.f, 1.e-6f), 1);
- CHECK(s3d_scene_view_primitives_count(scnview, &nprims), RES_OK);
- CHECK(nprims, 10);
- CHECK(s3d_scene_view_get_aabb(scnview, lower, upper), RES_OK);
- CHECK(eq_epsf(lower[0], 0.f, 1.e-6f), 1);
- CHECK(eq_epsf(lower[1], 0.f, 1.e-6f), 1);
- CHECK(eq_epsf(lower[2], 0.f, 1.e-6f), 1);
- CHECK(eq_epsf(upper[0], 552.f, 1.e-6f), 1);
- CHECK(eq_epsf(upper[1], 559.f, 1.e-6f), 1);
- CHECK(eq_epsf(upper[2], 548.f, 1.e-6f), 1);
-
- CHECK(s3d_scene_instantiate(scn, shapes + 1), RES_OK);
- CHECK(s3d_scene_attach_shape(scn2, shapes[1]), RES_OK);
-
- CHECK(s3d_scene_view_create(scn2, S3D_GET_PRIMITIVE, &scnview2), RES_OK);
- CHECK(s3d_scene_view_compute_area(scnview2, &area), RES_OK);
- CHECK(eq_epsf(area, 1532296.f, 1.e-6f), 1);
- CHECK(s3d_scene_view_primitives_count(scnview2, &nprims), RES_OK);
- CHECK(nprims, 10);
- CHECK(s3d_scene_view_get_aabb(scnview2, lower, upper), RES_OK);
- CHECK(eq_epsf(lower[0], 0.f, 1.e-6f), 1);
- CHECK(eq_epsf(lower[1], 0.f, 1.e-6f), 1);
- CHECK(eq_epsf(lower[2], 0.f, 1.e-6f), 1);
- CHECK(eq_epsf(upper[0], 552.f, 1.e-6f), 1);
- CHECK(eq_epsf(upper[1], 559.f, 1.e-6f), 1);
- CHECK(eq_epsf(upper[2], 548.f, 1.e-6f), 1);
-
- CHECK(s3d_scene_view_compute_area(scnview, &area), RES_OK);
- CHECK(eq_epsf(area, 1532296.f, 1.e-6f), 1);
- CHECK(s3d_scene_view_ref_put(scnview), RES_OK);
-
- CHECK(s3d_scene_view_get_primitive(NULL, 11, NULL), RES_BAD_ARG);
- CHECK(s3d_scene_view_get_primitive(scnview2, 11, NULL), RES_BAD_ARG);
- CHECK(s3d_scene_view_get_primitive(NULL, 0, NULL), RES_BAD_ARG);
- CHECK(s3d_scene_view_get_primitive(scnview2, 0, NULL), RES_BAD_ARG);
- CHECK(s3d_scene_view_get_primitive(NULL, 11, prims + 0), RES_BAD_ARG);
- CHECK(s3d_scene_view_get_primitive(scnview2, 11, prims + 0), RES_BAD_ARG);
- CHECK(s3d_scene_view_get_primitive(NULL, 0, prims + 0), RES_BAD_ARG);
+ CHK(s3d_shape_create_mesh(dev, shapes + 0) == RES_OK);
+ CHK(s3d_mesh_setup_indexed_vertices(shapes[0], cbox_walls_ntris,
+ cbox_get_ids, cbox_walls_nverts, &attribs, 1, data) == RES_OK);
+ CHK(s3d_scene_attach_shape(scn, shapes[0]) == RES_OK);
+
+ CHK(s3d_scene_view_create(scn, S3D_TRACE, &scnview) == RES_OK);
+ CHK(s3d_scene_view_compute_area(scnview, &area) == RES_OK);
+ CHK(eq_epsf(area, 1532296.f, 1.e-6f) == 1);
+ CHK(s3d_scene_view_primitives_count(scnview, &nprims) == RES_OK);
+ CHK(nprims == 10);
+ CHK(s3d_scene_view_get_aabb(scnview, lower, upper) == RES_OK);
+ CHK(eq_epsf(lower[0], 0.f, 1.e-6f) == 1);
+ CHK(eq_epsf(lower[1], 0.f, 1.e-6f) == 1);
+ CHK(eq_epsf(lower[2], 0.f, 1.e-6f) == 1);
+ CHK(eq_epsf(upper[0], 552.f, 1.e-6f) == 1);
+ CHK(eq_epsf(upper[1], 559.f, 1.e-6f) == 1);
+ CHK(eq_epsf(upper[2], 548.f, 1.e-6f) == 1);
+
+ CHK(s3d_scene_instantiate(scn, shapes + 1) == RES_OK);
+ CHK(s3d_scene_attach_shape(scn2, shapes[1]) == RES_OK);
+
+ CHK(s3d_scene_view_create(scn2, S3D_GET_PRIMITIVE, &scnview2) == RES_OK);
+ CHK(s3d_scene_view_compute_area(scnview2, &area) == RES_OK);
+ CHK(eq_epsf(area, 1532296.f, 1.e-6f) == 1);
+ CHK(s3d_scene_view_primitives_count(scnview2, &nprims) == RES_OK);
+ CHK(nprims == 10);
+ CHK(s3d_scene_view_get_aabb(scnview2, lower, upper) == RES_OK);
+ CHK(eq_epsf(lower[0], 0.f, 1.e-6f) == 1);
+ CHK(eq_epsf(lower[1], 0.f, 1.e-6f) == 1);
+ CHK(eq_epsf(lower[2], 0.f, 1.e-6f) == 1);
+ CHK(eq_epsf(upper[0], 552.f, 1.e-6f) == 1);
+ CHK(eq_epsf(upper[1], 559.f, 1.e-6f) == 1);
+ CHK(eq_epsf(upper[2], 548.f, 1.e-6f) == 1);
+
+ CHK(s3d_scene_view_compute_area(scnview, &area) == RES_OK);
+ CHK(eq_epsf(area, 1532296.f, 1.e-6f) == 1);
+ CHK(s3d_scene_view_ref_put(scnview) == RES_OK);
+
+ CHK(s3d_scene_view_get_primitive(NULL, 11, NULL) == RES_BAD_ARG);
+ CHK(s3d_scene_view_get_primitive(scnview2, 11, NULL) == RES_BAD_ARG);
+ CHK(s3d_scene_view_get_primitive(NULL, 0, NULL) == RES_BAD_ARG);
+ CHK(s3d_scene_view_get_primitive(scnview2, 0, NULL) == RES_BAD_ARG);
+ CHK(s3d_scene_view_get_primitive(NULL, 11, prims + 0) == RES_BAD_ARG);
+ CHK(s3d_scene_view_get_primitive(scnview2, 11, prims + 0) == RES_BAD_ARG);
+ CHK(s3d_scene_view_get_primitive(NULL, 0, prims + 0) == RES_BAD_ARG);
FOR_EACH(i, 0, nprims) {
size_t j;
- CHECK(s3d_scene_view_get_primitive(scnview2, (unsigned)i, prims + i), RES_OK);
- CHECK(S3D_PRIMITIVE_EQ(prims + i, &S3D_PRIMITIVE_NULL), 0);
- CHECK(prims[i].scene_prim_id, i);
+ CHK(s3d_scene_view_get_primitive(scnview2, (unsigned)i, prims + i) == RES_OK);
+ CHK(S3D_PRIMITIVE_EQ(prims + i, &S3D_PRIMITIVE_NULL) == 0);
+ CHK(prims[i].scene_prim_id == i);
FOR_EACH(j, 0, i)
- CHECK(S3D_PRIMITIVE_EQ(prims + i, prims + j), 0);
+ CHK(S3D_PRIMITIVE_EQ(prims + i, prims + j) == 0);
}
- CHECK(s3d_scene_view_ref_put(scnview2), RES_OK);
+ CHK(s3d_scene_view_ref_put(scnview2) == RES_OK);
attribs.type = S3D_FLOAT3;
attribs.usage = S3D_POSITION;
attribs.get = cube_get_pos;
- CHECK(s3d_mesh_setup_indexed_vertices
- (shapes[0], cube_ntris, cube_get_ids, cube_nverts, &attribs, 1, NULL), RES_OK);
-
- CHECK(s3d_scene_view_create(scn, S3D_TRACE, &scnview), RES_OK);
- CHECK(s3d_scene_view_compute_area(scnview, &area), RES_OK);
- CHECK(eq_epsf(area, 6.f, 1.e-6f), 1);
- CHECK(s3d_scene_view_compute_volume(scnview, &volume), RES_OK);
- CHECK(eq_epsf(volume, 1.f, 1.e-6f), 1);
- CHECK(s3d_scene_view_ref_put(scnview), RES_OK);
-
- CHECK(s3d_shape_flip_surface(shapes[0]), RES_OK);
- CHECK(s3d_scene_view_create(scn, S3D_GET_PRIMITIVE, &scnview), RES_OK);
- CHECK(s3d_scene_view_compute_volume(scnview, &volume), RES_OK);
- CHECK(eq_epsf(volume, -1.f, 1.e-6f), 1);
- CHECK(s3d_scene_view_ref_put(scnview), RES_OK);
-
- CHECK(s3d_scene_get_device(NULL, NULL), RES_BAD_ARG);
- CHECK(s3d_scene_get_device(scn, NULL), RES_BAD_ARG);
- CHECK(s3d_scene_get_device(NULL, &dev2), RES_BAD_ARG);
- CHECK(s3d_scene_get_device(scn, &dev2), RES_OK);
- CHECK(dev2, dev);
- CHECK(s3d_scene_get_device(scn2, &dev2), RES_OK);
- CHECK(dev2, dev);
-
- CHECK(s3d_scene_ref_put(scn), RES_OK);
- CHECK(s3d_scene_ref_put(scn2), RES_OK);
- CHECK(s3d_shape_ref_put(shapes[0]), RES_OK);
- CHECK(s3d_shape_ref_put(shapes[1]), RES_OK);
-
- CHECK(s3d_device_ref_put(dev), RES_OK);;
+ CHK(s3d_mesh_setup_indexed_vertices
+ (shapes[0], cube_ntris, cube_get_ids, cube_nverts, &attribs, 1, NULL) == RES_OK);
+
+ CHK(s3d_scene_view_create(scn, S3D_TRACE, &scnview) == RES_OK);
+ CHK(s3d_scene_view_compute_area(scnview, &area) == RES_OK);
+ CHK(eq_epsf(area, 6.f, 1.e-6f) == 1);
+ CHK(s3d_scene_view_compute_volume(scnview, &volume) == RES_OK);
+ CHK(eq_epsf(volume, 1.f, 1.e-6f) == 1);
+ CHK(s3d_scene_view_ref_put(scnview) == RES_OK);
+
+ CHK(s3d_shape_flip_surface(shapes[0]) == RES_OK);
+ CHK(s3d_scene_view_create(scn, S3D_GET_PRIMITIVE, &scnview) == RES_OK);
+ CHK(s3d_scene_view_compute_volume(scnview, &volume) == RES_OK);
+ CHK(eq_epsf(volume, -1.f, 1.e-6f) == 1);
+ CHK(s3d_scene_view_ref_put(scnview) == RES_OK);
+
+ CHK(s3d_scene_get_device(NULL, NULL) == RES_BAD_ARG);
+ CHK(s3d_scene_get_device(scn, NULL) == RES_BAD_ARG);
+ CHK(s3d_scene_get_device(NULL, &dev2) == RES_BAD_ARG);
+ CHK(s3d_scene_get_device(scn, &dev2) == RES_OK);
+ CHK(dev2 == dev);
+ CHK(s3d_scene_get_device(scn2, &dev2) == RES_OK);
+ CHK(dev2 == dev);
+
+ CHK(s3d_scene_ref_put(scn) == RES_OK);
+ CHK(s3d_scene_ref_put(scn2) == RES_OK);
+ CHK(s3d_shape_ref_put(shapes[0]) == RES_OK);
+ CHK(s3d_shape_ref_put(shapes[1]) == RES_OK);
+
+ CHK(s3d_device_ref_put(dev) == RES_OK);;
check_memory_allocator(&allocator);
mem_shutdown_proxy_allocator(&allocator);
- CHECK(mem_allocated_size(), 0);
+ CHK(mem_allocated_size() == 0);
return 0;
}
diff --git a/src/test_s3d_scene_view.c b/src/test_s3d_scene_view.c
@@ -52,7 +52,7 @@ filter
void* filter_data)
{
(void)org, (void)dir, (void)ray_data, (void)filter_data;
- CHECK(S3D_HIT_NONE(hit), 0);
+ CHK(S3D_HIT_NONE(hit) == 0);
return hit->prim.prim_id % 2 == 0;
}
@@ -112,8 +112,8 @@ get_ids(const unsigned itri, unsigned ids[3], void* data)
{
const unsigned id = itri * 3;
const struct mesh_context* ctx = data;
- NCHECK(ctx, NULL);
- NCHECK(ids, NULL);
+ CHK(ctx != NULL);
+ CHK(ids != NULL);
ids[0] = ctx->ids[id + 0];
ids[1] = ctx->ids[id + 1];
ids[2] = ctx->ids[id + 2];
@@ -124,8 +124,8 @@ get_pos(const unsigned ivert, float pos[3], void* data)
{
const unsigned i = ivert*3;
const struct mesh_context* ctx = data;
- NCHECK(ctx, NULL);
- NCHECK(pos, NULL);
+ CHK(ctx != NULL);
+ CHK(pos != NULL);
pos[0] = ctx->verts[i + 0];
pos[1] = ctx->verts[i + 1];
pos[2] = ctx->verts[i + 2];
@@ -141,44 +141,44 @@ test_miscellaneous
struct s3d_scene_view* scnview;
int mask;
- CHECK(s3d_scene_create(dev, &scn), RES_OK);
- CHECK(s3d_scene_attach_shape(scn, cube), RES_OK);
- CHECK(s3d_scene_attach_shape(scn, plane), RES_OK);
-
- CHECK(s3d_scene_view_create(NULL, 0, NULL), RES_BAD_ARG);
- CHECK(s3d_scene_view_create(scn, 0, NULL), RES_BAD_ARG);
- CHECK(s3d_scene_view_create(NULL, S3D_SAMPLE, NULL), RES_BAD_ARG);
- CHECK(s3d_scene_view_create(scn, S3D_SAMPLE, NULL), RES_BAD_ARG);
- CHECK(s3d_scene_view_create(NULL, 0, &scnview), RES_BAD_ARG);
- CHECK(s3d_scene_view_create(scn, 0, &scnview), RES_BAD_ARG);
- CHECK(s3d_scene_view_create(NULL, S3D_SAMPLE, &scnview), RES_BAD_ARG);
- CHECK(s3d_scene_view_create(scn, S3D_SAMPLE, &scnview), RES_OK);
-
- CHECK(s3d_scene_view_get_mask(NULL, NULL), RES_BAD_ARG);
- CHECK(s3d_scene_view_get_mask(scnview, NULL), RES_BAD_ARG);
- CHECK(s3d_scene_view_get_mask(NULL, &mask), RES_BAD_ARG);
- CHECK(s3d_scene_view_get_mask(scnview, &mask), RES_OK);
- CHECK(mask, S3D_SAMPLE);
-
- CHECK(s3d_scene_view_ref_get(NULL), RES_BAD_ARG);
- CHECK(s3d_scene_view_ref_get(scnview), RES_OK);
- CHECK(s3d_scene_view_ref_put(NULL), RES_BAD_ARG);
- CHECK(s3d_scene_view_ref_put(scnview), RES_OK);
- CHECK(s3d_scene_view_ref_put(scnview), RES_OK);
-
- CHECK(s3d_scene_view_create(scn, S3D_TRACE|S3D_GET_PRIMITIVE, &scnview), RES_OK);
- CHECK(s3d_scene_view_get_mask(scnview, &mask), RES_OK);
- CHECK(mask & S3D_TRACE, S3D_TRACE);
- CHECK(mask & S3D_GET_PRIMITIVE, S3D_GET_PRIMITIVE);
- CHECK(s3d_scene_view_ref_put(scnview), RES_OK);
-
- CHECK(s3d_scene_view_create(scn, S3D_SAMPLE|S3D_GET_PRIMITIVE, &scnview), RES_OK);
- CHECK(s3d_scene_view_get_mask(scnview, &mask), RES_OK);
- CHECK(mask & S3D_SAMPLE, S3D_SAMPLE);
- CHECK(mask & S3D_GET_PRIMITIVE, S3D_GET_PRIMITIVE);
- CHECK(s3d_scene_view_ref_put(scnview), RES_OK);
-
- CHECK(s3d_scene_ref_put(scn), RES_OK);
+ CHK(s3d_scene_create(dev, &scn) == RES_OK);
+ CHK(s3d_scene_attach_shape(scn, cube) == RES_OK);
+ CHK(s3d_scene_attach_shape(scn, plane) == RES_OK);
+
+ CHK(s3d_scene_view_create(NULL, 0, NULL) == RES_BAD_ARG);
+ CHK(s3d_scene_view_create(scn, 0, NULL) == RES_BAD_ARG);
+ CHK(s3d_scene_view_create(NULL, S3D_SAMPLE, NULL) == RES_BAD_ARG);
+ CHK(s3d_scene_view_create(scn, S3D_SAMPLE, NULL) == RES_BAD_ARG);
+ CHK(s3d_scene_view_create(NULL, 0, &scnview) == RES_BAD_ARG);
+ CHK(s3d_scene_view_create(scn, 0, &scnview) == RES_BAD_ARG);
+ CHK(s3d_scene_view_create(NULL, S3D_SAMPLE, &scnview) == RES_BAD_ARG);
+ CHK(s3d_scene_view_create(scn, S3D_SAMPLE, &scnview) == RES_OK);
+
+ CHK(s3d_scene_view_get_mask(NULL, NULL) == RES_BAD_ARG);
+ CHK(s3d_scene_view_get_mask(scnview, NULL) == RES_BAD_ARG);
+ CHK(s3d_scene_view_get_mask(NULL, &mask) == RES_BAD_ARG);
+ CHK(s3d_scene_view_get_mask(scnview, &mask) == RES_OK);
+ CHK(mask == S3D_SAMPLE);
+
+ CHK(s3d_scene_view_ref_get(NULL) == RES_BAD_ARG);
+ CHK(s3d_scene_view_ref_get(scnview) == RES_OK);
+ CHK(s3d_scene_view_ref_put(NULL) == RES_BAD_ARG);
+ CHK(s3d_scene_view_ref_put(scnview) == RES_OK);
+ CHK(s3d_scene_view_ref_put(scnview) == RES_OK);
+
+ CHK(s3d_scene_view_create(scn, S3D_TRACE|S3D_GET_PRIMITIVE, &scnview) == RES_OK);
+ CHK(s3d_scene_view_get_mask(scnview, &mask) == RES_OK);
+ CHK((mask & S3D_TRACE) == S3D_TRACE);
+ CHK((mask & S3D_GET_PRIMITIVE) == S3D_GET_PRIMITIVE);
+ CHK(s3d_scene_view_ref_put(scnview) == RES_OK);
+
+ CHK(s3d_scene_view_create(scn, S3D_SAMPLE|S3D_GET_PRIMITIVE, &scnview) == RES_OK);
+ CHK(s3d_scene_view_get_mask(scnview, &mask) == RES_OK);
+ CHK((mask & S3D_SAMPLE) == S3D_SAMPLE);
+ CHK((mask & S3D_GET_PRIMITIVE) == S3D_GET_PRIMITIVE);
+ CHK(s3d_scene_view_ref_put(scnview) == RES_OK);
+
+ CHK(s3d_scene_ref_put(scn) == RES_OK);
}
static void
@@ -202,284 +202,284 @@ test_trace_ray
unsigned iinst0;
unsigned iinst1;
- CHECK(s3d_shape_get_id(cube, &icube), RES_OK);
- CHECK(s3d_shape_get_id(plane, &iplane), RES_OK);
+ CHK(s3d_shape_get_id(cube, &icube) == RES_OK);
+ CHK(s3d_shape_get_id(plane, &iplane) == RES_OK);
- CHECK(s3d_scene_create(dev, &scn), RES_OK);
- CHECK(s3d_scene_create(dev, &scn2), RES_OK);
- CHECK(s3d_scene_create(dev, &scn3), RES_OK);
- CHECK(s3d_scene_attach_shape(scn, plane), RES_OK);
- CHECK(s3d_scene_attach_shape(scn, cube), RES_OK);
- CHECK(s3d_scene_attach_shape(scn2, cube), RES_OK);
- CHECK(s3d_scene_attach_shape(scn2, plane), RES_OK);
+ CHK(s3d_scene_create(dev, &scn) == RES_OK);
+ CHK(s3d_scene_create(dev, &scn2) == RES_OK);
+ CHK(s3d_scene_create(dev, &scn3) == RES_OK);
+ CHK(s3d_scene_attach_shape(scn, plane) == RES_OK);
+ CHK(s3d_scene_attach_shape(scn, cube) == RES_OK);
+ CHK(s3d_scene_attach_shape(scn2, cube) == RES_OK);
+ CHK(s3d_scene_attach_shape(scn2, plane) == RES_OK);
- CHECK(s3d_scene_view_create(scn, S3D_SAMPLE|S3D_GET_PRIMITIVE, &scnview), RES_OK);
+ CHK(s3d_scene_view_create(scn, S3D_SAMPLE|S3D_GET_PRIMITIVE, &scnview) == RES_OK);
f3(org, 0.5f, 0.25f, 0.25f);
f3(dir, 0.f, 0.f, 1.f);
f2(range, 0.f, FLT_MAX);
- CHECK(s3d_scene_view_trace_ray(scnview, org, dir, range, NULL, &hit), RES_BAD_OP);
+ CHK(s3d_scene_view_trace_ray(scnview, org, dir, range, NULL, &hit) == RES_BAD_OP);
- CHECK(s3d_scene_view_create(scn, S3D_TRACE, &scnview2), RES_OK);
- CHECK(s3d_scene_view_trace_ray(scnview2, org, dir, range, NULL, &hit), RES_OK);
- CHECK(S3D_HIT_NONE(&hit), 0);
- CHECK(hit.prim.inst_id, S3D_INVALID_ID);
- CHECK(hit.prim.geom_id, iplane);
- CHECK(hit.prim.prim_id, 0);
+ CHK(s3d_scene_view_create(scn, S3D_TRACE, &scnview2) == RES_OK);
+ CHK(s3d_scene_view_trace_ray(scnview2, org, dir, range, NULL, &hit) == RES_OK);
+ CHK(S3D_HIT_NONE(&hit) == 0);
+ CHK(hit.prim.inst_id == S3D_INVALID_ID);
+ CHK(hit.prim.geom_id == iplane);
+ CHK(hit.prim.prim_id == 0);
f3(dir, 0.f, 0.f, -1.f);
- CHECK(s3d_scene_view_trace_ray(scnview2, org, dir, range, NULL, &hit), RES_OK);
- CHECK(S3D_HIT_NONE(&hit), 0);
- CHECK(hit.prim.inst_id, S3D_INVALID_ID);
- CHECK(hit.prim.geom_id, icube);
- CHECK(hit.prim.prim_id, 0);
+ CHK(s3d_scene_view_trace_ray(scnview2, org, dir, range, NULL, &hit) == RES_OK);
+ CHK(S3D_HIT_NONE(&hit) == 0);
+ CHK(hit.prim.inst_id == S3D_INVALID_ID);
+ CHK(hit.prim.geom_id == icube);
+ CHK(hit.prim.prim_id == 0);
f3(dir, 0.f, 0.f, 1.f);
- CHECK(s3d_shape_enable(plane, 0), RES_OK);
- CHECK(s3d_scene_view_ref_put(scnview), RES_OK);
- CHECK(s3d_scene_view_create(scn, S3D_TRACE, &scnview), RES_OK);
-
- CHECK(s3d_scene_view_trace_ray(scnview2, org, dir, range, NULL, &hit), RES_OK);
- CHECK(S3D_HIT_NONE(&hit), 0);
- CHECK(hit.prim.inst_id, S3D_INVALID_ID);
- CHECK(hit.prim.geom_id, iplane);
- CHECK(hit.prim.prim_id, 0);
-
- CHECK(s3d_scene_view_trace_ray(scnview, org, dir, range, NULL, &hit), RES_OK);
- CHECK(S3D_HIT_NONE(&hit), 0);
- CHECK(hit.prim.inst_id, S3D_INVALID_ID);
- CHECK(hit.prim.geom_id, icube);
- CHECK(hit.prim.prim_id, 4);
-
- CHECK(s3d_scene_view_ref_put(scnview), RES_OK);
- CHECK(s3d_scene_view_ref_put(scnview2), RES_OK);
- CHECK(s3d_shape_enable(plane, 1), RES_OK);
-
- CHECK(s3d_scene_view_create(scn, S3D_TRACE, &scnview), RES_OK);
- CHECK(s3d_scene_view_create(scn2, S3D_TRACE, &scnview2), RES_OK);
-
- CHECK(s3d_scene_view_trace_ray(scnview, org, dir, range, NULL, &hit), RES_OK);
- CHECK(s3d_scene_view_trace_ray(scnview2, org, dir, range, NULL, &hit2), RES_OK);
- CHECK(f3_eq(hit.normal, hit2.normal), 1);
- CHECK(f2_eq(hit.uv, hit2.uv), 1);
- CHECK(hit.distance, hit2.distance);
- CHECK(S3D_PRIMITIVE_EQ(&hit.prim, &hit2.prim), 1);
- CHECK(hit.prim.inst_id, S3D_INVALID_ID);
- CHECK(hit.prim.geom_id, iplane);
- CHECK(hit.prim.prim_id, 0);
-
- CHECK(s3d_scene_detach_shape(scn2, plane), RES_OK);
- CHECK(s3d_scene_view_trace_ray(scnview2, org, dir, range, NULL, &hit2), RES_OK);
- CHECK(f3_eq(hit.normal, hit2.normal), 1);
- CHECK(f2_eq(hit.uv, hit2.uv), 1);
- CHECK(hit.distance, hit2.distance);
- CHECK(S3D_PRIMITIVE_EQ(&hit.prim, &hit2.prim), 1);
-
- CHECK(s3d_scene_view_ref_put(scnview), RES_OK);
- CHECK(s3d_scene_view_ref_put(scnview2), RES_OK);
-
- CHECK(s3d_scene_view_create(scn, S3D_TRACE, &scnview), RES_OK);
- CHECK(s3d_scene_view_create(scn2, S3D_TRACE, &scnview2), RES_OK);
-
- CHECK(s3d_scene_view_trace_ray(scnview, org, dir, range, NULL, &hit), RES_OK);
- CHECK(f3_eq(hit.normal, hit2.normal), 1);
- CHECK(f2_eq(hit.uv, hit2.uv), 1);
- CHECK(hit.distance, hit2.distance);
- CHECK(S3D_PRIMITIVE_EQ(&hit.prim, &hit2.prim), 1);
- CHECK(hit.prim.inst_id, S3D_INVALID_ID);
- CHECK(hit.prim.geom_id, iplane);
- CHECK(hit.prim.prim_id, 0);
-
- CHECK(s3d_scene_view_trace_ray(scnview2, org, dir, range, NULL, &hit2), RES_OK);
- CHECK(hit2.prim.inst_id, S3D_INVALID_ID);
- CHECK(hit2.prim.geom_id, icube);
- CHECK(hit2.prim.prim_id, 4);
-
- CHECK(s3d_scene_view_ref_put(scnview), RES_OK);
- CHECK(s3d_scene_view_ref_put(scnview2), RES_OK);
-
- CHECK(s3d_scene_instantiate(scn2, &inst0), RES_OK);
- CHECK(s3d_scene_instantiate(scn2, &inst1), RES_OK);
- CHECK(s3d_shape_get_id(inst0, &iinst0), RES_OK);
- CHECK(s3d_shape_get_id(inst1, &iinst1), RES_OK);
- CHECK(s3d_instance_translate
- (inst0, S3D_WORLD_TRANSFORM, f3(org,-2.f, 0.f, 0.f)), RES_OK);
- CHECK(s3d_instance_translate
- (inst1, S3D_WORLD_TRANSFORM, f3(org, 2.f, 0.f, 0.f)), RES_OK);
-
- CHECK(s3d_scene_attach_shape(scn3, inst0), RES_OK);
- CHECK(s3d_scene_attach_shape(scn3, inst1), RES_OK);
- CHECK(s3d_scene_attach_shape(scn, inst0), RES_OK);
- CHECK(s3d_scene_attach_shape(scn, inst1), RES_OK);
-
- CHECK(s3d_scene_view_create(scn, S3D_TRACE, &scnview), RES_OK);
- CHECK(s3d_scene_view_create(scn3, S3D_TRACE, &scnview3), RES_OK);
+ CHK(s3d_shape_enable(plane, 0) == RES_OK);
+ CHK(s3d_scene_view_ref_put(scnview) == RES_OK);
+ CHK(s3d_scene_view_create(scn, S3D_TRACE, &scnview) == RES_OK);
+
+ CHK(s3d_scene_view_trace_ray(scnview2, org, dir, range, NULL, &hit) == RES_OK);
+ CHK(S3D_HIT_NONE(&hit) == 0);
+ CHK(hit.prim.inst_id == S3D_INVALID_ID);
+ CHK(hit.prim.geom_id == iplane);
+ CHK(hit.prim.prim_id == 0);
+
+ CHK(s3d_scene_view_trace_ray(scnview, org, dir, range, NULL, &hit) == RES_OK);
+ CHK(S3D_HIT_NONE(&hit) == 0);
+ CHK(hit.prim.inst_id == S3D_INVALID_ID);
+ CHK(hit.prim.geom_id == icube);
+ CHK(hit.prim.prim_id == 4);
+
+ CHK(s3d_scene_view_ref_put(scnview) == RES_OK);
+ CHK(s3d_scene_view_ref_put(scnview2) == RES_OK);
+ CHK(s3d_shape_enable(plane, 1) == RES_OK);
+
+ CHK(s3d_scene_view_create(scn, S3D_TRACE, &scnview) == RES_OK);
+ CHK(s3d_scene_view_create(scn2, S3D_TRACE, &scnview2) == RES_OK);
+
+ CHK(s3d_scene_view_trace_ray(scnview, org, dir, range, NULL, &hit) == RES_OK);
+ CHK(s3d_scene_view_trace_ray(scnview2, org, dir, range, NULL, &hit2) == RES_OK);
+ CHK(f3_eq(hit.normal, hit2.normal) == 1);
+ CHK(f2_eq(hit.uv, hit2.uv) == 1);
+ CHK(hit.distance == hit2.distance);
+ CHK(S3D_PRIMITIVE_EQ(&hit.prim, &hit2.prim) == 1);
+ CHK(hit.prim.inst_id == S3D_INVALID_ID);
+ CHK(hit.prim.geom_id == iplane);
+ CHK(hit.prim.prim_id == 0);
+
+ CHK(s3d_scene_detach_shape(scn2, plane) == RES_OK);
+ CHK(s3d_scene_view_trace_ray(scnview2, org, dir, range, NULL, &hit2) == RES_OK);
+ CHK(f3_eq(hit.normal, hit2.normal) == 1);
+ CHK(f2_eq(hit.uv, hit2.uv) == 1);
+ CHK(hit.distance == hit2.distance);
+ CHK(S3D_PRIMITIVE_EQ(&hit.prim, &hit2.prim) == 1);
+
+ CHK(s3d_scene_view_ref_put(scnview) == RES_OK);
+ CHK(s3d_scene_view_ref_put(scnview2) == RES_OK);
+
+ CHK(s3d_scene_view_create(scn, S3D_TRACE, &scnview) == RES_OK);
+ CHK(s3d_scene_view_create(scn2, S3D_TRACE, &scnview2) == RES_OK);
+
+ CHK(s3d_scene_view_trace_ray(scnview, org, dir, range, NULL, &hit) == RES_OK);
+ CHK(f3_eq(hit.normal, hit2.normal) == 1);
+ CHK(f2_eq(hit.uv, hit2.uv) == 1);
+ CHK(hit.distance == hit2.distance);
+ CHK(S3D_PRIMITIVE_EQ(&hit.prim, &hit2.prim) == 1);
+ CHK(hit.prim.inst_id == S3D_INVALID_ID);
+ CHK(hit.prim.geom_id == iplane);
+ CHK(hit.prim.prim_id == 0);
+
+ CHK(s3d_scene_view_trace_ray(scnview2, org, dir, range, NULL, &hit2) == RES_OK);
+ CHK(hit2.prim.inst_id == S3D_INVALID_ID);
+ CHK(hit2.prim.geom_id == icube);
+ CHK(hit2.prim.prim_id == 4);
+
+ CHK(s3d_scene_view_ref_put(scnview) == RES_OK);
+ CHK(s3d_scene_view_ref_put(scnview2) == RES_OK);
+
+ CHK(s3d_scene_instantiate(scn2, &inst0) == RES_OK);
+ CHK(s3d_scene_instantiate(scn2, &inst1) == RES_OK);
+ CHK(s3d_shape_get_id(inst0, &iinst0) == RES_OK);
+ CHK(s3d_shape_get_id(inst1, &iinst1) == RES_OK);
+ CHK(s3d_instance_translate
+ (inst0, S3D_WORLD_TRANSFORM, f3(org,-2.f, 0.f, 0.f)) == RES_OK);
+ CHK(s3d_instance_translate
+ (inst1, S3D_WORLD_TRANSFORM, f3(org, 2.f, 0.f, 0.f)) == RES_OK);
+
+ CHK(s3d_scene_attach_shape(scn3, inst0) == RES_OK);
+ CHK(s3d_scene_attach_shape(scn3, inst1) == RES_OK);
+ CHK(s3d_scene_attach_shape(scn, inst0) == RES_OK);
+ CHK(s3d_scene_attach_shape(scn, inst1) == RES_OK);
+
+ CHK(s3d_scene_view_create(scn, S3D_TRACE, &scnview) == RES_OK);
+ CHK(s3d_scene_view_create(scn3, S3D_TRACE, &scnview3) == RES_OK);
f3(org, 0.5f, 0.25f, 0.25f);
f3(dir, 0.f, 0.f, 1.f);
- CHECK(s3d_scene_view_trace_ray(scnview, org, dir, range, NULL, &hit), RES_OK);
- CHECK(hit.prim.inst_id, S3D_INVALID_ID);
- CHECK(hit.prim.geom_id, iplane);
- CHECK(hit.prim.prim_id, 0);
+ CHK(s3d_scene_view_trace_ray(scnview, org, dir, range, NULL, &hit) == RES_OK);
+ CHK(hit.prim.inst_id == S3D_INVALID_ID);
+ CHK(hit.prim.geom_id == iplane);
+ CHK(hit.prim.prim_id == 0);
- CHECK(s3d_scene_view_trace_ray(scnview3, org, dir, range, NULL, &hit), RES_OK);
- CHECK(S3D_HIT_NONE(&hit), 1);
+ CHK(s3d_scene_view_trace_ray(scnview3, org, dir, range, NULL, &hit) == RES_OK);
+ CHK(S3D_HIT_NONE(&hit) == 1);
f3(org, -1.5f, 0.25f, 0.25f);
- CHECK(s3d_scene_view_trace_ray(scnview, org, dir, range, NULL, &hit), RES_OK);
- CHECK(hit.prim.inst_id, iinst0);
- CHECK(hit.prim.geom_id, icube);
- CHECK(hit.prim.prim_id, 4);
+ CHK(s3d_scene_view_trace_ray(scnview, org, dir, range, NULL, &hit) == RES_OK);
+ CHK(hit.prim.inst_id == iinst0);
+ CHK(hit.prim.geom_id == icube);
+ CHK(hit.prim.prim_id == 4);
- CHECK(s3d_scene_view_trace_ray(scnview3, org, dir, range, NULL, &hit2), RES_OK);
- CHECK(hit2.prim.inst_id, iinst0);
- CHECK(hit2.prim.geom_id, icube);
- CHECK(hit2.prim.prim_id, 4);
+ CHK(s3d_scene_view_trace_ray(scnview3, org, dir, range, NULL, &hit2) == RES_OK);
+ CHK(hit2.prim.inst_id == iinst0);
+ CHK(hit2.prim.geom_id == icube);
+ CHK(hit2.prim.prim_id == 4);
- CHECK(f3_eq(hit.normal, hit2.normal), 1);
- CHECK(f2_eq(hit.uv, hit2.uv), 1);
- CHECK(hit.distance, hit2.distance);
+ CHK(f3_eq(hit.normal, hit2.normal) == 1);
+ CHK(f2_eq(hit.uv, hit2.uv) == 1);
+ CHK(hit.distance == hit2.distance);
- CHECK(s3d_scene_clear(scn2), RES_OK);
+ CHK(s3d_scene_clear(scn2) == RES_OK);
f3(org, 2.5f, 0.25f, 0.25f);
- CHECK(s3d_scene_view_trace_ray(scnview, org, dir, range, NULL, &hit), RES_OK);
- CHECK(hit.prim.inst_id, iinst1);
- CHECK(hit.prim.geom_id, icube);
- CHECK(hit.prim.prim_id, 4);
+ CHK(s3d_scene_view_trace_ray(scnview, org, dir, range, NULL, &hit) == RES_OK);
+ CHK(hit.prim.inst_id == iinst1);
+ CHK(hit.prim.geom_id == icube);
+ CHK(hit.prim.prim_id == 4);
- CHECK(s3d_scene_view_trace_ray(scnview3, org, dir, range, NULL, &hit2), RES_OK);
- CHECK(hit2.prim.inst_id, iinst1);
- CHECK(hit2.prim.geom_id, icube);
- CHECK(hit2.prim.prim_id, 4);
+ CHK(s3d_scene_view_trace_ray(scnview3, org, dir, range, NULL, &hit2) == RES_OK);
+ CHK(hit2.prim.inst_id == iinst1);
+ CHK(hit2.prim.geom_id == icube);
+ CHK(hit2.prim.prim_id == 4);
- CHECK(f3_eq(hit.normal, hit2.normal), 1);
- CHECK(f2_eq(hit.uv, hit2.uv), 1);
- CHECK(hit.distance, hit2.distance);
+ CHK(f3_eq(hit.normal, hit2.normal) == 1);
+ CHK(f2_eq(hit.uv, hit2.uv) == 1);
+ CHK(hit.distance == hit2.distance);
- CHECK(s3d_scene_view_ref_put(scnview), RES_OK);
- CHECK(s3d_scene_view_create(scn, S3D_TRACE, &scnview), RES_OK);
+ CHK(s3d_scene_view_ref_put(scnview) == RES_OK);
+ CHK(s3d_scene_view_create(scn, S3D_TRACE, &scnview) == RES_OK);
f3(org, -1.5f, 0.25f, 0.25f);
- CHECK(s3d_scene_view_trace_ray(scnview, org, dir, range, NULL, &hit), RES_OK);
- CHECK(S3D_HIT_NONE(&hit), 1);
- CHECK(s3d_scene_view_trace_ray(scnview3, org, dir, range, NULL, &hit), RES_OK);
- CHECK(hit.prim.inst_id, iinst0);
- CHECK(hit.prim.geom_id, icube);
- CHECK(hit.prim.prim_id, 4);
+ CHK(s3d_scene_view_trace_ray(scnview, org, dir, range, NULL, &hit) == RES_OK);
+ CHK(S3D_HIT_NONE(&hit) == 1);
+ CHK(s3d_scene_view_trace_ray(scnview3, org, dir, range, NULL, &hit) == RES_OK);
+ CHK(hit.prim.inst_id == iinst0);
+ CHK(hit.prim.geom_id == icube);
+ CHK(hit.prim.prim_id == 4);
f3(org, 2.5f, 0.25f, 0.25f);
- CHECK(s3d_scene_view_trace_ray(scnview, org, dir, range, NULL, &hit), RES_OK);
- CHECK(S3D_HIT_NONE(&hit), 1);
- CHECK(s3d_scene_view_trace_ray(scnview3, org, dir, range, NULL, &hit), RES_OK);
- CHECK(hit.prim.inst_id, iinst1);
- CHECK(hit.prim.geom_id, icube);
- CHECK(hit.prim.prim_id, 4);
+ CHK(s3d_scene_view_trace_ray(scnview, org, dir, range, NULL, &hit) == RES_OK);
+ CHK(S3D_HIT_NONE(&hit) == 1);
+ CHK(s3d_scene_view_trace_ray(scnview3, org, dir, range, NULL, &hit) == RES_OK);
+ CHK(hit.prim.inst_id == iinst1);
+ CHK(hit.prim.geom_id == icube);
+ CHK(hit.prim.prim_id == 4);
f3(org, 0.5f, 0.25f, 0.25f);
- CHECK(s3d_scene_view_trace_ray(scnview, org, dir, range, NULL, &hit), RES_OK);
- CHECK(hit.prim.inst_id, S3D_INVALID_ID);
- CHECK(hit.prim.geom_id, iplane);
- CHECK(hit.prim.prim_id, 0);
- CHECK(s3d_scene_view_trace_ray(scnview3, org, dir, range, NULL, &hit), RES_OK);
- CHECK(S3D_HIT_NONE(&hit), 1);
+ CHK(s3d_scene_view_trace_ray(scnview, org, dir, range, NULL, &hit) == RES_OK);
+ CHK(hit.prim.inst_id == S3D_INVALID_ID);
+ CHK(hit.prim.geom_id == iplane);
+ CHK(hit.prim.prim_id == 0);
+ CHK(s3d_scene_view_trace_ray(scnview3, org, dir, range, NULL, &hit) == RES_OK);
+ CHK(S3D_HIT_NONE(&hit) == 1);
- CHECK(s3d_scene_attach_shape(scn2, plane), RES_OK);
- CHECK(s3d_mesh_set_hit_filter_function(plane, filter, NULL), RES_OK);
+ CHK(s3d_scene_attach_shape(scn2, plane) == RES_OK);
+ CHK(s3d_mesh_set_hit_filter_function(plane, filter, NULL) == RES_OK);
f3(org, 0.5f, 0.25f, 0.25f);
- CHECK(s3d_scene_view_trace_ray(scnview, org, dir, range, NULL, &hit), RES_OK);
- CHECK(hit.prim.inst_id, S3D_INVALID_ID);
- CHECK(hit.prim.geom_id, iplane);
- CHECK(hit.prim.prim_id, 0);
+ CHK(s3d_scene_view_trace_ray(scnview, org, dir, range, NULL, &hit) == RES_OK);
+ CHK(hit.prim.inst_id == S3D_INVALID_ID);
+ CHK(hit.prim.geom_id == iplane);
+ CHK(hit.prim.prim_id == 0);
- CHECK(s3d_scene_view_ref_put(scnview3), RES_OK);
- CHECK(s3d_scene_view_create(scn3, S3D_TRACE, &scnview3), RES_OK);
+ CHK(s3d_scene_view_ref_put(scnview3) == RES_OK);
+ CHK(s3d_scene_view_create(scn3, S3D_TRACE, &scnview3) == RES_OK);
f3(org, -1.5f, 0.25f, 0.25f);
- CHECK(s3d_scene_view_trace_ray(scnview, org, dir, range, NULL, &hit), RES_OK);
- CHECK(S3D_HIT_NONE(&hit), 1);
- CHECK(s3d_scene_view_trace_ray(scnview3, org, dir, range, NULL, &hit), RES_OK);
- CHECK(S3D_HIT_NONE(&hit), 1);
+ CHK(s3d_scene_view_trace_ray(scnview, org, dir, range, NULL, &hit) == RES_OK);
+ CHK(S3D_HIT_NONE(&hit) == 1);
+ CHK(s3d_scene_view_trace_ray(scnview3, org, dir, range, NULL, &hit) == RES_OK);
+ CHK(S3D_HIT_NONE(&hit) == 1);
f3(org, -1.5f, 0.75f, 0.25f);
- CHECK(s3d_scene_view_trace_ray(scnview, org, dir, range, NULL, &hit), RES_OK);
- CHECK(S3D_HIT_NONE(&hit), 1);
- CHECK(s3d_scene_view_trace_ray(scnview3, org, dir, range, NULL, &hit), RES_OK);
- CHECK(hit.prim.inst_id, iinst0);
- CHECK(hit.prim.geom_id, iplane);
- CHECK(hit.prim.prim_id, 1);
+ CHK(s3d_scene_view_trace_ray(scnview, org, dir, range, NULL, &hit) == RES_OK);
+ CHK(S3D_HIT_NONE(&hit) == 1);
+ CHK(s3d_scene_view_trace_ray(scnview3, org, dir, range, NULL, &hit) == RES_OK);
+ CHK(hit.prim.inst_id == iinst0);
+ CHK(hit.prim.geom_id == iplane);
+ CHK(hit.prim.prim_id == 1);
f3(org, 2.5f, 0.25f, 0.25f);
- CHECK(s3d_scene_view_trace_ray(scnview, org, dir, range, NULL, &hit), RES_OK);
- CHECK(S3D_HIT_NONE(&hit), 1);
- CHECK(s3d_scene_view_trace_ray(scnview3, org, dir, range, NULL, &hit), RES_OK);
- CHECK(S3D_HIT_NONE(&hit), 1);
+ CHK(s3d_scene_view_trace_ray(scnview, org, dir, range, NULL, &hit) == RES_OK);
+ CHK(S3D_HIT_NONE(&hit) == 1);
+ CHK(s3d_scene_view_trace_ray(scnview3, org, dir, range, NULL, &hit) == RES_OK);
+ CHK(S3D_HIT_NONE(&hit) == 1);
f3(org, 2.5f, 0.75f, 0.25f);
- CHECK(s3d_scene_view_trace_ray(scnview, org, dir, range, NULL, &hit), RES_OK);
- CHECK(S3D_HIT_NONE(&hit), 1);
- CHECK(s3d_scene_view_trace_ray(scnview3, org, dir, range, NULL, &hit), RES_OK);
- CHECK(hit.prim.inst_id, iinst1);
- CHECK(hit.prim.geom_id, iplane);
- CHECK(hit.prim.prim_id, 1);
+ CHK(s3d_scene_view_trace_ray(scnview, org, dir, range, NULL, &hit) == RES_OK);
+ CHK(S3D_HIT_NONE(&hit) == 1);
+ CHK(s3d_scene_view_trace_ray(scnview3, org, dir, range, NULL, &hit) == RES_OK);
+ CHK(hit.prim.inst_id == iinst1);
+ CHK(hit.prim.geom_id == iplane);
+ CHK(hit.prim.prim_id == 1);
f3(org, 0.5f, 0.25f, 0.25f);
- CHECK(s3d_scene_view_trace_ray(scnview, org, dir, range, NULL, &hit), RES_OK);
- CHECK(hit.prim.inst_id, S3D_INVALID_ID);
- CHECK(hit.prim.geom_id, iplane);
- CHECK(hit.prim.prim_id, 0);
- CHECK(s3d_scene_view_trace_ray(scnview3, org, dir, range, NULL, &hit), RES_OK);
- CHECK(S3D_HIT_NONE(&hit), 1);
+ CHK(s3d_scene_view_trace_ray(scnview, org, dir, range, NULL, &hit) == RES_OK);
+ CHK(hit.prim.inst_id == S3D_INVALID_ID);
+ CHK(hit.prim.geom_id == iplane);
+ CHK(hit.prim.prim_id == 0);
+ CHK(s3d_scene_view_trace_ray(scnview3, org, dir, range, NULL, &hit) == RES_OK);
+ CHK(S3D_HIT_NONE(&hit) == 1);
f3(org, 0.5f, 0.75f, 0.25f);
- CHECK(s3d_scene_view_trace_ray(scnview, org, dir, range, NULL, &hit), RES_OK);
- CHECK(hit.prim.inst_id, S3D_INVALID_ID);
- CHECK(hit.prim.geom_id, iplane);
- CHECK(hit.prim.prim_id, 1);
- CHECK(s3d_scene_view_trace_ray(scnview3, org, dir, range, NULL, &hit), RES_OK);
- CHECK(S3D_HIT_NONE(&hit), 1);
-
- CHECK(s3d_scene_view_ref_put(scnview), RES_OK);
- CHECK(s3d_scene_view_create(scn, S3D_TRACE, &scnview), RES_OK);
+ CHK(s3d_scene_view_trace_ray(scnview, org, dir, range, NULL, &hit) == RES_OK);
+ CHK(hit.prim.inst_id == S3D_INVALID_ID);
+ CHK(hit.prim.geom_id == iplane);
+ CHK(hit.prim.prim_id == 1);
+ CHK(s3d_scene_view_trace_ray(scnview3, org, dir, range, NULL, &hit) == RES_OK);
+ CHK(S3D_HIT_NONE(&hit) == 1);
+
+ CHK(s3d_scene_view_ref_put(scnview) == RES_OK);
+ CHK(s3d_scene_view_create(scn, S3D_TRACE, &scnview) == RES_OK);
f3(org, 0.5f, 0.25f, 0.25f);
- CHECK(s3d_scene_view_trace_ray(scnview, org, dir, range, NULL, &hit), RES_OK);
- CHECK(hit.prim.inst_id, S3D_INVALID_ID);
- CHECK(hit.prim.geom_id, icube);
- CHECK(hit.prim.prim_id, 4);
+ CHK(s3d_scene_view_trace_ray(scnview, org, dir, range, NULL, &hit) == RES_OK);
+ CHK(hit.prim.inst_id == S3D_INVALID_ID);
+ CHK(hit.prim.geom_id == icube);
+ CHK(hit.prim.prim_id == 4);
f3(org, 0.5f, 0.75f, 0.25f);
- CHECK(s3d_scene_view_trace_ray(scnview, org, dir, range, NULL, &hit), RES_OK);
- CHECK(hit.prim.inst_id, S3D_INVALID_ID);
- CHECK(hit.prim.geom_id, iplane);
- CHECK(hit.prim.prim_id, 1);
+ CHK(s3d_scene_view_trace_ray(scnview, org, dir, range, NULL, &hit) == RES_OK);
+ CHK(hit.prim.inst_id == S3D_INVALID_ID);
+ CHK(hit.prim.geom_id == iplane);
+ CHK(hit.prim.prim_id == 1);
f3(org, -1.5f, 0.25f, 0.25f);
- CHECK(s3d_scene_view_trace_ray(scnview, org, dir, range, NULL, &hit), RES_OK);
- CHECK(S3D_HIT_NONE(&hit), 1);
+ CHK(s3d_scene_view_trace_ray(scnview, org, dir, range, NULL, &hit) == RES_OK);
+ CHK(S3D_HIT_NONE(&hit) == 1);
f3(org, -1.5f, 0.75f, 0.25f);
- CHECK(s3d_scene_view_trace_ray(scnview, org, dir, range, NULL, &hit), RES_OK);
- CHECK(hit.prim.inst_id, iinst0);
- CHECK(hit.prim.geom_id, iplane);
- CHECK(hit.prim.prim_id, 1);
+ CHK(s3d_scene_view_trace_ray(scnview, org, dir, range, NULL, &hit) == RES_OK);
+ CHK(hit.prim.inst_id == iinst0);
+ CHK(hit.prim.geom_id == iplane);
+ CHK(hit.prim.prim_id == 1);
f3(org, 2.5f, 0.25f, 0.25f);
- CHECK(s3d_scene_view_trace_ray(scnview, org, dir, range, NULL, &hit), RES_OK);
- CHECK(S3D_HIT_NONE(&hit), 1);
+ CHK(s3d_scene_view_trace_ray(scnview, org, dir, range, NULL, &hit) == RES_OK);
+ CHK(S3D_HIT_NONE(&hit) == 1);
f3(org, 2.5f, 0.75f, 0.25f);
- CHECK(s3d_scene_view_trace_ray(scnview, org, dir, range, NULL, &hit), RES_OK);
- CHECK(hit.prim.inst_id, iinst1);
- CHECK(hit.prim.geom_id, iplane);
- CHECK(hit.prim.prim_id, 1);
-
- CHECK(s3d_scene_view_ref_put(scnview), RES_OK);
- CHECK(s3d_scene_view_ref_put(scnview3), RES_OK);
-
- CHECK(s3d_shape_ref_put(inst0), RES_OK);
- CHECK(s3d_shape_ref_put(inst1), RES_OK);
- CHECK(s3d_scene_ref_put(scn), RES_OK);
- CHECK(s3d_scene_ref_put(scn2), RES_OK);
- CHECK(s3d_scene_ref_put(scn3), RES_OK);
+ CHK(s3d_scene_view_trace_ray(scnview, org, dir, range, NULL, &hit) == RES_OK);
+ CHK(hit.prim.inst_id == iinst1);
+ CHK(hit.prim.geom_id == iplane);
+ CHK(hit.prim.prim_id == 1);
+
+ CHK(s3d_scene_view_ref_put(scnview) == RES_OK);
+ CHK(s3d_scene_view_ref_put(scnview3) == RES_OK);
+
+ CHK(s3d_shape_ref_put(inst0) == RES_OK);
+ CHK(s3d_shape_ref_put(inst1) == RES_OK);
+ CHK(s3d_scene_ref_put(scn) == RES_OK);
+ CHK(s3d_scene_ref_put(scn2) == RES_OK);
+ CHK(s3d_scene_ref_put(scn3) == RES_OK);
}
static void
@@ -509,82 +509,82 @@ test_sample
int nsamps_inst1;
int i;
- CHECK(s3d_scene_create(dev, &scn), RES_OK);
- CHECK(s3d_scene_create(dev, &scn2), RES_OK);
- CHECK(s3d_scene_create(dev, &scn3), RES_OK);
- CHECK(s3d_scene_attach_shape(scn, cube), RES_OK);
- CHECK(s3d_scene_attach_shape(scn, plane), RES_OK);
- CHECK(s3d_shape_get_id(cube, &icube), RES_OK);
- CHECK(s3d_shape_get_id(plane, &iplane), RES_OK);
+ CHK(s3d_scene_create(dev, &scn) == RES_OK);
+ CHK(s3d_scene_create(dev, &scn2) == RES_OK);
+ CHK(s3d_scene_create(dev, &scn3) == RES_OK);
+ CHK(s3d_scene_attach_shape(scn, cube) == RES_OK);
+ CHK(s3d_scene_attach_shape(scn, plane) == RES_OK);
+ CHK(s3d_shape_get_id(cube, &icube) == RES_OK);
+ CHK(s3d_shape_get_id(plane, &iplane) == RES_OK);
- CHECK(s3d_scene_view_create(scn, S3D_TRACE, &scnview), RES_OK);
- CHECK(s3d_scene_view_sample(scnview, 0.f, 0.f, 0.f, &prims[0], st), RES_BAD_OP);
- CHECK(s3d_scene_view_ref_put(scnview), RES_OK);
+ CHK(s3d_scene_view_create(scn, S3D_TRACE, &scnview) == RES_OK);
+ CHK(s3d_scene_view_sample(scnview, 0.f, 0.f, 0.f, &prims[0], st) == RES_BAD_OP);
+ CHK(s3d_scene_view_ref_put(scnview) == RES_OK);
- CHECK(s3d_scene_view_create(scn, S3D_SAMPLE, &scnview), RES_OK);
- CHECK(s3d_scene_view_sample(scnview, 0.f, 0.f, 0.f, &prims[0], st), RES_OK);
- CHECK(prims[0].inst_id, S3D_INVALID_ID);
- CHECK(prims[0].geom_id == icube || prims[0].geom_id == iplane, 1);
+ CHK(s3d_scene_view_create(scn, S3D_SAMPLE, &scnview) == RES_OK);
+ CHK(s3d_scene_view_sample(scnview, 0.f, 0.f, 0.f, &prims[0], st) == RES_OK);
+ CHK(prims[0].inst_id == S3D_INVALID_ID);
+ CHK(prims[0].geom_id == icube || prims[0].geom_id == iplane);
nsamps_cube = 0;
nsamps_plane = 0;
srand(0);
FOR_EACH(i, 0, NSAMPS) {
u = rand_canonic(), v = rand_canonic(), w = rand_canonic();
- CHECK(s3d_scene_view_sample(scnview, u, v, w, &prims[i], st), RES_OK);
- CHECK(prims[i].inst_id, S3D_INVALID_ID);
+ CHK(s3d_scene_view_sample(scnview, u, v, w, &prims[i], st) == RES_OK);
+ CHK(prims[i].inst_id == S3D_INVALID_ID);
if(prims[i].geom_id == icube) {
++nsamps_cube;
} else {
- CHECK(prims[i].geom_id, iplane);
+ CHK(prims[i].geom_id == iplane);
++nsamps_plane;
}
}
- NCHECK(nsamps_cube, 0);
- NCHECK(nsamps_plane, 0);
+ CHK(nsamps_cube != 0);
+ CHK(nsamps_plane != 0);
- CHECK(s3d_shape_enable(cube, 0), RES_OK);
+ CHK(s3d_shape_enable(cube, 0) == RES_OK);
srand(0);
FOR_EACH(i, 0, NSAMPS) {
struct s3d_primitive prim;
u = rand_canonic(), v = rand_canonic(), w = rand_canonic();
- CHECK(s3d_scene_view_sample(scnview, u, v, w, &prim, st), RES_OK);
- CHECK(S3D_PRIMITIVE_EQ(&prim, &prims[i]), 1);
+ CHK(s3d_scene_view_sample(scnview, u, v, w, &prim, st) == RES_OK);
+ CHK(S3D_PRIMITIVE_EQ(&prim, &prims[i]) == 1);
}
- CHECK(s3d_scene_view_ref_put(scnview), RES_OK);
- CHECK(s3d_scene_view_create(scn, S3D_SAMPLE, &scnview), RES_OK);
+ CHK(s3d_scene_view_ref_put(scnview) == RES_OK);
+ CHK(s3d_scene_view_create(scn, S3D_SAMPLE, &scnview) == RES_OK);
srand(0);
FOR_EACH(i, 0, NSAMPS) {
u = rand_canonic(), v = rand_canonic(), w = rand_canonic();
- CHECK(s3d_scene_view_sample(scnview, u, v, w, &prims[i], st), RES_OK);
- CHECK(prims[i].inst_id, S3D_INVALID_ID);
- CHECK(prims[i].geom_id, iplane);
+ CHK(s3d_scene_view_sample(scnview, u, v, w, &prims[i], st) == RES_OK);
+ CHK(prims[i].inst_id == S3D_INVALID_ID);
+ CHK(prims[i].geom_id == iplane);
}
- CHECK(s3d_scene_view_ref_put(scnview), RES_OK);
+ CHK(s3d_scene_view_ref_put(scnview) == RES_OK);
- CHECK(s3d_shape_enable(cube, 1), RES_OK);
- CHECK(s3d_scene_attach_shape(scn2, cube), RES_OK);
- CHECK(s3d_scene_instantiate(scn2, &inst0), RES_OK);
- CHECK(s3d_scene_instantiate(scn2, &inst1), RES_OK);
- CHECK(s3d_shape_get_id(inst0, &iinst0), RES_OK);
- CHECK(s3d_shape_get_id(inst1, &iinst1), RES_OK);
- CHECK(s3d_instance_translate
- (inst0, S3D_WORLD_TRANSFORM, f3(pos,-2.f, 0.f, 0.f)), RES_OK);
- CHECK(s3d_instance_translate
- (inst1, S3D_WORLD_TRANSFORM, f3(pos, 2.f, 0.f, 0.f)), RES_OK);
+ CHK(s3d_shape_enable(cube, 1) == RES_OK);
+ CHK(s3d_scene_attach_shape(scn2, cube) == RES_OK);
+ CHK(s3d_scene_instantiate(scn2, &inst0) == RES_OK);
+ CHK(s3d_scene_instantiate(scn2, &inst1) == RES_OK);
+ CHK(s3d_shape_get_id(inst0, &iinst0) == RES_OK);
+ CHK(s3d_shape_get_id(inst1, &iinst1) == RES_OK);
+ CHK(s3d_instance_translate
+ (inst0, S3D_WORLD_TRANSFORM, f3(pos,-2.f, 0.f, 0.f)) == RES_OK);
+ CHK(s3d_instance_translate
+ (inst1, S3D_WORLD_TRANSFORM, f3(pos, 2.f, 0.f, 0.f)) == RES_OK);
- CHECK(s3d_scene_attach_shape(scn, inst0), RES_OK);
- CHECK(s3d_scene_attach_shape(scn, inst1), RES_OK);
- CHECK(s3d_scene_attach_shape(scn3, inst0), RES_OK);
- CHECK(s3d_scene_attach_shape(scn3, inst1), RES_OK);
+ CHK(s3d_scene_attach_shape(scn, inst0) == RES_OK);
+ CHK(s3d_scene_attach_shape(scn, inst1) == RES_OK);
+ CHK(s3d_scene_attach_shape(scn3, inst0) == RES_OK);
+ CHK(s3d_scene_attach_shape(scn3, inst1) == RES_OK);
- CHECK(s3d_scene_view_create(scn, S3D_SAMPLE, &scnview), RES_OK);
- CHECK(s3d_scene_view_create(scn3, S3D_SAMPLE, &scnview3), RES_OK);
+ CHK(s3d_scene_view_create(scn, S3D_SAMPLE, &scnview) == RES_OK);
+ CHK(s3d_scene_view_create(scn3, S3D_SAMPLE, &scnview3) == RES_OK);
- CHECK(s3d_scene_detach_shape(scn2, cube), RES_OK);
+ CHK(s3d_scene_detach_shape(scn2, cube) == RES_OK);
nsamps_cube = 0;
nsamps_inst0 = 0;
@@ -593,160 +593,160 @@ test_sample
srand(0);
FOR_EACH(i, 0, NSAMPS) {
u = rand_canonic(), v = rand_canonic(), w = rand_canonic();
- CHECK(s3d_scene_view_sample(scnview, u, v, w, &prims[i], st), RES_OK);
+ CHK(s3d_scene_view_sample(scnview, u, v, w, &prims[i], st) == RES_OK);
if(prims[i].inst_id != S3D_INVALID_ID) {
- CHECK(prims[i].geom_id, icube);
+ CHK(prims[i].geom_id == icube);
if(prims[i].inst_id == iinst0) {
++nsamps_inst0;
} else {
- CHECK(prims[i].inst_id, iinst1);
+ CHK(prims[i].inst_id == iinst1);
++nsamps_inst1;
}
} else {
if(prims[i].geom_id == icube) {
++nsamps_cube;
} else {
- CHECK(prims[i].geom_id, iplane);
+ CHK(prims[i].geom_id == iplane);
++nsamps_plane;
}
}
}
- NCHECK(nsamps_cube, 0);
- NCHECK(nsamps_inst0, 0);
- NCHECK(nsamps_inst1, 0);
- NCHECK(nsamps_plane, 0);
+ CHK(nsamps_cube != 0);
+ CHK(nsamps_inst0 != 0);
+ CHK(nsamps_inst1 != 0);
+ CHK(nsamps_plane != 0);
nsamps_inst0 = 0;
nsamps_inst1 = 0;
srand(0);
FOR_EACH(i, 0, NSAMPS) {
u = rand_canonic(), v = rand_canonic(), w = rand_canonic();
- CHECK(s3d_scene_view_sample(scnview3, u, v, w, &prims[i], st), RES_OK);
- CHECK(prims[i].geom_id, icube);
+ CHK(s3d_scene_view_sample(scnview3, u, v, w, &prims[i], st) == RES_OK);
+ CHK(prims[i].geom_id == icube);
if(prims[i].inst_id == iinst0) {
++nsamps_inst0;
} else {
- CHECK(prims[i].inst_id, iinst1);
+ CHK(prims[i].inst_id == iinst1);
++nsamps_inst1;
}
}
- NCHECK(nsamps_inst0, 0);
- NCHECK(nsamps_inst1, 0);
+ CHK(nsamps_inst0 != 0);
+ CHK(nsamps_inst1 != 0);
- CHECK(s3d_scene_view_ref_put(scnview), RES_OK);
- CHECK(s3d_scene_view_create(scn, S3D_SAMPLE, &scnview), RES_OK);
+ CHK(s3d_scene_view_ref_put(scnview) == RES_OK);
+ CHK(s3d_scene_view_create(scn, S3D_SAMPLE, &scnview) == RES_OK);
nsamps_cube = 0;
nsamps_plane = 0;
srand(0);
FOR_EACH(i, 0, NSAMPS) {
u = rand_canonic(), v = rand_canonic(), w = rand_canonic();
- CHECK(s3d_scene_view_sample(scnview, u, v, w, &prims[i], st), RES_OK);
- CHECK(prims[i].inst_id, S3D_INVALID_ID);
+ CHK(s3d_scene_view_sample(scnview, u, v, w, &prims[i], st) == RES_OK);
+ CHK(prims[i].inst_id == S3D_INVALID_ID);
if(prims[i].geom_id == icube) {
++nsamps_cube;
} else {
- CHECK(prims[i].geom_id, iplane);
+ CHK(prims[i].geom_id == iplane);
++nsamps_plane;
}
}
- NCHECK(nsamps_cube, 0);
- NCHECK(nsamps_plane, 0);
+ CHK(nsamps_cube != 0);
+ CHK(nsamps_plane != 0);
nsamps_inst0 = 0;
nsamps_inst1 = 0;
srand(0);
FOR_EACH(i, 0, NSAMPS) {
u = rand_canonic(), v = rand_canonic(), w = rand_canonic();
- CHECK(s3d_scene_view_sample(scnview3, u, v, w, &prims[i], st), RES_OK);
- CHECK(prims[i].geom_id, icube);
+ CHK(s3d_scene_view_sample(scnview3, u, v, w, &prims[i], st) == RES_OK);
+ CHK(prims[i].geom_id == icube);
if(prims[i].inst_id == iinst0) {
++nsamps_inst0;
} else {
- CHECK(prims[i].inst_id, iinst1);
+ CHK(prims[i].inst_id == iinst1);
++nsamps_inst1;
}
}
- NCHECK(nsamps_inst0, 0);
- NCHECK(nsamps_inst1, 0);
+ CHK(nsamps_inst0 != 0);
+ CHK(nsamps_inst1 != 0);
- CHECK(s3d_scene_attach_shape(scn2, plane), RES_OK);
+ CHK(s3d_scene_attach_shape(scn2, plane) == RES_OK);
- CHECK(s3d_scene_view_ref_put(scnview), RES_OK);
- CHECK(s3d_scene_view_create(scn, S3D_SAMPLE, &scnview), RES_OK);
+ CHK(s3d_scene_view_ref_put(scnview) == RES_OK);
+ CHK(s3d_scene_view_create(scn, S3D_SAMPLE, &scnview) == RES_OK);
FOR_EACH(i, 0, NSAMPS) {
u = rand_canonic(), v = rand_canonic(), w = rand_canonic();
- CHECK(s3d_scene_view_sample(scnview, u, v, w, &prims[i], st), RES_OK);
+ CHK(s3d_scene_view_sample(scnview, u, v, w, &prims[i], st) == RES_OK);
if(prims[i].inst_id != S3D_INVALID_ID) {
- CHECK(prims[i].geom_id, iplane);
+ CHK(prims[i].geom_id == iplane);
if(prims[i].inst_id == iinst0) {
++nsamps_inst0;
} else {
- CHECK(prims[i].inst_id, iinst1);
+ CHK(prims[i].inst_id == iinst1);
++nsamps_inst1;
}
} else {
if(prims[i].geom_id == icube) {
++nsamps_cube;
} else {
- CHECK(prims[i].geom_id, iplane);
+ CHK(prims[i].geom_id == iplane);
++nsamps_plane;
}
}
}
- NCHECK(nsamps_cube, 0);
- NCHECK(nsamps_inst0, 0);
- NCHECK(nsamps_inst1, 0);
- NCHECK(nsamps_plane, 0);
+ CHK(nsamps_cube != 0);
+ CHK(nsamps_inst0 != 0);
+ CHK(nsamps_inst1 != 0);
+ CHK(nsamps_plane != 0);
nsamps_inst0 = 0;
nsamps_inst1 = 0;
srand(0);
FOR_EACH(i, 0, NSAMPS) {
u = rand_canonic(), v = rand_canonic(), w = rand_canonic();
- CHECK(s3d_scene_view_sample(scnview3, u, v, w, &prims[i], st), RES_OK);
- CHECK(prims[i].geom_id, icube);
+ CHK(s3d_scene_view_sample(scnview3, u, v, w, &prims[i], st) == RES_OK);
+ CHK(prims[i].geom_id == icube);
if(prims[i].inst_id == iinst0) {
++nsamps_inst0;
} else {
- CHECK(prims[i].inst_id, iinst1);
+ CHK(prims[i].inst_id == iinst1);
++nsamps_inst1;
}
}
- NCHECK(nsamps_inst0, 0);
- NCHECK(nsamps_inst1, 0);
+ CHK(nsamps_inst0 != 0);
+ CHK(nsamps_inst1 != 0);
- CHECK(s3d_scene_view_ref_put(scnview), RES_OK);
- CHECK(s3d_scene_view_ref_put(scnview3), RES_OK);
+ CHK(s3d_scene_view_ref_put(scnview) == RES_OK);
+ CHK(s3d_scene_view_ref_put(scnview3) == RES_OK);
- CHECK(s3d_scene_view_create(scn3, S3D_SAMPLE, &scnview3), RES_OK);
+ CHK(s3d_scene_view_create(scn3, S3D_SAMPLE, &scnview3) == RES_OK);
nsamps_inst0 = 0;
nsamps_inst1 = 0;
srand(0);
FOR_EACH(i, 0, NSAMPS) {
u = rand_canonic(), v = rand_canonic(), w = rand_canonic();
- CHECK(s3d_scene_view_sample(scnview3, u, v, w, &prims[i], st), RES_OK);
- CHECK(prims[i].geom_id, iplane);
+ CHK(s3d_scene_view_sample(scnview3, u, v, w, &prims[i], st) == RES_OK);
+ CHK(prims[i].geom_id == iplane);
if(prims[i].inst_id == iinst0) {
++nsamps_inst0;
} else {
- CHECK(prims[i].inst_id, iinst1);
+ CHK(prims[i].inst_id == iinst1);
++nsamps_inst1;
}
}
- NCHECK(nsamps_inst0, 0);
- NCHECK(nsamps_inst1, 0);
+ CHK(nsamps_inst0 != 0);
+ CHK(nsamps_inst1 != 0);
- CHECK(s3d_scene_view_ref_put(scnview3), RES_OK);
+ CHK(s3d_scene_view_ref_put(scnview3) == RES_OK);
- CHECK(s3d_scene_ref_put(scn), RES_OK);
- CHECK(s3d_scene_ref_put(scn2), RES_OK);
- CHECK(s3d_scene_ref_put(scn3), RES_OK);
- CHECK(s3d_shape_ref_put(inst0), RES_OK);
- CHECK(s3d_shape_ref_put(inst1), RES_OK);
+ CHK(s3d_scene_ref_put(scn) == RES_OK);
+ CHK(s3d_scene_ref_put(scn2) == RES_OK);
+ CHK(s3d_scene_ref_put(scn3) == RES_OK);
+ CHK(s3d_shape_ref_put(inst0) == RES_OK);
+ CHK(s3d_shape_ref_put(inst1) == RES_OK);
}
static void
@@ -775,226 +775,226 @@ test_get_primitive
int inst0_prims[12];
int inst1_prims[12];
- CHECK(s3d_scene_create(dev, &scn), RES_OK);
- CHECK(s3d_scene_create(dev, &scn2), RES_OK);
- CHECK(s3d_scene_create(dev, &scn3), RES_OK);
- CHECK(s3d_scene_attach_shape(scn, cube), RES_OK);
- CHECK(s3d_scene_attach_shape(scn, plane), RES_OK);
- CHECK(s3d_shape_get_id(cube, &icube), RES_OK);
- CHECK(s3d_shape_get_id(plane, &iplane), RES_OK);
+ CHK(s3d_scene_create(dev, &scn) == RES_OK);
+ CHK(s3d_scene_create(dev, &scn2) == RES_OK);
+ CHK(s3d_scene_create(dev, &scn3) == RES_OK);
+ CHK(s3d_scene_attach_shape(scn, cube) == RES_OK);
+ CHK(s3d_scene_attach_shape(scn, plane) == RES_OK);
+ CHK(s3d_shape_get_id(cube, &icube) == RES_OK);
+ CHK(s3d_shape_get_id(plane, &iplane) == RES_OK);
- CHECK(s3d_scene_view_create(scn, S3D_TRACE, &scnview), RES_OK);
- CHECK(s3d_scene_view_get_primitive(scnview, 0, &prim), RES_BAD_OP);
- CHECK(s3d_scene_view_primitives_count(scnview, &nprims), RES_OK);
- CHECK(nprims, 14);
- CHECK(s3d_scene_view_ref_put(scnview), RES_OK);
+ CHK(s3d_scene_view_create(scn, S3D_TRACE, &scnview) == RES_OK);
+ CHK(s3d_scene_view_get_primitive(scnview, 0, &prim) == RES_BAD_OP);
+ CHK(s3d_scene_view_primitives_count(scnview, &nprims) == RES_OK);
+ CHK(nprims == 14);
+ CHK(s3d_scene_view_ref_put(scnview) == RES_OK);
- CHECK(s3d_scene_view_create(scn, S3D_GET_PRIMITIVE, &scnview), RES_OK);
- CHECK(s3d_scene_view_primitives_count(scnview, &nprims), RES_OK);
- CHECK(nprims, 14);
+ CHK(s3d_scene_view_create(scn, S3D_GET_PRIMITIVE, &scnview) == RES_OK);
+ CHK(s3d_scene_view_primitives_count(scnview, &nprims) == RES_OK);
+ CHK(nprims == 14);
memset(cube_prims, 0, sizeof(cube_prims));
memset(plane_prims, 0, sizeof(plane_prims));
FOR_EACH(i, 0, nprims) {
- CHECK(s3d_scene_view_get_primitive(scnview, i, &prim), RES_OK);
- CHECK(prim.inst_id, S3D_INVALID_ID);
- CHECK(prim.scene_prim_id, i);
+ CHK(s3d_scene_view_get_primitive(scnview, i, &prim) == RES_OK);
+ CHK(prim.inst_id == S3D_INVALID_ID);
+ CHK(prim.scene_prim_id == i);
if(prim.geom_id == icube) {
cube_prims[prim.prim_id] = 1;
} else {
- CHECK(prim.geom_id, iplane);
+ CHK(prim.geom_id == iplane);
plane_prims[prim.prim_id] = 1;
}
}
- FOR_EACH(i, 0, 12) CHECK(cube_prims[i], 1);
- FOR_EACH(i, 0, 2) CHECK(plane_prims[i], 1);
+ FOR_EACH(i, 0, 12) CHK(cube_prims[i] == 1);
+ FOR_EACH(i, 0, 2) CHK(plane_prims[i] == 1);
- CHECK(s3d_scene_detach_shape(scn, cube), RES_OK);
- CHECK(s3d_scene_view_primitives_count(scnview, &nprims), RES_OK);
- CHECK(nprims, 14);
+ CHK(s3d_scene_detach_shape(scn, cube) == RES_OK);
+ CHK(s3d_scene_view_primitives_count(scnview, &nprims) == RES_OK);
+ CHK(nprims == 14);
memset(cube_prims, 0, sizeof(cube_prims));
memset(plane_prims, 0, sizeof(plane_prims));
FOR_EACH(i, 0, nprims) {
- CHECK(s3d_scene_view_get_primitive(scnview, i, &prim), RES_OK);
- CHECK(prim.inst_id, S3D_INVALID_ID);
- CHECK(prim.scene_prim_id, i);
+ CHK(s3d_scene_view_get_primitive(scnview, i, &prim) == RES_OK);
+ CHK(prim.inst_id == S3D_INVALID_ID);
+ CHK(prim.scene_prim_id == i);
if(prim.geom_id == icube) {
cube_prims[prim.prim_id] = 1;
} else {
- CHECK(prim.geom_id, iplane);
+ CHK(prim.geom_id == iplane);
plane_prims[prim.prim_id] = 1;
}
}
- FOR_EACH(i, 0, 12) CHECK(cube_prims[i], 1);
- FOR_EACH(i, 0, 2) CHECK(plane_prims[i], 1);
+ FOR_EACH(i, 0, 12) CHK(cube_prims[i] == 1);
+ FOR_EACH(i, 0, 2) CHK(plane_prims[i] == 1);
- CHECK(s3d_scene_view_ref_put(scnview), RES_OK);
- CHECK(s3d_scene_view_create(scn, S3D_GET_PRIMITIVE, &scnview), RES_OK);
- CHECK(s3d_scene_view_primitives_count(scnview, &nprims), RES_OK);
- CHECK(nprims, 2);
+ CHK(s3d_scene_view_ref_put(scnview) == RES_OK);
+ CHK(s3d_scene_view_create(scn, S3D_GET_PRIMITIVE, &scnview) == RES_OK);
+ CHK(s3d_scene_view_primitives_count(scnview, &nprims) == RES_OK);
+ CHK(nprims == 2);
memset(plane_prims, 0, sizeof(plane_prims));
FOR_EACH(i, 0, nprims) {
- CHECK(s3d_scene_view_get_primitive(scnview, i, &prim), RES_OK);
- CHECK(prim.inst_id, S3D_INVALID_ID);
- CHECK(prim.scene_prim_id, i);
- CHECK(prim.geom_id, iplane);
+ CHK(s3d_scene_view_get_primitive(scnview, i, &prim) == RES_OK);
+ CHK(prim.inst_id == S3D_INVALID_ID);
+ CHK(prim.scene_prim_id == i);
+ CHK(prim.geom_id == iplane);
plane_prims[prim.prim_id] = 1;
}
- FOR_EACH(i, 0, 2) CHECK(plane_prims[i], 1);
+ FOR_EACH(i, 0, 2) CHK(plane_prims[i] == 1);
- CHECK(s3d_scene_view_ref_put(scnview), RES_OK);
+ CHK(s3d_scene_view_ref_put(scnview) == RES_OK);
- CHECK(s3d_scene_attach_shape(scn, cube), RES_OK);
+ CHK(s3d_scene_attach_shape(scn, cube) == RES_OK);
- CHECK(s3d_scene_attach_shape(scn2, plane), RES_OK);
- CHECK(s3d_scene_instantiate(scn2, &inst0), RES_OK);
- CHECK(s3d_scene_instantiate(scn2, &inst1), RES_OK);
- CHECK(s3d_shape_get_id(inst0, &iinst0), RES_OK);
- CHECK(s3d_shape_get_id(inst1, &iinst1), RES_OK);
- CHECK(s3d_instance_translate
- (inst0, S3D_WORLD_TRANSFORM, f3(pos,-2.f, 0.f, 0.f)), RES_OK);
- CHECK(s3d_instance_translate
- (inst1, S3D_WORLD_TRANSFORM, f3(pos, 2.f, 0.f, 0.f)), RES_OK);
+ CHK(s3d_scene_attach_shape(scn2, plane) == RES_OK);
+ CHK(s3d_scene_instantiate(scn2, &inst0) == RES_OK);
+ CHK(s3d_scene_instantiate(scn2, &inst1) == RES_OK);
+ CHK(s3d_shape_get_id(inst0, &iinst0) == RES_OK);
+ CHK(s3d_shape_get_id(inst1, &iinst1) == RES_OK);
+ CHK(s3d_instance_translate
+ (inst0, S3D_WORLD_TRANSFORM, f3(pos,-2.f, 0.f, 0.f)) == RES_OK);
+ CHK(s3d_instance_translate
+ (inst1, S3D_WORLD_TRANSFORM, f3(pos, 2.f, 0.f, 0.f)) == RES_OK);
- CHECK(s3d_scene_attach_shape(scn, inst0), RES_OK);
- CHECK(s3d_scene_attach_shape(scn3, inst0), RES_OK);
- CHECK(s3d_scene_attach_shape(scn3, inst1), RES_OK);
+ CHK(s3d_scene_attach_shape(scn, inst0) == RES_OK);
+ CHK(s3d_scene_attach_shape(scn3, inst0) == RES_OK);
+ CHK(s3d_scene_attach_shape(scn3, inst1) == RES_OK);
- CHECK(s3d_scene_view_create(scn, S3D_GET_PRIMITIVE, &scnview), RES_OK);
- CHECK(s3d_scene_view_create(scn3, S3D_GET_PRIMITIVE, &scnview3), RES_OK);
+ CHK(s3d_scene_view_create(scn, S3D_GET_PRIMITIVE, &scnview) == RES_OK);
+ CHK(s3d_scene_view_create(scn3, S3D_GET_PRIMITIVE, &scnview3) == RES_OK);
- CHECK(s3d_scene_clear(scn2), RES_OK);
+ CHK(s3d_scene_clear(scn2) == RES_OK);
- CHECK(s3d_scene_view_primitives_count(scnview, &nprims), RES_OK);
- CHECK(nprims, 16);
+ CHK(s3d_scene_view_primitives_count(scnview, &nprims) == RES_OK);
+ CHK(nprims == 16);
memset(plane_prims, 0, sizeof(plane_prims));
memset(cube_prims, 0, sizeof(cube_prims));
memset(inst0_prims, 0, sizeof(inst0_prims));
FOR_EACH(i, 0, nprims) {
- CHECK(s3d_scene_view_get_primitive(scnview, i, &prim), RES_OK);
+ CHK(s3d_scene_view_get_primitive(scnview, i, &prim) == RES_OK);
if(prim.inst_id != S3D_INVALID_ID) {
- CHECK(prim.inst_id, iinst0);
- CHECK(prim.geom_id, iplane);
+ CHK(prim.inst_id == iinst0);
+ CHK(prim.geom_id == iplane);
inst0_prims[prim.prim_id] = 1;
} else {
if(prim.geom_id == icube) {
cube_prims[prim.prim_id] = 1;
} else {
- CHECK(prim.geom_id, iplane);
+ CHK(prim.geom_id == iplane);
plane_prims[prim.prim_id] = 1;
}
}
}
- FOR_EACH(i, 0, 12) CHECK(cube_prims[i], 1);
- FOR_EACH(i, 0, 2) CHECK(plane_prims[i], 1);
- FOR_EACH(i, 0, 2) CHECK(inst0_prims[i], 1);
+ FOR_EACH(i, 0, 12) CHK(cube_prims[i] == 1);
+ FOR_EACH(i, 0, 2) CHK(plane_prims[i] == 1);
+ FOR_EACH(i, 0, 2) CHK(inst0_prims[i] == 1);
- CHECK(s3d_scene_view_primitives_count(scnview3, &nprims), RES_OK);
- CHECK(nprims, 4);
+ CHK(s3d_scene_view_primitives_count(scnview3, &nprims) == RES_OK);
+ CHK(nprims == 4);
memset(inst0_prims, 0, sizeof(inst0_prims));
memset(inst1_prims, 0, sizeof(inst1_prims));
FOR_EACH(i, 0, nprims) {
- CHECK(s3d_scene_view_get_primitive(scnview3, i, &prim), RES_OK);
- NCHECK(prim.inst_id, S3D_INVALID_ID);
- CHECK(prim.geom_id, iplane);
+ CHK(s3d_scene_view_get_primitive(scnview3, i, &prim) == RES_OK);
+ CHK(prim.inst_id != S3D_INVALID_ID);
+ CHK(prim.geom_id == iplane);
if(prim.inst_id == iinst0) {
inst0_prims[prim.prim_id] = 1;
} else {
- CHECK(prim.inst_id, iinst1);
+ CHK(prim.inst_id == iinst1);
inst1_prims[prim.prim_id] = 1;
}
}
- FOR_EACH(i, 0, 2) CHECK(inst1_prims[i], 1);
- FOR_EACH(i, 0, 2) CHECK(inst1_prims[i], 1);
+ FOR_EACH(i, 0, 2) CHK(inst1_prims[i] == 1);
+ FOR_EACH(i, 0, 2) CHK(inst1_prims[i] == 1);
- CHECK(s3d_scene_view_ref_put(scnview3), RES_OK);
+ CHK(s3d_scene_view_ref_put(scnview3) == RES_OK);
- CHECK(s3d_scene_view_create(scn3, S3D_GET_PRIMITIVE, &scnview3), RES_OK);
- CHECK(s3d_scene_view_primitives_count(scnview3, &nprims), RES_OK);
- CHECK(nprims, 0);
- CHECK(s3d_scene_view_ref_put(scnview3), RES_OK);
+ CHK(s3d_scene_view_create(scn3, S3D_GET_PRIMITIVE, &scnview3) == RES_OK);
+ CHK(s3d_scene_view_primitives_count(scnview3, &nprims) == RES_OK);
+ CHK(nprims == 0);
+ CHK(s3d_scene_view_ref_put(scnview3) == RES_OK);
- CHECK(s3d_scene_attach_shape(scn2, cube), RES_OK);
- CHECK(s3d_scene_view_create(scn3, S3D_GET_PRIMITIVE, &scnview3), RES_OK);
+ CHK(s3d_scene_attach_shape(scn2, cube) == RES_OK);
+ CHK(s3d_scene_view_create(scn3, S3D_GET_PRIMITIVE, &scnview3) == RES_OK);
- CHECK(s3d_scene_view_primitives_count(scnview, &nprims), RES_OK);
- CHECK(nprims, 16);
+ CHK(s3d_scene_view_primitives_count(scnview, &nprims) == RES_OK);
+ CHK(nprims == 16);
memset(plane_prims, 0, sizeof(plane_prims));
memset(cube_prims, 0, sizeof(cube_prims));
memset(inst0_prims, 0, sizeof(inst0_prims));
FOR_EACH(i, 0, nprims) {
- CHECK(s3d_scene_view_get_primitive(scnview, i, &prim), RES_OK);
+ CHK(s3d_scene_view_get_primitive(scnview, i, &prim) == RES_OK);
if(prim.inst_id != S3D_INVALID_ID) {
- CHECK(prim.inst_id, iinst0);
- CHECK(prim.geom_id, iplane);
+ CHK(prim.inst_id == iinst0);
+ CHK(prim.geom_id == iplane);
inst0_prims[prim.prim_id] = 1;
} else {
if(prim.geom_id == icube) {
cube_prims[prim.prim_id] = 1;
} else {
- CHECK(prim.geom_id, iplane);
+ CHK(prim.geom_id == iplane);
plane_prims[prim.prim_id] = 1;
}
}
}
- FOR_EACH(i, 0, 12) CHECK(cube_prims[i], 1);
- FOR_EACH(i, 0, 2) CHECK(plane_prims[i], 1);
- FOR_EACH(i, 0, 2) CHECK(inst0_prims[i], 1);
+ FOR_EACH(i, 0, 12) CHK(cube_prims[i] == 1);
+ FOR_EACH(i, 0, 2) CHK(plane_prims[i] == 1);
+ FOR_EACH(i, 0, 2) CHK(inst0_prims[i] == 1);
- CHECK(s3d_scene_view_primitives_count(scnview3, &nprims), RES_OK);
- CHECK(nprims, 24);
+ CHK(s3d_scene_view_primitives_count(scnview3, &nprims) == RES_OK);
+ CHK(nprims == 24);
memset(inst0_prims, 0, sizeof(inst0_prims));
memset(inst1_prims, 0, sizeof(inst1_prims));
FOR_EACH(i, 0, nprims) {
- CHECK(s3d_scene_view_get_primitive(scnview3, i, &prim), RES_OK);
- NCHECK(prim.inst_id, S3D_INVALID_ID);
- CHECK(prim.geom_id, icube);
+ CHK(s3d_scene_view_get_primitive(scnview3, i, &prim) == RES_OK);
+ CHK(prim.inst_id != S3D_INVALID_ID);
+ CHK(prim.geom_id == icube);
if(prim.inst_id == iinst0) {
inst0_prims[prim.prim_id] = 1;
} else {
- CHECK(prim.inst_id, iinst1);
+ CHK(prim.inst_id == iinst1);
inst1_prims[prim.prim_id] = 1;
}
}
- FOR_EACH(i, 0, 12) CHECK(inst1_prims[i], 1);
- FOR_EACH(i, 0, 12) CHECK(inst1_prims[i], 1);
+ FOR_EACH(i, 0, 12) CHK(inst1_prims[i] == 1);
+ FOR_EACH(i, 0, 12) CHK(inst1_prims[i] == 1);
- CHECK(s3d_scene_view_ref_put(scnview), RES_OK);
- CHECK(s3d_scene_view_ref_put(scnview3), RES_OK);
+ CHK(s3d_scene_view_ref_put(scnview) == RES_OK);
+ CHK(s3d_scene_view_ref_put(scnview3) == RES_OK);
- CHECK(s3d_scene_view_create(scn, S3D_GET_PRIMITIVE, &scnview), RES_OK);
+ CHK(s3d_scene_view_create(scn, S3D_GET_PRIMITIVE, &scnview) == RES_OK);
- CHECK(s3d_scene_view_primitives_count(scnview, &nprims), RES_OK);
- CHECK(nprims, 26);
+ CHK(s3d_scene_view_primitives_count(scnview, &nprims) == RES_OK);
+ CHK(nprims == 26);
memset(plane_prims, 0, sizeof(plane_prims));
memset(cube_prims, 0, sizeof(cube_prims));
memset(inst0_prims, 0, sizeof(inst0_prims));
FOR_EACH(i, 0, nprims) {
- CHECK(s3d_scene_view_get_primitive(scnview, i, &prim), RES_OK);
+ CHK(s3d_scene_view_get_primitive(scnview, i, &prim) == RES_OK);
if(prim.inst_id != S3D_INVALID_ID) {
- CHECK(prim.inst_id, iinst0);
- CHECK(prim.geom_id, icube);
+ CHK(prim.inst_id == iinst0);
+ CHK(prim.geom_id == icube);
inst0_prims[prim.prim_id] = 1;
} else {
if(prim.geom_id == icube) {
cube_prims[prim.prim_id] = 1;
} else {
- CHECK(prim.geom_id, iplane);
+ CHK(prim.geom_id == iplane);
plane_prims[prim.prim_id] = 1;
}
}
}
- FOR_EACH(i, 0, 12) CHECK(cube_prims[i], 1);
- FOR_EACH(i, 0, 2) CHECK(plane_prims[i], 1);
- FOR_EACH(i, 0, 12) CHECK(inst0_prims[i], 1);
+ FOR_EACH(i, 0, 12) CHK(cube_prims[i] == 1);
+ FOR_EACH(i, 0, 2) CHK(plane_prims[i] == 1);
+ FOR_EACH(i, 0, 12) CHK(inst0_prims[i] == 1);
- CHECK(s3d_scene_view_ref_put(scnview), RES_OK);
+ CHK(s3d_scene_view_ref_put(scnview) == RES_OK);
- CHECK(s3d_shape_ref_put(inst0), RES_OK);
- CHECK(s3d_shape_ref_put(inst1), RES_OK);
- CHECK(s3d_scene_ref_put(scn), RES_OK);
- CHECK(s3d_scene_ref_put(scn2), RES_OK);
- CHECK(s3d_scene_ref_put(scn3), RES_OK);
+ CHK(s3d_shape_ref_put(inst0) == RES_OK);
+ CHK(s3d_shape_ref_put(inst1) == RES_OK);
+ CHK(s3d_scene_ref_put(scn) == RES_OK);
+ CHK(s3d_scene_ref_put(scn2) == RES_OK);
+ CHK(s3d_scene_ref_put(scn3) == RES_OK);
}
/*******************************************************************************
@@ -1013,7 +1013,7 @@ main(int argc, char** argv)
mem_init_proxy_allocator(&allocator, &mem_default_allocator);
- CHECK(s3d_device_create(NULL, &allocator, 1, &dev), RES_OK);
+ CHK(s3d_device_create(NULL, &allocator, 1, &dev) == RES_OK);
vdata.type = S3D_FLOAT3;
vdata.usage = S3D_POSITION;
@@ -1021,28 +1021,28 @@ main(int argc, char** argv)
ctx.ids = cube_ids;
ctx.verts = cube_verts;
- CHECK(s3d_shape_create_mesh(dev, &cube), RES_OK);
- CHECK(s3d_mesh_setup_indexed_vertices
- (cube, cube_ntris, get_ids, cube_nverts, &vdata, 1, &ctx), RES_OK);
+ CHK(s3d_shape_create_mesh(dev, &cube) == RES_OK);
+ CHK(s3d_mesh_setup_indexed_vertices
+ (cube, cube_ntris, get_ids, cube_nverts, &vdata, 1, &ctx) == RES_OK);
ctx.ids = plane_ids;
ctx.verts = plane_verts;
- CHECK(s3d_shape_create_mesh(dev, &plane), RES_OK);
- CHECK(s3d_mesh_setup_indexed_vertices
- (plane, plane_ntris, get_ids, plane_nverts, &vdata, 1, &ctx), RES_OK);
+ CHK(s3d_shape_create_mesh(dev, &plane) == RES_OK);
+ CHK(s3d_mesh_setup_indexed_vertices
+ (plane, plane_ntris, get_ids, plane_nverts, &vdata, 1, &ctx) == RES_OK);
test_miscellaneous(dev, cube, plane);
test_trace_ray(dev, cube, plane);
test_sample(dev, cube, plane);
test_get_primitive(dev, cube, plane);
- CHECK(s3d_shape_ref_put(cube), RES_OK);
- CHECK(s3d_shape_ref_put(plane), RES_OK);
- CHECK(s3d_device_ref_put(dev), RES_OK);
+ CHK(s3d_shape_ref_put(cube) == RES_OK);
+ CHK(s3d_shape_ref_put(plane) == RES_OK);
+ CHK(s3d_device_ref_put(dev) == RES_OK);
check_memory_allocator(&allocator);
mem_shutdown_proxy_allocator(&allocator);
- CHECK(mem_allocated_size(), 0);
+ CHK(mem_allocated_size() == 0);
return 0;
}
diff --git a/src/test_s3d_seams.c b/src/test_s3d_seams.c
@@ -50,8 +50,8 @@ get_ids(const unsigned itri, unsigned ids[3], void* data)
{
const unsigned id = itri * 3;
struct desc* desc = data;
- NCHECK(desc, NULL);
- NCHECK(ids, NULL);
+ CHK(desc != NULL);
+ CHK(ids != NULL);
ids[0] = desc->indices[id + 0];
ids[1] = desc->indices[id + 1];
ids[2] = desc->indices[id + 2];
@@ -61,8 +61,8 @@ static INLINE void
get_position(const unsigned ivert, float position[3], void* data)
{
struct desc* desc = data;
- NCHECK(desc, NULL);
- NCHECK(position, NULL);
+ CHK(desc != NULL);
+ CHK(position != NULL);
position[0] = desc->vertices[ivert * 3 + 0];
position[1] = desc->vertices[ivert * 3 + 1];
position[2] = desc->vertices[ivert * 3 + 2];
@@ -72,7 +72,7 @@ static INLINE void
get_normal(const unsigned ivert, float normal[3], void* data)
{
(void) ivert, (void) data;
- NCHECK(normal, NULL);
+ CHK(normal != NULL);
normal[0] = 1.f;
normal[1] = 0.f;
normal[2] = 0.f;
@@ -82,7 +82,7 @@ static INLINE void
get_uv(const unsigned ivert, float uv[2], void* data)
{
(void) ivert, (void) data;
- NCHECK(uv, NULL);
+ CHK(uv != NULL);
uv[0] = -1.f;
uv[1] = 1.f;
}
@@ -91,8 +91,8 @@ static INLINE void
get_polygon_vertices(const size_t ivert, double position[2], void* ctx)
{
const double* verts = ctx;
- NCHECK(position, NULL);
- NCHECK(ctx, NULL);
+ CHK(position != NULL);
+ CHK(ctx != NULL);
position[0] = verts[ivert * 2 + 0];
position[1] = verts[ivert * 2 + 1];
}
@@ -142,24 +142,24 @@ check_ray(int use_double)
mem_init_proxy_allocator(&allocator, &mem_default_allocator);
- CHECK(s3d_device_create(NULL, &allocator, 1, &dev), RES_OK);
- CHECK(s3d_scene_create(dev, &scn), RES_OK);
- CHECK(s3d_scene_create(dev, &scn2), RES_OK);
+ CHK(s3d_device_create(NULL, &allocator, 1, &dev) == RES_OK);
+ CHK(s3d_scene_create(dev, &scn) == RES_OK);
+ CHK(s3d_scene_create(dev, &scn2) == RES_OK);
attribs.usage = S3D_POSITION;
attribs.type = S3D_FLOAT3;
attribs.get = get_position;
- CHECK(s3d_shape_create_mesh(dev, &square), RES_OK);
- CHECK(s3d_mesh_setup_indexed_vertices(square, SQUARE_NTRIS__, get_ids,
- SQUARE_NVERTS__, &attribs, 1, (void*) &SQUARE_DESC__), RES_OK);
- CHECK(s3d_scene_attach_shape(scn, square), RES_OK);
+ CHK(s3d_shape_create_mesh(dev, &square) == RES_OK);
+ CHK(s3d_mesh_setup_indexed_vertices(square, SQUARE_NTRIS__, get_ids,
+ SQUARE_NVERTS__, &attribs, 1, (void*) &SQUARE_DESC__) == RES_OK);
+ CHK(s3d_scene_attach_shape(scn, square) == RES_OK);
s3d_scene_instantiate(scn, &inst);
- CHECK(s3d_instance_set_transform(inst, transformf), RES_OK);
- CHECK(s3d_scene_attach_shape(scn2, inst), RES_OK);
+ CHK(s3d_instance_set_transform(inst, transformf) == RES_OK);
+ CHK(s3d_scene_attach_shape(scn2, inst) == RES_OK);
- CHECK(s3d_scene_view_create(scn2, S3D_TRACE, &scnview), RES_OK);
- CHECK(s3d_scene_view_trace_ray(scnview, org, dir, range, NULL, &hit), RES_OK);
+ CHK(s3d_scene_view_create(scn2, S3D_TRACE, &scnview) == RES_OK);
+ CHK(s3d_scene_view_trace_ray(scnview, org, dir, range, NULL, &hit) == RES_OK);
printf("\nRaytrace using %s: ", use_double ? "double" : "float");
if (!S3D_HIT_NONE(&hit)) {
f3_add(pos, org, f3_mulf(pos, dir, hit.distance));
@@ -167,16 +167,16 @@ check_ray(int use_double)
} else {
printf("No hit\n");
}
- CHECK(s3d_scene_view_ref_put(scnview), RES_OK);
- CHECK(s3d_scene_ref_put(scn), RES_OK);
- CHECK(s3d_scene_ref_put(scn2), RES_OK);
- CHECK(s3d_device_ref_put(dev), RES_OK);
- CHECK(s3d_shape_ref_put(square), RES_OK);
- CHECK(s3d_shape_ref_put(inst), RES_OK);
+ CHK(s3d_scene_view_ref_put(scnview) == RES_OK);
+ CHK(s3d_scene_ref_put(scn) == RES_OK);
+ CHK(s3d_scene_ref_put(scn2) == RES_OK);
+ CHK(s3d_device_ref_put(dev) == RES_OK);
+ CHK(s3d_shape_ref_put(square) == RES_OK);
+ CHK(s3d_shape_ref_put(inst) == RES_OK);
check_memory_allocator(&allocator);
mem_shutdown_proxy_allocator(&allocator);
- CHECK(mem_allocated_size(), 0);
+ CHK(mem_allocated_size() == 0);
return S3D_HIT_NONE(&hit) ? RES_UNKNOWN_ERR : RES_OK;
}
@@ -185,8 +185,8 @@ int
main(int argc, char** argv)
{
(void)argc, (void)argv;
- CHECK(check_ray(1), RES_OK);
- CHECK(check_ray(0), RES_OK);
+ CHK(check_ray(1) == RES_OK);
+ CHK(check_ray(0) == RES_OK);
return 0;
}
diff --git a/src/test_s3d_shape.c b/src/test_s3d_shape.c
@@ -73,303 +73,303 @@ main(int argc, char** argv)
mem_init_proxy_allocator(&allocator, &mem_default_allocator);
- CHECK(s3d_device_create(NULL, &allocator, 0, &dev), RES_OK);
- CHECK(s3d_scene_create(dev, &scn), RES_OK);
-
- CHECK(s3d_shape_create_mesh(NULL, NULL), RES_BAD_ARG);
- CHECK(s3d_shape_create_mesh(dev, NULL), RES_BAD_ARG);
- CHECK(s3d_shape_create_mesh(NULL, &shape), RES_BAD_ARG);
- CHECK(s3d_shape_create_mesh(dev, &shape), RES_OK);
-
- CHECK(s3d_shape_get_id(NULL, NULL), RES_BAD_ARG);
- CHECK(s3d_shape_get_id(shape, NULL), RES_BAD_ARG);
- CHECK(s3d_shape_get_id(NULL, &id), RES_BAD_ARG);
- CHECK(s3d_shape_get_id(shape, &id), RES_OK);
- NCHECK(id, S3D_INVALID_ID);
-
- CHECK(s3d_scene_attach_shape(NULL, NULL), RES_BAD_ARG);
- CHECK(s3d_scene_attach_shape(scn, NULL), RES_BAD_ARG);
- CHECK(s3d_scene_attach_shape(NULL, shape), RES_BAD_ARG);
- CHECK(s3d_scene_attach_shape(scn, shape), RES_OK);
-
- CHECK(s3d_scene_detach_shape(NULL, NULL), RES_BAD_ARG);
- CHECK(s3d_scene_detach_shape(scn, NULL), RES_BAD_ARG);
- CHECK(s3d_scene_detach_shape(NULL, shape), RES_BAD_ARG);
- CHECK(s3d_scene_detach_shape(scn, shape), RES_OK);
+ CHK(s3d_device_create(NULL, &allocator, 0, &dev) == RES_OK);
+ CHK(s3d_scene_create(dev, &scn) == RES_OK);
+
+ CHK(s3d_shape_create_mesh(NULL, NULL) == RES_BAD_ARG);
+ CHK(s3d_shape_create_mesh(dev, NULL) == RES_BAD_ARG);
+ CHK(s3d_shape_create_mesh(NULL, &shape) == RES_BAD_ARG);
+ CHK(s3d_shape_create_mesh(dev, &shape) == RES_OK);
+
+ CHK(s3d_shape_get_id(NULL, NULL) == RES_BAD_ARG);
+ CHK(s3d_shape_get_id(shape, NULL) == RES_BAD_ARG);
+ CHK(s3d_shape_get_id(NULL, &id) == RES_BAD_ARG);
+ CHK(s3d_shape_get_id(shape, &id) == RES_OK);
+ CHK(id != S3D_INVALID_ID);
+
+ CHK(s3d_scene_attach_shape(NULL, NULL) == RES_BAD_ARG);
+ CHK(s3d_scene_attach_shape(scn, NULL) == RES_BAD_ARG);
+ CHK(s3d_scene_attach_shape(NULL, shape) == RES_BAD_ARG);
+ CHK(s3d_scene_attach_shape(scn, shape) == RES_OK);
+
+ CHK(s3d_scene_detach_shape(NULL, NULL) == RES_BAD_ARG);
+ CHK(s3d_scene_detach_shape(scn, NULL) == RES_BAD_ARG);
+ CHK(s3d_scene_detach_shape(NULL, shape) == RES_BAD_ARG);
+ CHK(s3d_scene_detach_shape(scn, shape) == RES_OK);
attribs[0].type = S3D_FLOAT3;
attribs[0].usage = S3D_POSITION;
attribs[0].get = cbox_get_position;
- CHECK(s3d_mesh_setup_indexed_vertices
- (NULL, 0, NULL, 0, NULL, 1, data), RES_BAD_ARG);
- CHECK(s3d_mesh_setup_indexed_vertices
- (shape, 0, NULL, 0, NULL, 1, data), RES_BAD_ARG);
- CHECK(s3d_mesh_setup_indexed_vertices
- (NULL, cbox_ntris, NULL, 0, NULL, 1, data), RES_BAD_ARG);
- CHECK(s3d_mesh_setup_indexed_vertices
- (shape, cbox_ntris, NULL, 0, NULL, 1, data), RES_BAD_ARG);
- CHECK(s3d_mesh_setup_indexed_vertices
- (NULL, 0, cbox_get_ids, 0, NULL, 1, data), RES_BAD_ARG);
- CHECK(s3d_mesh_setup_indexed_vertices
- (shape, 0, cbox_get_ids, 0, NULL, 1, data), RES_BAD_ARG);
- CHECK(s3d_mesh_setup_indexed_vertices
- (NULL, cbox_ntris, cbox_get_ids, 0, NULL, 1, data), RES_BAD_ARG);
- CHECK(s3d_mesh_setup_indexed_vertices
- (shape, cbox_ntris, cbox_get_ids, 0, NULL, 1, data), RES_BAD_ARG);
- CHECK(s3d_mesh_setup_indexed_vertices
- (NULL, 0, NULL, cbox_nverts, NULL, 1, data), RES_BAD_ARG);
- CHECK(s3d_mesh_setup_indexed_vertices
- (shape, 0, NULL, cbox_nverts, NULL, 1, data), RES_BAD_ARG);
- CHECK(s3d_mesh_setup_indexed_vertices
- (NULL, cbox_ntris, NULL, cbox_nverts, NULL, 1, data), RES_BAD_ARG);
- CHECK(s3d_mesh_setup_indexed_vertices
- (shape, cbox_ntris, NULL, cbox_nverts, NULL, 1, data), RES_BAD_ARG);
- CHECK(s3d_mesh_setup_indexed_vertices
- (NULL, 0, cbox_get_ids, cbox_nverts, NULL, 1, data), RES_BAD_ARG);
- CHECK(s3d_mesh_setup_indexed_vertices
- (shape, 0, cbox_get_ids, cbox_nverts, NULL, 1, data), RES_BAD_ARG);
- CHECK(s3d_mesh_setup_indexed_vertices
- (NULL, cbox_ntris, cbox_get_ids, cbox_nverts, NULL, 1, data), RES_BAD_ARG);
- CHECK(s3d_mesh_setup_indexed_vertices
- (shape, cbox_ntris, cbox_get_ids, cbox_nverts, NULL, 1, data), RES_BAD_ARG);
- CHECK(s3d_mesh_setup_indexed_vertices
- (NULL, 0, NULL, 0, attribs, 1, data), RES_BAD_ARG);
- CHECK(s3d_mesh_setup_indexed_vertices
- (shape, 0, NULL, 0, attribs, 1, data), RES_BAD_ARG);
- CHECK(s3d_mesh_setup_indexed_vertices
- (NULL, cbox_ntris, NULL, 0, attribs, 1, data), RES_BAD_ARG);
- CHECK(s3d_mesh_setup_indexed_vertices
- (shape, cbox_ntris, NULL, 0, attribs, 1, data), RES_BAD_ARG);
- CHECK(s3d_mesh_setup_indexed_vertices
- (NULL, 0, cbox_get_ids, 0, attribs, 1, data), RES_BAD_ARG);
- CHECK(s3d_mesh_setup_indexed_vertices
- (shape, 0, cbox_get_ids, 0, attribs, 1, data), RES_BAD_ARG);
- CHECK(s3d_mesh_setup_indexed_vertices
- (NULL, cbox_ntris, cbox_get_ids, 0, attribs, 1, data), RES_BAD_ARG);
- CHECK(s3d_mesh_setup_indexed_vertices
- (shape, cbox_ntris, cbox_get_ids, 0, attribs, 1, data), RES_BAD_ARG);
- CHECK(s3d_mesh_setup_indexed_vertices
- (NULL, 0, NULL, cbox_nverts, attribs, 1, data), RES_BAD_ARG);
- CHECK(s3d_mesh_setup_indexed_vertices
- (shape, 0, NULL, cbox_nverts, attribs, 1, data), RES_BAD_ARG);
- CHECK(s3d_mesh_setup_indexed_vertices
- (NULL, cbox_ntris, NULL, cbox_nverts, attribs, 1, data), RES_BAD_ARG);
- CHECK(s3d_mesh_setup_indexed_vertices
- (shape, cbox_ntris, NULL, cbox_nverts, attribs, 1, data), RES_BAD_ARG);
- CHECK(s3d_mesh_setup_indexed_vertices
- (NULL, 0, cbox_get_ids, cbox_nverts, attribs, 1, data), RES_BAD_ARG);
- CHECK(s3d_mesh_setup_indexed_vertices
- (shape, 0, cbox_get_ids, cbox_nverts, attribs, 1, data), RES_BAD_ARG);
- CHECK(s3d_mesh_setup_indexed_vertices
- (NULL, cbox_ntris, cbox_get_ids, cbox_nverts, attribs, 1, data), RES_BAD_ARG);
- CHECK(s3d_mesh_setup_indexed_vertices
- (shape, cbox_ntris, cbox_get_ids, cbox_nverts, attribs, 1, data), RES_OK);
- CHECK(s3d_mesh_setup_indexed_vertices
- (shape, cbox_ntris, cbox_get_ids, cbox_nverts, attribs, 0, data), RES_BAD_ARG);
+ CHK(s3d_mesh_setup_indexed_vertices
+ (NULL, 0, NULL, 0, NULL, 1, data) == RES_BAD_ARG);
+ CHK(s3d_mesh_setup_indexed_vertices
+ (shape, 0, NULL, 0, NULL, 1, data) == RES_BAD_ARG);
+ CHK(s3d_mesh_setup_indexed_vertices
+ (NULL, cbox_ntris, NULL, 0, NULL, 1, data) == RES_BAD_ARG);
+ CHK(s3d_mesh_setup_indexed_vertices
+ (shape, cbox_ntris, NULL, 0, NULL, 1, data) == RES_BAD_ARG);
+ CHK(s3d_mesh_setup_indexed_vertices
+ (NULL, 0, cbox_get_ids, 0, NULL, 1, data) == RES_BAD_ARG);
+ CHK(s3d_mesh_setup_indexed_vertices
+ (shape, 0, cbox_get_ids, 0, NULL, 1, data) == RES_BAD_ARG);
+ CHK(s3d_mesh_setup_indexed_vertices
+ (NULL, cbox_ntris, cbox_get_ids, 0, NULL, 1, data) == RES_BAD_ARG);
+ CHK(s3d_mesh_setup_indexed_vertices
+ (shape, cbox_ntris, cbox_get_ids, 0, NULL, 1, data) == RES_BAD_ARG);
+ CHK(s3d_mesh_setup_indexed_vertices
+ (NULL, 0, NULL, cbox_nverts, NULL, 1, data) == RES_BAD_ARG);
+ CHK(s3d_mesh_setup_indexed_vertices
+ (shape, 0, NULL, cbox_nverts, NULL, 1, data) == RES_BAD_ARG);
+ CHK(s3d_mesh_setup_indexed_vertices
+ (NULL, cbox_ntris, NULL, cbox_nverts, NULL, 1, data) == RES_BAD_ARG);
+ CHK(s3d_mesh_setup_indexed_vertices
+ (shape, cbox_ntris, NULL, cbox_nverts, NULL, 1, data) == RES_BAD_ARG);
+ CHK(s3d_mesh_setup_indexed_vertices
+ (NULL, 0, cbox_get_ids, cbox_nverts, NULL, 1, data) == RES_BAD_ARG);
+ CHK(s3d_mesh_setup_indexed_vertices
+ (shape, 0, cbox_get_ids, cbox_nverts, NULL, 1, data) == RES_BAD_ARG);
+ CHK(s3d_mesh_setup_indexed_vertices
+ (NULL, cbox_ntris, cbox_get_ids, cbox_nverts, NULL, 1, data) == RES_BAD_ARG);
+ CHK(s3d_mesh_setup_indexed_vertices
+ (shape, cbox_ntris, cbox_get_ids, cbox_nverts, NULL, 1, data) == RES_BAD_ARG);
+ CHK(s3d_mesh_setup_indexed_vertices
+ (NULL, 0, NULL, 0, attribs, 1, data) == RES_BAD_ARG);
+ CHK(s3d_mesh_setup_indexed_vertices
+ (shape, 0, NULL, 0, attribs, 1, data) == RES_BAD_ARG);
+ CHK(s3d_mesh_setup_indexed_vertices
+ (NULL, cbox_ntris, NULL, 0, attribs, 1, data) == RES_BAD_ARG);
+ CHK(s3d_mesh_setup_indexed_vertices
+ (shape, cbox_ntris, NULL, 0, attribs, 1, data) == RES_BAD_ARG);
+ CHK(s3d_mesh_setup_indexed_vertices
+ (NULL, 0, cbox_get_ids, 0, attribs, 1, data) == RES_BAD_ARG);
+ CHK(s3d_mesh_setup_indexed_vertices
+ (shape, 0, cbox_get_ids, 0, attribs, 1, data) == RES_BAD_ARG);
+ CHK(s3d_mesh_setup_indexed_vertices
+ (NULL, cbox_ntris, cbox_get_ids, 0, attribs, 1, data) == RES_BAD_ARG);
+ CHK(s3d_mesh_setup_indexed_vertices
+ (shape, cbox_ntris, cbox_get_ids, 0, attribs, 1, data) == RES_BAD_ARG);
+ CHK(s3d_mesh_setup_indexed_vertices
+ (NULL, 0, NULL, cbox_nverts, attribs, 1, data) == RES_BAD_ARG);
+ CHK(s3d_mesh_setup_indexed_vertices
+ (shape, 0, NULL, cbox_nverts, attribs, 1, data) == RES_BAD_ARG);
+ CHK(s3d_mesh_setup_indexed_vertices
+ (NULL, cbox_ntris, NULL, cbox_nverts, attribs, 1, data) == RES_BAD_ARG);
+ CHK(s3d_mesh_setup_indexed_vertices
+ (shape, cbox_ntris, NULL, cbox_nverts, attribs, 1, data) == RES_BAD_ARG);
+ CHK(s3d_mesh_setup_indexed_vertices
+ (NULL, 0, cbox_get_ids, cbox_nverts, attribs, 1, data) == RES_BAD_ARG);
+ CHK(s3d_mesh_setup_indexed_vertices
+ (shape, 0, cbox_get_ids, cbox_nverts, attribs, 1, data) == RES_BAD_ARG);
+ CHK(s3d_mesh_setup_indexed_vertices
+ (NULL, cbox_ntris, cbox_get_ids, cbox_nverts, attribs, 1, data) == RES_BAD_ARG);
+ CHK(s3d_mesh_setup_indexed_vertices
+ (shape, cbox_ntris, cbox_get_ids, cbox_nverts, attribs, 1, data) == RES_OK);
+ CHK(s3d_mesh_setup_indexed_vertices
+ (shape, cbox_ntris, cbox_get_ids, cbox_nverts, attribs, 0, data) == RES_BAD_ARG);
attribs[0] = S3D_VERTEX_DATA_NULL;
- CHECK(s3d_mesh_setup_indexed_vertices
- (shape, cbox_ntris, cbox_get_ids, cbox_nverts, attribs, 1, data), RES_BAD_ARG);
+ CHK(s3d_mesh_setup_indexed_vertices
+ (shape, cbox_ntris, cbox_get_ids, cbox_nverts, attribs, 1, data) == RES_BAD_ARG);
attribs[0].type = S3D_FLOAT3;
attribs[0].usage = S3D_POSITION;
attribs[0].get = S3D_KEEP;
- CHECK(s3d_mesh_setup_indexed_vertices
- (shape, cbox_ntris, cbox_get_ids, cbox_nverts, attribs, 1, data), RES_OK);
+ CHK(s3d_mesh_setup_indexed_vertices
+ (shape, cbox_ntris, cbox_get_ids, cbox_nverts, attribs, 1, data) == RES_OK);
attribs[0].get = cbox_get_position;
- CHECK(s3d_mesh_setup_indexed_vertices
- (shape, cbox_ntris, S3D_KEEP, cbox_nverts, attribs, 1, data), RES_OK);
+ CHK(s3d_mesh_setup_indexed_vertices
+ (shape, cbox_ntris, S3D_KEEP, cbox_nverts, attribs, 1, data) == RES_OK);
attribs[0].type = S3D_FLOAT3;
attribs[0].usage = S3D_ATTRIB_0;
attribs[0].get = cbox_get_normal;
- CHECK(s3d_mesh_setup_indexed_vertices
- (shape, cbox_ntris, S3D_KEEP, cbox_nverts, attribs, 1, data), RES_BAD_ARG);
+ CHK(s3d_mesh_setup_indexed_vertices
+ (shape, cbox_ntris, S3D_KEEP, cbox_nverts, attribs, 1, data) == RES_BAD_ARG);
attribs[1].type = S3D_FLOAT3;
attribs[1].usage = S3D_POSITION;
attribs[1].get = S3D_KEEP;
- CHECK(s3d_mesh_setup_indexed_vertices
- (shape, cbox_ntris, S3D_KEEP, cbox_nverts, attribs, 2, data), RES_OK);
+ CHK(s3d_mesh_setup_indexed_vertices
+ (shape, cbox_ntris, S3D_KEEP, cbox_nverts, attribs, 2, data) == RES_OK);
attribs[2].type = S3D_FLOAT2;
attribs[2].usage = S3D_ATTRIB_2;
attribs[2].get = cbox_get_uv;
- CHECK(s3d_mesh_setup_indexed_vertices
- (shape, cbox_ntris, S3D_KEEP, cbox_nverts, attribs, 3, data), RES_OK);
+ CHK(s3d_mesh_setup_indexed_vertices
+ (shape, cbox_ntris, S3D_KEEP, cbox_nverts, attribs, 3, data) == RES_OK);
attribs[0].get = S3D_KEEP;
attribs[1].get = S3D_KEEP;
attribs[2].get = S3D_KEEP;
- CHECK(s3d_mesh_setup_indexed_vertices
- (shape, 2, S3D_KEEP, cbox_nverts, attribs, 3, data), RES_BAD_ARG);
- CHECK(s3d_mesh_setup_indexed_vertices
- (shape, cbox_ntris, S3D_KEEP, cbox_nverts+1, attribs, 3, data), RES_BAD_ARG);
- CHECK(s3d_mesh_setup_indexed_vertices
- (shape, cbox_ntris, S3D_KEEP, cbox_nverts, attribs, 3, data), RES_OK);
+ CHK(s3d_mesh_setup_indexed_vertices
+ (shape, 2, S3D_KEEP, cbox_nverts, attribs, 3, data) == RES_BAD_ARG);
+ CHK(s3d_mesh_setup_indexed_vertices
+ (shape, cbox_ntris, S3D_KEEP, cbox_nverts+1, attribs, 3, data) == RES_BAD_ARG);
+ CHK(s3d_mesh_setup_indexed_vertices
+ (shape, cbox_ntris, S3D_KEEP, cbox_nverts, attribs, 3, data) == RES_OK);
attribs[2].type = S3D_FLOAT3;
- CHECK(s3d_mesh_setup_indexed_vertices
- (shape, cbox_ntris, S3D_KEEP, cbox_nverts, attribs, 3, data), RES_BAD_ARG);
+ CHK(s3d_mesh_setup_indexed_vertices
+ (shape, cbox_ntris, S3D_KEEP, cbox_nverts, attribs, 3, data) == RES_BAD_ARG);
attribs[0].get = cbox_get_position;
- CHECK(s3d_mesh_setup_indexed_vertices
- (shape, cbox_ntris, S3D_KEEP, cbox_nverts, attribs, 2, data), RES_OK);
-
- CHECK(s3d_mesh_get_vertices_count(NULL, NULL), RES_BAD_ARG);
- CHECK(s3d_mesh_get_vertices_count(shape, NULL), RES_BAD_ARG);
- CHECK(s3d_mesh_get_vertices_count(NULL, &nverts), RES_BAD_ARG);
- CHECK(s3d_mesh_get_vertices_count(shape, &nverts), RES_OK);
- CHECK(nverts, cbox_nverts);
-
- CHECK(s3d_mesh_get_vertex_attrib(NULL, nverts, S3D_ATTRIBS_COUNT__, NULL), RES_BAD_ARG);
- CHECK(s3d_mesh_get_vertex_attrib(shape, nverts, S3D_ATTRIBS_COUNT__, NULL), RES_BAD_ARG);
- CHECK(s3d_mesh_get_vertex_attrib(NULL, 0, S3D_ATTRIBS_COUNT__, NULL), RES_BAD_ARG);
- CHECK(s3d_mesh_get_vertex_attrib(shape, 0, S3D_ATTRIBS_COUNT__, NULL), RES_BAD_ARG);
- CHECK(s3d_mesh_get_vertex_attrib(NULL, nverts, S3D_POSITION, NULL), RES_BAD_ARG);
- CHECK(s3d_mesh_get_vertex_attrib(shape, nverts, S3D_POSITION, NULL), RES_BAD_ARG);
- CHECK(s3d_mesh_get_vertex_attrib(NULL, 0, S3D_POSITION, NULL), RES_BAD_ARG);
- CHECK(s3d_mesh_get_vertex_attrib(shape, 0, S3D_POSITION, NULL), RES_BAD_ARG);
- CHECK(s3d_mesh_get_vertex_attrib(NULL, nverts, S3D_ATTRIBS_COUNT__, &attr), RES_BAD_ARG);
- CHECK(s3d_mesh_get_vertex_attrib(shape, nverts, S3D_ATTRIBS_COUNT__, &attr), RES_BAD_ARG);
- CHECK(s3d_mesh_get_vertex_attrib(NULL, 0, S3D_ATTRIBS_COUNT__, &attr), RES_BAD_ARG);
- CHECK(s3d_mesh_get_vertex_attrib(shape, 0, S3D_ATTRIBS_COUNT__, &attr), RES_BAD_ARG);
- CHECK(s3d_mesh_get_vertex_attrib(NULL, nverts, S3D_POSITION, &attr), RES_BAD_ARG);
- CHECK(s3d_mesh_get_vertex_attrib(shape, nverts, S3D_POSITION, &attr), RES_BAD_ARG);
- CHECK(s3d_mesh_get_vertex_attrib(NULL, 0, S3D_POSITION, &attr), RES_BAD_ARG);
+ CHK(s3d_mesh_setup_indexed_vertices
+ (shape, cbox_ntris, S3D_KEEP, cbox_nverts, attribs, 2, data) == RES_OK);
+
+ CHK(s3d_mesh_get_vertices_count(NULL, NULL) == RES_BAD_ARG);
+ CHK(s3d_mesh_get_vertices_count(shape, NULL) == RES_BAD_ARG);
+ CHK(s3d_mesh_get_vertices_count(NULL, &nverts) == RES_BAD_ARG);
+ CHK(s3d_mesh_get_vertices_count(shape, &nverts) == RES_OK);
+ CHK(nverts == cbox_nverts);
+
+ CHK(s3d_mesh_get_vertex_attrib(NULL, nverts, S3D_ATTRIBS_COUNT__, NULL) == RES_BAD_ARG);
+ CHK(s3d_mesh_get_vertex_attrib(shape, nverts, S3D_ATTRIBS_COUNT__, NULL) == RES_BAD_ARG);
+ CHK(s3d_mesh_get_vertex_attrib(NULL, 0, S3D_ATTRIBS_COUNT__, NULL) == RES_BAD_ARG);
+ CHK(s3d_mesh_get_vertex_attrib(shape, 0, S3D_ATTRIBS_COUNT__, NULL) == RES_BAD_ARG);
+ CHK(s3d_mesh_get_vertex_attrib(NULL, nverts, S3D_POSITION, NULL) == RES_BAD_ARG);
+ CHK(s3d_mesh_get_vertex_attrib(shape, nverts, S3D_POSITION, NULL) == RES_BAD_ARG);
+ CHK(s3d_mesh_get_vertex_attrib(NULL, 0, S3D_POSITION, NULL) == RES_BAD_ARG);
+ CHK(s3d_mesh_get_vertex_attrib(shape, 0, S3D_POSITION, NULL) == RES_BAD_ARG);
+ CHK(s3d_mesh_get_vertex_attrib(NULL, nverts, S3D_ATTRIBS_COUNT__, &attr) == RES_BAD_ARG);
+ CHK(s3d_mesh_get_vertex_attrib(shape, nverts, S3D_ATTRIBS_COUNT__, &attr) == RES_BAD_ARG);
+ CHK(s3d_mesh_get_vertex_attrib(NULL, 0, S3D_ATTRIBS_COUNT__, &attr) == RES_BAD_ARG);
+ CHK(s3d_mesh_get_vertex_attrib(shape, 0, S3D_ATTRIBS_COUNT__, &attr) == RES_BAD_ARG);
+ CHK(s3d_mesh_get_vertex_attrib(NULL, nverts, S3D_POSITION, &attr) == RES_BAD_ARG);
+ CHK(s3d_mesh_get_vertex_attrib(shape, nverts, S3D_POSITION, &attr) == RES_BAD_ARG);
+ CHK(s3d_mesh_get_vertex_attrib(NULL, 0, S3D_POSITION, &attr) == RES_BAD_ARG);
FOR_EACH(id, 0, nverts) {
cbox_get_position(id, pos, data);
- CHECK(s3d_mesh_get_vertex_attrib(shape, id, S3D_POSITION, &attr), RES_OK);
- CHECK(attr.type, S3D_FLOAT3);
- CHECK(attr.usage, S3D_POSITION);
- CHECK(f3_eq_eps(attr.value, pos, 1.e-6f), 1);
+ CHK(s3d_mesh_get_vertex_attrib(shape, id, S3D_POSITION, &attr) == RES_OK);
+ CHK(attr.type == S3D_FLOAT3);
+ CHK(attr.usage == S3D_POSITION);
+ CHK(f3_eq_eps(attr.value, pos, 1.e-6f) == 1);
- CHECK(s3d_mesh_get_vertex_attrib(shape, id, S3D_ATTRIB_0, &attr), RES_OK);
- CHECK(attr.type, S3D_FLOAT3);
- CHECK(attr.usage, S3D_ATTRIB_0);
- CHECK(f3_eq_eps(attr.value, pos, 1.e-6f), 1);
+ CHK(s3d_mesh_get_vertex_attrib(shape, id, S3D_ATTRIB_0, &attr) == RES_OK);
+ CHK(attr.type == S3D_FLOAT3);
+ CHK(attr.usage == S3D_ATTRIB_0);
+ CHK(f3_eq_eps(attr.value, pos, 1.e-6f) == 1);
}
- CHECK(s3d_mesh_get_vertex_attrib(shape, id, S3D_ATTRIB_1, &attr), RES_BAD_ARG);
-
- CHECK(s3d_mesh_get_triangles_count(NULL, NULL), RES_BAD_ARG);
- CHECK(s3d_mesh_get_triangles_count(shape, NULL), RES_BAD_ARG);
- CHECK(s3d_mesh_get_triangles_count(NULL, &ntris), RES_BAD_ARG);
- CHECK(s3d_mesh_get_triangles_count(shape, &ntris), RES_OK);
- CHECK(ntris, cbox_ntris);
-
- CHECK(s3d_mesh_get_triangle_indices(NULL, ntris, NULL), RES_BAD_ARG);
- CHECK(s3d_mesh_get_triangle_indices(shape, ntris, NULL), RES_BAD_ARG);
- CHECK(s3d_mesh_get_triangle_indices(NULL, 0, NULL), RES_BAD_ARG);
- CHECK(s3d_mesh_get_triangle_indices(shape, 0, NULL), RES_BAD_ARG);
- CHECK(s3d_mesh_get_triangle_indices(NULL, ntris, ids), RES_BAD_ARG);
- CHECK(s3d_mesh_get_triangle_indices(shape, ntris, ids), RES_BAD_ARG);
- CHECK(s3d_mesh_get_triangle_indices(NULL, 0, ids), RES_BAD_ARG);
+ CHK(s3d_mesh_get_vertex_attrib(shape, id, S3D_ATTRIB_1, &attr) == RES_BAD_ARG);
+
+ CHK(s3d_mesh_get_triangles_count(NULL, NULL) == RES_BAD_ARG);
+ CHK(s3d_mesh_get_triangles_count(shape, NULL) == RES_BAD_ARG);
+ CHK(s3d_mesh_get_triangles_count(NULL, &ntris) == RES_BAD_ARG);
+ CHK(s3d_mesh_get_triangles_count(shape, &ntris) == RES_OK);
+ CHK(ntris == cbox_ntris);
+
+ CHK(s3d_mesh_get_triangle_indices(NULL, ntris, NULL) == RES_BAD_ARG);
+ CHK(s3d_mesh_get_triangle_indices(shape, ntris, NULL) == RES_BAD_ARG);
+ CHK(s3d_mesh_get_triangle_indices(NULL, 0, NULL) == RES_BAD_ARG);
+ CHK(s3d_mesh_get_triangle_indices(shape, 0, NULL) == RES_BAD_ARG);
+ CHK(s3d_mesh_get_triangle_indices(NULL, ntris, ids) == RES_BAD_ARG);
+ CHK(s3d_mesh_get_triangle_indices(shape, ntris, ids) == RES_BAD_ARG);
+ CHK(s3d_mesh_get_triangle_indices(NULL, 0, ids) == RES_BAD_ARG);
FOR_EACH(id, 0, ntris) {
unsigned indices[3];
- CHECK(s3d_mesh_get_triangle_indices(shape, id, ids), RES_OK);
+ CHK(s3d_mesh_get_triangle_indices(shape, id, ids) == RES_OK);
cbox_get_ids(id, indices, data);
- CHECK(ids[0], indices[0]);
- CHECK(ids[1], indices[1]);
- CHECK(ids[2], indices[2]);
+ CHK(ids[0] == indices[0]);
+ CHK(ids[1] == indices[1]);
+ CHK(ids[2] == indices[2]);
}
- CHECK(s3d_shape_is_enabled(NULL, NULL), RES_BAD_ARG);
- CHECK(s3d_shape_is_enabled(shape, NULL), RES_BAD_ARG);
- CHECK(s3d_shape_is_enabled(NULL, &c), RES_BAD_ARG);
- CHECK(s3d_shape_is_enabled(shape, &c), RES_OK);
- NCHECK(c, 0);
-
- CHECK(s3d_shape_enable(NULL, 0), RES_BAD_ARG);
- CHECK(s3d_shape_enable(shape, 0), RES_OK);
- CHECK(s3d_shape_is_enabled(shape, &c), RES_OK);
- CHECK(c, 0);
-
- CHECK(s3d_shape_flip_surface(NULL), RES_BAD_ARG);
- CHECK(s3d_shape_flip_surface(shape), RES_OK);
- CHECK(s3d_shape_flip_surface(shape), RES_OK);
-
- CHECK(s3d_mesh_set_hit_filter_function(NULL, NULL, NULL), RES_BAD_ARG);
- CHECK(s3d_mesh_set_hit_filter_function(shape, NULL, NULL), RES_OK);
- CHECK(s3d_mesh_set_hit_filter_function(NULL, filter_none, NULL), RES_BAD_ARG);
- CHECK(s3d_mesh_set_hit_filter_function(shape, filter_none, NULL), RES_OK);
-
- CHECK(s3d_mesh_get_hit_filter_data(NULL, NULL), RES_BAD_ARG);
- CHECK(s3d_mesh_get_hit_filter_data(shape, NULL), RES_BAD_ARG);
- CHECK(s3d_mesh_get_hit_filter_data(NULL, &data), RES_BAD_ARG);
- CHECK(s3d_mesh_get_hit_filter_data(shape, &data), RES_OK);
- CHECK(data, NULL);
-
- CHECK(s3d_mesh_set_hit_filter_function(shape, NULL, NULL), RES_OK);
- CHECK(s3d_mesh_get_hit_filter_data(shape, &data), RES_OK);
- CHECK(data, NULL);
- CHECK(s3d_mesh_set_hit_filter_function
- (shape, filter_none, (void*)((uintptr_t)0xDEADBEEF)), RES_OK);
- CHECK(s3d_mesh_get_hit_filter_data(shape, &data), RES_OK);
- CHECK((uintptr_t)data, 0xDEADBEEF);
-
- CHECK(s3d_scene_attach_shape(scn, shape), RES_OK);
-
- CHECK(s3d_scene_instantiate(scn, &inst), RES_OK);
-
- CHECK(s3d_instance_set_position(NULL, NULL), RES_BAD_ARG);
- CHECK(s3d_instance_set_position(inst, NULL), RES_BAD_ARG);
- CHECK(s3d_instance_set_position(NULL, pos), RES_BAD_ARG);
- CHECK(s3d_instance_set_position(inst, pos), RES_OK);
- CHECK(s3d_instance_set_position(shape, pos), RES_BAD_ARG);
-
- CHECK(s3d_instance_translate(NULL, -1, NULL), RES_BAD_ARG);
- CHECK(s3d_instance_translate(inst, -1, NULL), RES_BAD_ARG);
- CHECK(s3d_instance_translate(NULL, S3D_LOCAL_TRANSFORM, NULL), RES_BAD_ARG);
- CHECK(s3d_instance_translate(inst, S3D_LOCAL_TRANSFORM, NULL), RES_BAD_ARG);
- CHECK(s3d_instance_translate(NULL, -1, pos), RES_BAD_ARG);
- CHECK(s3d_instance_translate(inst, -1, pos), RES_BAD_ARG);
- CHECK(s3d_instance_translate(NULL, S3D_LOCAL_TRANSFORM, pos), RES_BAD_ARG);
- CHECK(s3d_instance_translate(inst, S3D_LOCAL_TRANSFORM, pos), RES_OK);
- CHECK(s3d_instance_translate(inst, S3D_WORLD_TRANSFORM, pos), RES_OK);
- CHECK(s3d_instance_translate(shape, S3D_WORLD_TRANSFORM, pos), RES_BAD_ARG);
-
- CHECK(s3d_instance_transform(NULL, -1, NULL), RES_BAD_ARG);
- CHECK(s3d_instance_transform(inst, -1, NULL), RES_BAD_ARG);
- CHECK(s3d_instance_transform(NULL, S3D_LOCAL_TRANSFORM, NULL), RES_BAD_ARG);
- CHECK(s3d_instance_transform(inst, S3D_LOCAL_TRANSFORM, NULL), RES_BAD_ARG);
- CHECK(s3d_instance_transform(NULL, -1, trans), RES_BAD_ARG);
- CHECK(s3d_instance_transform(inst, -1, trans), RES_BAD_ARG);
- CHECK(s3d_instance_transform(NULL, S3D_LOCAL_TRANSFORM, trans), RES_BAD_ARG);
- CHECK(s3d_instance_transform(inst, S3D_LOCAL_TRANSFORM, trans), RES_OK);
- CHECK(s3d_instance_transform(inst, S3D_WORLD_TRANSFORM, trans), RES_OK);
- CHECK(s3d_instance_transform(shape, S3D_LOCAL_TRANSFORM, trans), RES_BAD_ARG);
-
- CHECK(s3d_instance_set_transform(NULL, NULL), RES_BAD_ARG);
- CHECK(s3d_instance_set_transform(inst, NULL), RES_BAD_ARG);
- CHECK(s3d_instance_set_transform(NULL, trans), RES_BAD_ARG);
- CHECK(s3d_instance_set_transform(shape, trans), RES_BAD_ARG);
- CHECK(s3d_instance_set_transform(inst, trans), RES_OK);
-
- CHECK(s3d_shape_flip_surface(inst), RES_OK);
-
- CHECK(s3d_shape_create_mesh(dev, &shape_copy), RES_OK);
- CHECK(s3d_mesh_copy(NULL, NULL), RES_BAD_ARG);
- CHECK(s3d_mesh_copy(shape, NULL), RES_BAD_ARG);
- CHECK(s3d_mesh_copy(NULL, shape_copy), RES_BAD_ARG);
- CHECK(s3d_mesh_copy(shape, shape_copy), RES_OK);
-
- CHECK(s3d_shape_ref_get(NULL), RES_BAD_ARG);
- CHECK(s3d_shape_ref_get(shape), RES_OK);
- CHECK(s3d_shape_ref_put(NULL), RES_BAD_ARG);
- CHECK(s3d_shape_ref_put(shape), RES_OK);
- CHECK(s3d_shape_ref_put(shape), RES_OK);
- CHECK(s3d_shape_ref_put(inst), RES_OK);
- CHECK(s3d_shape_ref_put(shape_copy), RES_OK);
- CHECK(s3d_scene_ref_put(scn), RES_OK);
-
- CHECK(s3d_device_ref_put(dev), RES_OK);;
+ CHK(s3d_shape_is_enabled(NULL, NULL) == RES_BAD_ARG);
+ CHK(s3d_shape_is_enabled(shape, NULL) == RES_BAD_ARG);
+ CHK(s3d_shape_is_enabled(NULL, &c) == RES_BAD_ARG);
+ CHK(s3d_shape_is_enabled(shape, &c) == RES_OK);
+ CHK(c != 0);
+
+ CHK(s3d_shape_enable(NULL, 0) == RES_BAD_ARG);
+ CHK(s3d_shape_enable(shape, 0) == RES_OK);
+ CHK(s3d_shape_is_enabled(shape, &c) == RES_OK);
+ CHK(c == 0);
+
+ CHK(s3d_shape_flip_surface(NULL) == RES_BAD_ARG);
+ CHK(s3d_shape_flip_surface(shape) == RES_OK);
+ CHK(s3d_shape_flip_surface(shape) == RES_OK);
+
+ CHK(s3d_mesh_set_hit_filter_function(NULL, NULL, NULL) == RES_BAD_ARG);
+ CHK(s3d_mesh_set_hit_filter_function(shape, NULL, NULL) == RES_OK);
+ CHK(s3d_mesh_set_hit_filter_function(NULL, filter_none, NULL) == RES_BAD_ARG);
+ CHK(s3d_mesh_set_hit_filter_function(shape, filter_none, NULL) == RES_OK);
+
+ CHK(s3d_mesh_get_hit_filter_data(NULL, NULL) == RES_BAD_ARG);
+ CHK(s3d_mesh_get_hit_filter_data(shape, NULL) == RES_BAD_ARG);
+ CHK(s3d_mesh_get_hit_filter_data(NULL, &data) == RES_BAD_ARG);
+ CHK(s3d_mesh_get_hit_filter_data(shape, &data) == RES_OK);
+ CHK(data == NULL);
+
+ CHK(s3d_mesh_set_hit_filter_function(shape, NULL, NULL) == RES_OK);
+ CHK(s3d_mesh_get_hit_filter_data(shape, &data) == RES_OK);
+ CHK(data == NULL);
+ CHK(s3d_mesh_set_hit_filter_function
+ (shape, filter_none, (void*)((uintptr_t)0xDEADBEEF)) == RES_OK);
+ CHK(s3d_mesh_get_hit_filter_data(shape, &data) == RES_OK);
+ CHK((uintptr_t)data == 0xDEADBEEF);
+
+ CHK(s3d_scene_attach_shape(scn, shape) == RES_OK);
+
+ CHK(s3d_scene_instantiate(scn, &inst) == RES_OK);
+
+ CHK(s3d_instance_set_position(NULL, NULL) == RES_BAD_ARG);
+ CHK(s3d_instance_set_position(inst, NULL) == RES_BAD_ARG);
+ CHK(s3d_instance_set_position(NULL, pos) == RES_BAD_ARG);
+ CHK(s3d_instance_set_position(inst, pos) == RES_OK);
+ CHK(s3d_instance_set_position(shape, pos) == RES_BAD_ARG);
+
+ CHK(s3d_instance_translate(NULL, -1, NULL) == RES_BAD_ARG);
+ CHK(s3d_instance_translate(inst, -1, NULL) == RES_BAD_ARG);
+ CHK(s3d_instance_translate(NULL, S3D_LOCAL_TRANSFORM, NULL) == RES_BAD_ARG);
+ CHK(s3d_instance_translate(inst, S3D_LOCAL_TRANSFORM, NULL) == RES_BAD_ARG);
+ CHK(s3d_instance_translate(NULL, -1, pos) == RES_BAD_ARG);
+ CHK(s3d_instance_translate(inst, -1, pos) == RES_BAD_ARG);
+ CHK(s3d_instance_translate(NULL, S3D_LOCAL_TRANSFORM, pos) == RES_BAD_ARG);
+ CHK(s3d_instance_translate(inst, S3D_LOCAL_TRANSFORM, pos) == RES_OK);
+ CHK(s3d_instance_translate(inst, S3D_WORLD_TRANSFORM, pos) == RES_OK);
+ CHK(s3d_instance_translate(shape, S3D_WORLD_TRANSFORM, pos) == RES_BAD_ARG);
+
+ CHK(s3d_instance_transform(NULL, -1, NULL) == RES_BAD_ARG);
+ CHK(s3d_instance_transform(inst, -1, NULL) == RES_BAD_ARG);
+ CHK(s3d_instance_transform(NULL, S3D_LOCAL_TRANSFORM, NULL) == RES_BAD_ARG);
+ CHK(s3d_instance_transform(inst, S3D_LOCAL_TRANSFORM, NULL) == RES_BAD_ARG);
+ CHK(s3d_instance_transform(NULL, -1, trans) == RES_BAD_ARG);
+ CHK(s3d_instance_transform(inst, -1, trans) == RES_BAD_ARG);
+ CHK(s3d_instance_transform(NULL, S3D_LOCAL_TRANSFORM, trans) == RES_BAD_ARG);
+ CHK(s3d_instance_transform(inst, S3D_LOCAL_TRANSFORM, trans) == RES_OK);
+ CHK(s3d_instance_transform(inst, S3D_WORLD_TRANSFORM, trans) == RES_OK);
+ CHK(s3d_instance_transform(shape, S3D_LOCAL_TRANSFORM, trans) == RES_BAD_ARG);
+
+ CHK(s3d_instance_set_transform(NULL, NULL) == RES_BAD_ARG);
+ CHK(s3d_instance_set_transform(inst, NULL) == RES_BAD_ARG);
+ CHK(s3d_instance_set_transform(NULL, trans) == RES_BAD_ARG);
+ CHK(s3d_instance_set_transform(shape, trans) == RES_BAD_ARG);
+ CHK(s3d_instance_set_transform(inst, trans) == RES_OK);
+
+ CHK(s3d_shape_flip_surface(inst) == RES_OK);
+
+ CHK(s3d_shape_create_mesh(dev, &shape_copy) == RES_OK);
+ CHK(s3d_mesh_copy(NULL, NULL) == RES_BAD_ARG);
+ CHK(s3d_mesh_copy(shape, NULL) == RES_BAD_ARG);
+ CHK(s3d_mesh_copy(NULL, shape_copy) == RES_BAD_ARG);
+ CHK(s3d_mesh_copy(shape, shape_copy) == RES_OK);
+
+ CHK(s3d_shape_ref_get(NULL) == RES_BAD_ARG);
+ CHK(s3d_shape_ref_get(shape) == RES_OK);
+ CHK(s3d_shape_ref_put(NULL) == RES_BAD_ARG);
+ CHK(s3d_shape_ref_put(shape) == RES_OK);
+ CHK(s3d_shape_ref_put(shape) == RES_OK);
+ CHK(s3d_shape_ref_put(inst) == RES_OK);
+ CHK(s3d_shape_ref_put(shape_copy) == RES_OK);
+ CHK(s3d_scene_ref_put(scn) == RES_OK);
+
+ CHK(s3d_device_ref_put(dev) == RES_OK);;
check_memory_allocator(&allocator);
mem_shutdown_proxy_allocator(&allocator);
- CHECK(mem_allocated_size(), 0);
+ CHK(mem_allocated_size() == 0);
return 0;
}
diff --git a/src/test_s3d_trace_ray.c b/src/test_s3d_trace_ray.c
@@ -51,12 +51,12 @@ filter_func
void* ray_data,
void* filter_data)
{
- NCHECK(hit, NULL);
- NCHECK(pos, NULL);
- NCHECK(dir, NULL);
- CHECK((uintptr_t)ray_data, 0xDEADBEEF);
- CHECK((uintptr_t)filter_data, 0xDECAFBAD);
- CHECK(S3D_HIT_NONE(hit), 0);
+ CHK(hit != NULL);
+ CHK(pos != NULL);
+ CHK(dir != NULL);
+ CHK((uintptr_t)ray_data == 0xDEADBEEF);
+ CHK((uintptr_t)filter_data == 0xDECAFBAD);
+ CHK(S3D_HIT_NONE(hit) == 0);
return hit->prim.prim_id % 2 == 0;
}
@@ -103,11 +103,11 @@ main(int argc, char** argv)
}
image_init(&allocator, &img);
- CHECK(image_setup
- (&img, IMG_WIDTH, IMG_HEIGHT, IMG_WIDTH*3, IMAGE_RGB8, NULL), RES_OK);
+ CHK(image_setup
+ (&img, IMG_WIDTH, IMG_HEIGHT, IMG_WIDTH*3, IMAGE_RGB8, NULL) == RES_OK);
- CHECK(s3d_device_create(NULL, &allocator, 0, &dev), RES_OK);
- CHECK(s3d_scene_create(dev, &scn), RES_OK);
+ CHK(s3d_device_create(NULL, &allocator, 0, &dev) == RES_OK);
+ CHK(s3d_scene_create(dev, &scn) == RES_OK);
attribs.usage = S3D_POSITION;
attribs.type = S3D_FLOAT3;
@@ -117,154 +117,154 @@ main(int argc, char** argv)
nverts = cbox_walls_nverts;
desc.vertices = cbox_walls;
desc.indices = cbox_walls_ids;
- CHECK(s3d_shape_create_mesh(dev, &walls), RES_OK);
- CHECK(s3d_mesh_setup_indexed_vertices
- (walls, ntris, cbox_get_ids, nverts, &attribs, 1, &desc), RES_OK);
- CHECK(s3d_scene_attach_shape(scn, walls), RES_OK);
- CHECK(s3d_shape_ref_put(walls), RES_OK);
-
- CHECK(s3d_scene_view_create(scn, S3D_TRACE, &scnview), RES_OK);
- CHECK(s3d_scene_view_trace_ray(NULL, NULL, NULL, NULL, NULL, NULL), RES_BAD_ARG);
- CHECK(s3d_scene_view_trace_ray(scnview, NULL, NULL, NULL, NULL, NULL), RES_BAD_ARG);
- CHECK(s3d_scene_view_trace_ray(NULL, org, NULL, NULL, NULL, NULL), RES_BAD_ARG);
- CHECK(s3d_scene_view_trace_ray(scnview, org, NULL, NULL, NULL, NULL), RES_BAD_ARG);
- CHECK(s3d_scene_view_trace_ray(NULL, NULL, dir, NULL, NULL, NULL), RES_BAD_ARG);
- CHECK(s3d_scene_view_trace_ray(scnview, NULL, dir, NULL, NULL, NULL), RES_BAD_ARG);
- CHECK(s3d_scene_view_trace_ray(NULL, org, dir, NULL, NULL, NULL), RES_BAD_ARG);
- CHECK(s3d_scene_view_trace_ray(scnview, org, dir, NULL, NULL, NULL), RES_BAD_ARG);
- CHECK(s3d_scene_view_trace_ray(NULL, NULL, NULL, range, NULL, NULL), RES_BAD_ARG);
- CHECK(s3d_scene_view_trace_ray(scnview, NULL, NULL, range, NULL, NULL), RES_BAD_ARG);
- CHECK(s3d_scene_view_trace_ray(NULL, org, NULL, range, NULL, NULL), RES_BAD_ARG);
- CHECK(s3d_scene_view_trace_ray(scnview, org, NULL, range, NULL, NULL), RES_BAD_ARG);
- CHECK(s3d_scene_view_trace_ray(NULL, NULL, dir, range, NULL, NULL), RES_BAD_ARG);
- CHECK(s3d_scene_view_trace_ray(scnview, NULL, dir, range, NULL, NULL), RES_BAD_ARG);
- CHECK(s3d_scene_view_trace_ray(NULL, org, dir, range, NULL, NULL), RES_BAD_ARG);
- CHECK(s3d_scene_view_trace_ray(scnview, org, dir, range, NULL, NULL), RES_BAD_ARG);
- CHECK(s3d_scene_view_trace_ray(NULL, NULL, NULL, NULL, NULL, &hit), RES_BAD_ARG);
- CHECK(s3d_scene_view_trace_ray(scnview, NULL, NULL, NULL, NULL, &hit), RES_BAD_ARG);
- CHECK(s3d_scene_view_trace_ray(NULL, org, NULL, NULL, NULL, &hit), RES_BAD_ARG);
- CHECK(s3d_scene_view_trace_ray(scnview, org, NULL, NULL, NULL, &hit), RES_BAD_ARG);
- CHECK(s3d_scene_view_trace_ray(NULL, NULL, dir, NULL, NULL, &hit), RES_BAD_ARG);
- CHECK(s3d_scene_view_trace_ray(scnview, NULL, dir, NULL, NULL, &hit), RES_BAD_ARG);
- CHECK(s3d_scene_view_trace_ray(NULL, org, dir, NULL, NULL, &hit), RES_BAD_ARG);
- CHECK(s3d_scene_view_trace_ray(scnview, org, dir, NULL, NULL, &hit), RES_BAD_ARG);
- CHECK(s3d_scene_view_trace_ray(NULL, NULL, NULL, range, NULL, &hit), RES_BAD_ARG);
- CHECK(s3d_scene_view_trace_ray(scnview, NULL, NULL, range, NULL, &hit), RES_BAD_ARG);
- CHECK(s3d_scene_view_trace_ray(NULL, org, NULL, range, NULL, &hit), RES_BAD_ARG);
- CHECK(s3d_scene_view_trace_ray(scnview, org, NULL, range, NULL, &hit), RES_BAD_ARG);
- CHECK(s3d_scene_view_trace_ray(NULL, NULL, dir, range, NULL, &hit), RES_BAD_ARG);
- CHECK(s3d_scene_view_trace_ray(scnview, NULL, dir, range, NULL, &hit), RES_BAD_ARG);
- CHECK(s3d_scene_view_trace_ray(NULL, org, dir, range, NULL, &hit), RES_BAD_ARG);
- CHECK(s3d_scene_view_trace_ray(scnview, org, dir, range, NULL, &hit), RES_OK);
- CHECK(s3d_scene_view_trace_ray(scnview, org, dir, range, NULL, &hit), RES_OK);
+ CHK(s3d_shape_create_mesh(dev, &walls) == RES_OK);
+ CHK(s3d_mesh_setup_indexed_vertices
+ (walls, ntris, cbox_get_ids, nverts, &attribs, 1, &desc) == RES_OK);
+ CHK(s3d_scene_attach_shape(scn, walls) == RES_OK);
+ CHK(s3d_shape_ref_put(walls) == RES_OK);
+
+ CHK(s3d_scene_view_create(scn, S3D_TRACE, &scnview) == RES_OK);
+ CHK(s3d_scene_view_trace_ray(NULL, NULL, NULL, NULL, NULL, NULL) == RES_BAD_ARG);
+ CHK(s3d_scene_view_trace_ray(scnview, NULL, NULL, NULL, NULL, NULL) == RES_BAD_ARG);
+ CHK(s3d_scene_view_trace_ray(NULL, org, NULL, NULL, NULL, NULL) == RES_BAD_ARG);
+ CHK(s3d_scene_view_trace_ray(scnview, org, NULL, NULL, NULL, NULL) == RES_BAD_ARG);
+ CHK(s3d_scene_view_trace_ray(NULL, NULL, dir, NULL, NULL, NULL) == RES_BAD_ARG);
+ CHK(s3d_scene_view_trace_ray(scnview, NULL, dir, NULL, NULL, NULL) == RES_BAD_ARG);
+ CHK(s3d_scene_view_trace_ray(NULL, org, dir, NULL, NULL, NULL) == RES_BAD_ARG);
+ CHK(s3d_scene_view_trace_ray(scnview, org, dir, NULL, NULL, NULL) == RES_BAD_ARG);
+ CHK(s3d_scene_view_trace_ray(NULL, NULL, NULL, range, NULL, NULL) == RES_BAD_ARG);
+ CHK(s3d_scene_view_trace_ray(scnview, NULL, NULL, range, NULL, NULL) == RES_BAD_ARG);
+ CHK(s3d_scene_view_trace_ray(NULL, org, NULL, range, NULL, NULL) == RES_BAD_ARG);
+ CHK(s3d_scene_view_trace_ray(scnview, org, NULL, range, NULL, NULL) == RES_BAD_ARG);
+ CHK(s3d_scene_view_trace_ray(NULL, NULL, dir, range, NULL, NULL) == RES_BAD_ARG);
+ CHK(s3d_scene_view_trace_ray(scnview, NULL, dir, range, NULL, NULL) == RES_BAD_ARG);
+ CHK(s3d_scene_view_trace_ray(NULL, org, dir, range, NULL, NULL) == RES_BAD_ARG);
+ CHK(s3d_scene_view_trace_ray(scnview, org, dir, range, NULL, NULL) == RES_BAD_ARG);
+ CHK(s3d_scene_view_trace_ray(NULL, NULL, NULL, NULL, NULL, &hit) == RES_BAD_ARG);
+ CHK(s3d_scene_view_trace_ray(scnview, NULL, NULL, NULL, NULL, &hit) == RES_BAD_ARG);
+ CHK(s3d_scene_view_trace_ray(NULL, org, NULL, NULL, NULL, &hit) == RES_BAD_ARG);
+ CHK(s3d_scene_view_trace_ray(scnview, org, NULL, NULL, NULL, &hit) == RES_BAD_ARG);
+ CHK(s3d_scene_view_trace_ray(NULL, NULL, dir, NULL, NULL, &hit) == RES_BAD_ARG);
+ CHK(s3d_scene_view_trace_ray(scnview, NULL, dir, NULL, NULL, &hit) == RES_BAD_ARG);
+ CHK(s3d_scene_view_trace_ray(NULL, org, dir, NULL, NULL, &hit) == RES_BAD_ARG);
+ CHK(s3d_scene_view_trace_ray(scnview, org, dir, NULL, NULL, &hit) == RES_BAD_ARG);
+ CHK(s3d_scene_view_trace_ray(NULL, NULL, NULL, range, NULL, &hit) == RES_BAD_ARG);
+ CHK(s3d_scene_view_trace_ray(scnview, NULL, NULL, range, NULL, &hit) == RES_BAD_ARG);
+ CHK(s3d_scene_view_trace_ray(NULL, org, NULL, range, NULL, &hit) == RES_BAD_ARG);
+ CHK(s3d_scene_view_trace_ray(scnview, org, NULL, range, NULL, &hit) == RES_BAD_ARG);
+ CHK(s3d_scene_view_trace_ray(NULL, NULL, dir, range, NULL, &hit) == RES_BAD_ARG);
+ CHK(s3d_scene_view_trace_ray(scnview, NULL, dir, range, NULL, &hit) == RES_BAD_ARG);
+ CHK(s3d_scene_view_trace_ray(NULL, org, dir, range, NULL, &hit) == RES_BAD_ARG);
+ CHK(s3d_scene_view_trace_ray(scnview, org, dir, range, NULL, &hit) == RES_OK);
+ CHK(s3d_scene_view_trace_ray(scnview, org, dir, range, NULL, &hit) == RES_OK);
f3(dir, 1.f, 1.f, 1.f);
- CHECK(s3d_scene_view_trace_ray(scnview, org, dir, range, NULL, &hit), RES_BAD_ARG);
- CHECK(s3d_scene_view_ref_put(scnview), RES_OK);
+ CHK(s3d_scene_view_trace_ray(scnview, org, dir, range, NULL, &hit) == RES_BAD_ARG);
+ CHK(s3d_scene_view_ref_put(scnview) == RES_OK);
f3(dir, 0.f, 1.f, 0.f);
- CHECK(s3d_scene_clear(scn), RES_OK);
+ CHK(s3d_scene_clear(scn) == RES_OK);
/* Update the inst with the CBox tall block mesh */
ntris = cbox_block_ntris;
nverts = cbox_block_nverts;
desc.vertices = cbox_short_block;
desc.indices = cbox_block_ids;
- CHECK(s3d_shape_create_mesh(dev, &tall_block), RES_OK);
- CHECK(s3d_shape_get_id(tall_block, &tall_block_id), RES_OK);
- CHECK(s3d_mesh_setup_indexed_vertices
- (tall_block, ntris, cbox_get_ids, nverts, &attribs, 1, &desc), RES_OK);
- CHECK(s3d_scene_attach_shape(scn, tall_block), RES_OK);
+ CHK(s3d_shape_create_mesh(dev, &tall_block) == RES_OK);
+ CHK(s3d_shape_get_id(tall_block, &tall_block_id) == RES_OK);
+ CHK(s3d_mesh_setup_indexed_vertices
+ (tall_block, ntris, cbox_get_ids, nverts, &attribs, 1, &desc) == RES_OK);
+ CHK(s3d_scene_attach_shape(scn, tall_block) == RES_OK);
/* Update the inst vertices */
desc.vertices = cbox_tall_block;
- CHECK(s3d_mesh_setup_indexed_vertices
- (tall_block, ntris, S3D_KEEP, nverts, &attribs, 1, &desc), RES_OK);
+ CHK(s3d_mesh_setup_indexed_vertices
+ (tall_block, ntris, S3D_KEEP, nverts, &attribs, 1, &desc) == RES_OK);
/* Create a the CBox short block inst */
desc.vertices = cbox_short_block;
- CHECK(s3d_shape_create_mesh(dev, &short_block), RES_OK);
- CHECK(s3d_shape_get_id(short_block, &short_block_id), RES_OK);
- CHECK(s3d_mesh_setup_indexed_vertices
- (short_block, ntris, cbox_get_ids, nverts, &attribs, 1, &desc), RES_OK);
- CHECK(s3d_scene_attach_shape(scn, short_block), RES_OK);
+ CHK(s3d_shape_create_mesh(dev, &short_block) == RES_OK);
+ CHK(s3d_shape_get_id(short_block, &short_block_id) == RES_OK);
+ CHK(s3d_mesh_setup_indexed_vertices
+ (short_block, ntris, cbox_get_ids, nverts, &attribs, 1, &desc) == RES_OK);
+ CHK(s3d_scene_attach_shape(scn, short_block) == RES_OK);
/* Instantiate the scene */
- CHECK(s3d_scene_instantiate(scn, &inst), RES_OK);
- CHECK(s3d_scene_view_create(scn, S3D_SAMPLE, &scnview), RES_OK);
- CHECK(s3d_scene_view_primitives_count(scnview, &nprims), RES_OK);
- CHECK(nprims, 20);
- CHECK(s3d_scene_view_ref_put(scnview), RES_OK);
- CHECK(s3d_shape_get_id(inst, &inst_id), RES_OK);
+ CHK(s3d_scene_instantiate(scn, &inst) == RES_OK);
+ CHK(s3d_scene_view_create(scn, S3D_SAMPLE, &scnview) == RES_OK);
+ CHK(s3d_scene_view_primitives_count(scnview, &nprims) == RES_OK);
+ CHK(nprims == 20);
+ CHK(s3d_scene_view_ref_put(scnview) == RES_OK);
+ CHK(s3d_shape_get_id(inst, &inst_id) == RES_OK);
/* Create the CBox walls */
desc.indices = cbox_walls_ids;
desc.vertices = cbox_walls;
nverts = cbox_walls_nverts;
ntris = cbox_walls_ntris;
- CHECK(s3d_shape_create_mesh(dev, &walls), RES_OK);
- CHECK(s3d_shape_get_id(walls, &walls_id), RES_OK);
- CHECK(s3d_mesh_setup_indexed_vertices
- (walls, ntris, cbox_get_ids, nverts, &attribs, 1, &desc), RES_OK);
- CHECK(s3d_scene_attach_shape(scn, walls), RES_OK);
+ CHK(s3d_shape_create_mesh(dev, &walls) == RES_OK);
+ CHK(s3d_shape_get_id(walls, &walls_id) == RES_OK);
+ CHK(s3d_mesh_setup_indexed_vertices
+ (walls, ntris, cbox_get_ids, nverts, &attribs, 1, &desc) == RES_OK);
+ CHK(s3d_scene_attach_shape(scn, walls) == RES_OK);
/* Check that the ids are all different */
- NCHECK(walls_id, short_block_id);
- NCHECK(walls_id, tall_block_id);
- NCHECK(short_block_id, tall_block_id);
+ CHK(walls_id != short_block_id);
+ CHK(walls_id != tall_block_id);
+ CHK(short_block_id != tall_block_id);
/* Attach the CBox instance to a scene */
- CHECK(s3d_scene_create(dev, &scn2), RES_OK);
+ CHK(s3d_scene_create(dev, &scn2) == RES_OK);
f3(org, -100.f, 0.f, -2.f);
- CHECK(s3d_scene_attach_shape(scn2, inst), RES_OK);
- CHECK(s3d_instance_set_position(inst, org), RES_OK);
+ CHK(s3d_scene_attach_shape(scn2, inst) == RES_OK);
+ CHK(s3d_instance_set_position(inst, org) == RES_OK);
- CHECK(s3d_shape_enable(inst, 0), RES_OK);
- CHECK(s3d_scene_view_create(scn2, S3D_TRACE|S3D_SAMPLE, &scnview), RES_OK);
- CHECK(s3d_scene_view_ref_put(scnview), RES_OK);
+ CHK(s3d_shape_enable(inst, 0) == RES_OK);
+ CHK(s3d_scene_view_create(scn2, S3D_TRACE|S3D_SAMPLE, &scnview) == RES_OK);
+ CHK(s3d_scene_view_ref_put(scnview) == RES_OK);
- CHECK(s3d_shape_enable(inst, 1), RES_OK);
- CHECK(s3d_scene_view_create(scn2, S3D_TRACE, &scnview), RES_OK);
- CHECK(s3d_scene_view_ref_put(scnview), RES_OK);
+ CHK(s3d_shape_enable(inst, 1) == RES_OK);
+ CHK(s3d_scene_view_create(scn2, S3D_TRACE, &scnview) == RES_OK);
+ CHK(s3d_scene_view_ref_put(scnview) == RES_OK);
- CHECK(s3d_shape_create_mesh(dev, &walls_copy), RES_OK);
- CHECK(s3d_mesh_copy(walls, walls_copy), RES_OK);
- CHECK(s3d_shape_ref_put(walls), RES_OK);
- CHECK(s3d_shape_get_id(walls_copy, &walls_id), RES_OK);
+ CHK(s3d_shape_create_mesh(dev, &walls_copy) == RES_OK);
+ CHK(s3d_mesh_copy(walls, walls_copy) == RES_OK);
+ CHK(s3d_shape_ref_put(walls) == RES_OK);
+ CHK(s3d_shape_get_id(walls_copy, &walls_id) == RES_OK);
if(filter) {
- CHECK(s3d_mesh_set_hit_filter_function
- (walls_copy, filter_func, (void*)(uintptr_t)0xDECAFBAD), RES_OK);
+ CHK(s3d_mesh_set_hit_filter_function
+ (walls_copy, filter_func, (void*)(uintptr_t)0xDECAFBAD) == RES_OK);
}
- CHECK(s3d_scene_clear(scn), RES_OK);
- CHECK(s3d_scene_attach_shape(scn, walls_copy), RES_OK);
- CHECK(s3d_scene_attach_shape(scn, short_block), RES_OK);
- CHECK(s3d_scene_attach_shape(scn, tall_block), RES_OK);
+ CHK(s3d_scene_clear(scn) == RES_OK);
+ CHK(s3d_scene_attach_shape(scn, walls_copy) == RES_OK);
+ CHK(s3d_scene_attach_shape(scn, short_block) == RES_OK);
+ CHK(s3d_scene_attach_shape(scn, tall_block) == RES_OK);
- CHECK(s3d_scene_view_create(scn2, S3D_TRACE|S3D_GET_PRIMITIVE, &scnview), RES_OK);
- CHECK(s3d_scene_view_primitives_count(scnview, &nprims), RES_OK);
- CHECK(nprims, 30);
+ CHK(s3d_scene_view_create(scn2, S3D_TRACE|S3D_GET_PRIMITIVE, &scnview) == RES_OK);
+ CHK(s3d_scene_view_primitives_count(scnview, &nprims) == RES_OK);
+ CHK(nprims == 30);
- CHECK(s3d_scene_view_get_aabb(scnview, lower, upper), RES_OK);
- CHECK(eq_epsf(lower[0], -100.f, 1.e-6f), 1);
- CHECK(eq_epsf(lower[1], 0.f, 1.e-6f), 1);
- CHECK(eq_epsf(lower[2], -2.f, 1.e-6f), 1);
- CHECK(eq_epsf(upper[0], 452.f, 1.e-6f), 1);
- CHECK(eq_epsf(upper[1], 559.f, 1.e-6f), 1);
- CHECK(eq_epsf(upper[2], 546.f, 1.e-6f), 1);
+ CHK(s3d_scene_view_get_aabb(scnview, lower, upper) == RES_OK);
+ CHK(eq_epsf(lower[0], -100.f, 1.e-6f) == 1);
+ CHK(eq_epsf(lower[1], 0.f, 1.e-6f) == 1);
+ CHK(eq_epsf(lower[2], -2.f, 1.e-6f) == 1);
+ CHK(eq_epsf(upper[0], 452.f, 1.e-6f) == 1);
+ CHK(eq_epsf(upper[1], 559.f, 1.e-6f) == 1);
+ CHK(eq_epsf(upper[2], 546.f, 1.e-6f) == 1);
FOR_EACH(i, 0, nprims) {
size_t j;
- CHECK(s3d_scene_view_get_primitive(scnview, (unsigned)i, prims + i), RES_OK);
- CHECK(S3D_PRIMITIVE_EQ(prims + i, &S3D_PRIMITIVE_NULL), 0);
+ CHK(s3d_scene_view_get_primitive(scnview, (unsigned)i, prims + i) == RES_OK);
+ CHK(S3D_PRIMITIVE_EQ(prims + i, &S3D_PRIMITIVE_NULL) == 0);
FOR_EACH(j, 0, i) {
- CHECK(S3D_PRIMITIVE_EQ(prims + i, prims + j), 0);
+ CHK(S3D_PRIMITIVE_EQ(prims + i, prims + j) == 0);
}
- CHECK(s3d_primitive_get_transform(prims + i, transform), RES_OK);
- CHECK(f3_eq(transform + 0, f3(vec, 1.f, 0.f, 0.f)), 1);
- CHECK(f3_eq(transform + 3, f3(vec, 0.f, 1.f, 0.f)), 1);
- CHECK(f3_eq(transform + 6, f3(vec, 0.f, 0.f, 1.f)), 1);
- CHECK(f3_eq(transform + 9, f3(vec, -100.f, 0.f, -2.f)), 1);
+ CHK(s3d_primitive_get_transform(prims + i, transform) == RES_OK);
+ CHK(f3_eq(transform + 0, f3(vec, 1.f, 0.f, 0.f)) == 1);
+ CHK(f3_eq(transform + 3, f3(vec, 0.f, 1.f, 0.f)) == 1);
+ CHK(f3_eq(transform + 6, f3(vec, 0.f, 0.f, 1.f)) == 1);
+ CHK(f3_eq(transform + 9, f3(vec, -100.f, 0.f, -2.f)) == 1);
}
f3(pos, 178.f, -1000.f, 273.f);
@@ -281,8 +281,8 @@ main(int argc, char** argv)
pixel[0] = (float)ix/(float)IMG_WIDTH;
camera_ray(&cam, pixel, org, dir);
- CHECK(s3d_scene_view_trace_ray
- (scnview, org, dir, range, (void*)(uintptr_t)0xDEADBEEF, &hit), RES_OK);
+ CHK(s3d_scene_view_trace_ray
+ (scnview, org, dir, range, (void*)(uintptr_t)0xDEADBEEF, &hit) == RES_OK);
if(S3D_HIT_NONE(&hit)) {
((uint8_t*)img.pixels)[ipix+0] = 0;
@@ -292,38 +292,38 @@ main(int argc, char** argv)
float N[3], len, dot, col[3] = { 1.f, 1.f, 1.f };
struct s3d_attrib attr;
- CHECK(hit.prim.inst_id, inst_id);
- CHECK(hit.prim.geom_id == walls_id
- || hit.prim.geom_id == tall_block_id
- || hit.prim.geom_id == short_block_id, 1);
- CHECK(hit.prim.geom_id < 10, 1);
-
- CHECK(s3d_primitive_get_transform(&hit.prim, transform), RES_OK);
- CHECK(f3_eq(transform + 0, f3(vec, 1.f, 0.f, 0.f)), 1);
- CHECK(f3_eq(transform + 3, f3(vec, 0.f, 1.f, 0.f)), 1);
- CHECK(f3_eq(transform + 6, f3(vec, 0.f, 0.f, 1.f)), 1);
- CHECK(f3_eq(transform + 9, f3(vec, -100.f, 0.f, -2.f)), 1);
-
- CHECK(s3d_primitive_get_attrib
- (&hit.prim, S3D_POSITION, hit.uv, &attr), RES_OK);
- CHECK(attr.type, S3D_FLOAT3);
- CHECK(attr.usage, S3D_POSITION);
+ CHK(hit.prim.inst_id == inst_id);
+ CHK(hit.prim.geom_id == walls_id
+ || hit.prim.geom_id == tall_block_id
+ || hit.prim.geom_id == short_block_id);
+ CHK(hit.prim.geom_id < 10);
+
+ CHK(s3d_primitive_get_transform(&hit.prim, transform) == RES_OK);
+ CHK(f3_eq(transform + 0, f3(vec, 1.f, 0.f, 0.f)) == 1);
+ CHK(f3_eq(transform + 3, f3(vec, 0.f, 1.f, 0.f)) == 1);
+ CHK(f3_eq(transform + 6, f3(vec, 0.f, 0.f, 1.f)) == 1);
+ CHK(f3_eq(transform + 9, f3(vec, -100.f, 0.f, -2.f)) == 1);
+
+ CHK(s3d_primitive_get_attrib
+ (&hit.prim, S3D_POSITION, hit.uv, &attr) == RES_OK);
+ CHK(attr.type == S3D_FLOAT3);
+ CHK(attr.usage == S3D_POSITION);
f3_add(pos, f3_mulf(pos, dir, hit.distance), org);
- CHECK(f3_eq_eps
- (pos, attr.value, 1.e-3f/*Sic O_o!! Really bad precision!*/), 1);
+ CHK(f3_eq_eps
+ (pos, attr.value, 1.e-3f/*Sic O_o!! Really bad precision!*/));
len = f3_normalize(N, hit.normal);
- NCHECK(len, 0);
+ CHK(len != 0);
- CHECK(s3d_primitive_get_attrib
- (&hit.prim, S3D_GEOMETRY_NORMAL, hit.uv, &attr), RES_OK);
- CHECK(attr.type, S3D_FLOAT3);
- CHECK(attr.usage, S3D_GEOMETRY_NORMAL);
+ CHK(s3d_primitive_get_attrib
+ (&hit.prim, S3D_GEOMETRY_NORMAL, hit.uv, &attr) == RES_OK);
+ CHK(attr.type == S3D_FLOAT3);
+ CHK(attr.usage == S3D_GEOMETRY_NORMAL);
f3_normalize(attr.value, attr.value);
- CHECK(f3_eq_eps(attr.value, N, 1.e-6f), 1);
+ CHK(f3_eq_eps(attr.value, N, 1.e-6f) == 1);
- CHECK(hit.prim.scene_prim_id >= hit.prim.prim_id, 1);
- CHECK(hit.prim.scene_prim_id < 30, 1);
+ CHK(hit.prim.scene_prim_id >= hit.prim.prim_id);
+ CHK(hit.prim.scene_prim_id < 30);
if(hit.prim.geom_id == walls_id) {
if(hit.prim.prim_id == 4 || hit.prim.prim_id == 5) {
@@ -343,22 +343,22 @@ main(int argc, char** argv)
}
}
}
- CHECK(s3d_scene_view_ref_put(scnview), RES_OK);
+ CHK(s3d_scene_view_ref_put(scnview) == RES_OK);
- CHECK(image_write_ppm_stream(&img, 0, stdout), RES_OK);
+ CHK(image_write_ppm_stream(&img, 0, stdout) == RES_OK);
image_release(&img);
- CHECK(s3d_device_ref_put(dev), RES_OK);
- CHECK(s3d_shape_ref_put(inst), RES_OK);
- CHECK(s3d_shape_ref_put(short_block), RES_OK);
- CHECK(s3d_shape_ref_put(tall_block), RES_OK);
- CHECK(s3d_shape_ref_put(walls_copy), RES_OK);
- CHECK(s3d_scene_ref_put(scn), RES_OK);
- CHECK(s3d_scene_ref_put(scn2), RES_OK);
+ CHK(s3d_device_ref_put(dev) == RES_OK);
+ CHK(s3d_shape_ref_put(inst) == RES_OK);
+ CHK(s3d_shape_ref_put(short_block) == RES_OK);
+ CHK(s3d_shape_ref_put(tall_block) == RES_OK);
+ CHK(s3d_shape_ref_put(walls_copy) == RES_OK);
+ CHK(s3d_scene_ref_put(scn) == RES_OK);
+ CHK(s3d_scene_ref_put(scn2) == RES_OK);
check_memory_allocator(&allocator);
mem_shutdown_proxy_allocator(&allocator);
- CHECK(mem_allocated_size(), 0);
+ CHK(mem_allocated_size() == 0);
return 0;
}
diff --git a/src/test_s3d_trace_ray_instance.c b/src/test_s3d_trace_ray_instance.c
@@ -64,13 +64,13 @@ filter(const struct s3d_hit* hit,
{
struct ray* ray = ray_data;
- NCHECK(hit, NULL);
- NCHECK(ray_org, NULL);
- NCHECK(ray_dir, NULL);
- NCHECK(ray_data, NULL);
- CHECK(filter_data, NULL);
- CHECK(f3_eq(ray_org, ray->org), 1);
- CHECK(f3_eq(ray_dir, ray->dir), 1);
+ CHK(hit != NULL);
+ CHK(ray_org != NULL);
+ CHK(ray_dir != NULL);
+ CHK(ray_data != NULL);
+ CHK(filter_data == NULL);
+ CHK(f3_eq(ray_org, ray->org) == 1);
+ CHK(f3_eq(ray_dir, ray->dir) == 1);
return 0;
}
@@ -78,8 +78,8 @@ static void
quad_get_ids(const unsigned itri, unsigned ids[3], void* data)
{
const unsigned id = itri * 3;
- NCHECK(ids, NULL);
- CHECK(itri < quad_ntris, 1);
+ CHK(ids != NULL);
+ CHK(itri < quad_ntris);
(void)data;
ids[0] = quad_ids[id + 0];
ids[1] = quad_ids[id + 1];
@@ -90,8 +90,8 @@ static void
quad_get_pos(const unsigned ivert, float pos[3], void* data)
{
const unsigned i = ivert*3;
- NCHECK(pos, NULL);
- CHECK(ivert < quad_nverts, 1);
+ CHK(pos != NULL);
+ CHK(ivert < quad_nverts);
(void)data;
pos[0] = quad_verts[i+0];
pos[1] = quad_verts[i+1];
@@ -121,63 +121,63 @@ test_quad(struct s3d_device* dev)
vdata.type = S3D_FLOAT3;
vdata.usage = S3D_POSITION;
vdata.get = quad_get_pos;
- CHECK(s3d_shape_create_mesh(dev, &quad), RES_OK);
- CHECK(s3d_mesh_set_hit_filter_function(quad, filter, NULL), RES_OK);
- CHECK(s3d_mesh_setup_indexed_vertices
- (quad, quad_ntris, quad_get_ids, quad_nverts, &vdata, 1, NULL), RES_OK);
+ CHK(s3d_shape_create_mesh(dev, &quad) == RES_OK);
+ CHK(s3d_mesh_set_hit_filter_function(quad, filter, NULL) == RES_OK);
+ CHK(s3d_mesh_setup_indexed_vertices
+ (quad, quad_ntris, quad_get_ids, quad_nverts, &vdata, 1, NULL) == RES_OK);
- CHECK(s3d_scene_create(dev, &scn), RES_OK);
- CHECK(s3d_scene_attach_shape(scn, quad), RES_OK);
- CHECK(s3d_scene_instantiate(scn, &quad_inst), RES_OK);
- CHECK(s3d_instance_set_transform(quad_inst, transform), RES_OK);
- CHECK(s3d_scene_ref_put(scn), RES_OK);
+ CHK(s3d_scene_create(dev, &scn) == RES_OK);
+ CHK(s3d_scene_attach_shape(scn, quad) == RES_OK);
+ CHK(s3d_scene_instantiate(scn, &quad_inst) == RES_OK);
+ CHK(s3d_instance_set_transform(quad_inst, transform) == RES_OK);
+ CHK(s3d_scene_ref_put(scn) == RES_OK);
- CHECK(s3d_scene_create(dev, &scn), RES_OK);
- CHECK(s3d_scene_attach_shape(scn, quad_inst), RES_OK);
- CHECK(s3d_scene_view_create(scn, S3D_TRACE, &view[0]), RES_OK);
+ CHK(s3d_scene_create(dev, &scn) == RES_OK);
+ CHK(s3d_scene_attach_shape(scn, quad_inst) == RES_OK);
+ CHK(s3d_scene_view_create(scn, S3D_TRACE, &view[0]) == RES_OK);
- CHECK(s3d_scene_clear(scn), RES_OK);
- CHECK(s3d_scene_attach_shape(scn, quad), RES_OK);
- CHECK(s3d_scene_view_create(scn, S3D_TRACE, &view[1]), RES_OK);
+ CHK(s3d_scene_clear(scn) == RES_OK);
+ CHK(s3d_scene_attach_shape(scn, quad) == RES_OK);
+ CHK(s3d_scene_view_create(scn, S3D_TRACE, &view[1]) == RES_OK);
- CHECK(s3d_shape_get_id(quad, &quad_id), RES_OK);
- CHECK(s3d_shape_get_id(quad_inst, &quad_inst_id), RES_OK);
+ CHK(s3d_shape_get_id(quad, &quad_id) == RES_OK);
+ CHK(s3d_shape_get_id(quad_inst, &quad_inst_id) == RES_OK);
f3(ray.org, 0.f, 0.5f, -1.f);
f3(ray.dir, 0.f, 0.f, 1.f);
f2(range, 0.f, FLT_MAX);
- CHECK(s3d_scene_view_trace_ray
- (view[0], ray.org, ray.dir, range, &ray, &hit[0]), RES_OK);
- CHECK(s3d_scene_view_trace_ray
- (view[1], ray.org, ray.dir, range, &ray, &hit[1]), RES_OK);
-
- CHECK(hit[0].prim.prim_id, 0);
- CHECK(hit[1].prim.prim_id, 1);
- CHECK(hit[0].prim.geom_id, quad_id);
- CHECK(hit[1].prim.geom_id, quad_id);
- CHECK(hit[0].prim.inst_id, quad_inst_id);
- CHECK(hit[1].prim.inst_id, S3D_INVALID_ID);
- CHECK(f3_eq_eps(hit[0].normal, f3_minus(dir, hit[1].normal), 1.e-6f), 1);
- CHECK(eq_epsf(hit[0].distance, hit[1].distance, 1.e-6f), 1);
-
- CHECK(s3d_primitive_get_attrib
- (&hit[0].prim, S3D_GEOMETRY_NORMAL, hit[0].uv, &attr), RES_OK);
+ CHK(s3d_scene_view_trace_ray
+ (view[0], ray.org, ray.dir, range, &ray, &hit[0]) == RES_OK);
+ CHK(s3d_scene_view_trace_ray
+ (view[1], ray.org, ray.dir, range, &ray, &hit[1]) == RES_OK);
+
+ CHK(hit[0].prim.prim_id == 0);
+ CHK(hit[1].prim.prim_id == 1);
+ CHK(hit[0].prim.geom_id == quad_id);
+ CHK(hit[1].prim.geom_id == quad_id);
+ CHK(hit[0].prim.inst_id == quad_inst_id);
+ CHK(hit[1].prim.inst_id == S3D_INVALID_ID);
+ CHK(f3_eq_eps(hit[0].normal, f3_minus(dir, hit[1].normal), 1.e-6f) == 1);
+ CHK(eq_epsf(hit[0].distance, hit[1].distance, 1.e-6f) == 1);
+
+ CHK(s3d_primitive_get_attrib
+ (&hit[0].prim, S3D_GEOMETRY_NORMAL, hit[0].uv, &attr) == RES_OK);
f3_normalize(attr.value, attr.value);
f3_normalize(hit[0].normal, hit[0].normal);
- CHECK(f3_eq_eps(hit[0].normal, attr.value, 1.e-6f), 1);
+ CHK(f3_eq_eps(hit[0].normal, attr.value, 1.e-6f) == 1);
- CHECK(s3d_primitive_get_attrib
- (&hit[1].prim, S3D_GEOMETRY_NORMAL, hit[1].uv, &attr), RES_OK);
+ CHK(s3d_primitive_get_attrib
+ (&hit[1].prim, S3D_GEOMETRY_NORMAL, hit[1].uv, &attr) == RES_OK);
f3_normalize(attr.value, attr.value);
f3_normalize(hit[1].normal, hit[1].normal);
- CHECK(f3_eq_eps(hit[1].normal, attr.value, 1.e-6f), 1);
+ CHK(f3_eq_eps(hit[1].normal, attr.value, 1.e-6f) == 1);
- CHECK(s3d_scene_view_ref_put(view[0]), RES_OK);
- CHECK(s3d_scene_view_ref_put(view[1]), RES_OK);
+ CHK(s3d_scene_view_ref_put(view[0]) == RES_OK);
+ CHK(s3d_scene_view_ref_put(view[1]) == RES_OK);
- CHECK(s3d_shape_ref_put(quad_inst), RES_OK);
- CHECK(s3d_shape_ref_put(quad), RES_OK);
- CHECK(s3d_scene_ref_put(scn), RES_OK);
+ CHK(s3d_shape_ref_put(quad_inst) == RES_OK);
+ CHK(s3d_shape_ref_put(quad) == RES_OK);
+ CHK(s3d_scene_ref_put(scn) == RES_OK);
}
static void
@@ -201,8 +201,8 @@ test_cbox(struct s3d_device* dev)
const size_t N = 8;
size_t x, y;
- CHECK(s3d_scene_create(dev, &cbox), RES_OK);
- CHECK(s3d_scene_create(dev, &scn), RES_OK);
+ CHK(s3d_scene_create(dev, &cbox) == RES_OK);
+ CHK(s3d_scene_create(dev, &scn) == RES_OK);
vdata.usage = S3D_POSITION;
vdata.type = S3D_FLOAT3;
@@ -211,35 +211,35 @@ test_cbox(struct s3d_device* dev)
/* Walls */
cbox_desc.vertices = cbox_walls;
cbox_desc.indices = cbox_walls_ids;
- CHECK(s3d_shape_create_mesh(dev, &shape), RES_OK);
- CHECK(s3d_mesh_setup_indexed_vertices(shape, cbox_walls_ntris, cbox_get_ids,
- cbox_walls_nverts, &vdata, 1, &cbox_desc), RES_OK);
- CHECK(s3d_scene_attach_shape(cbox, shape), RES_OK);
- CHECK(s3d_shape_get_id(shape, &walls_id), RES_OK);
- CHECK(s3d_shape_ref_put(shape), RES_OK);
+ CHK(s3d_shape_create_mesh(dev, &shape) == RES_OK);
+ CHK(s3d_mesh_setup_indexed_vertices(shape, cbox_walls_ntris, cbox_get_ids,
+ cbox_walls_nverts, &vdata, 1, &cbox_desc) == RES_OK);
+ CHK(s3d_scene_attach_shape(cbox, shape) == RES_OK);
+ CHK(s3d_shape_get_id(shape, &walls_id) == RES_OK);
+ CHK(s3d_shape_ref_put(shape) == RES_OK);
/* Short block */
cbox_desc.vertices = cbox_short_block;
cbox_desc.indices = cbox_block_ids;
- CHECK(s3d_shape_create_mesh(dev, &shape), RES_OK);
- CHECK(s3d_mesh_setup_indexed_vertices(shape, cbox_block_ntris, cbox_get_ids,
- cbox_block_nverts, &vdata, 1, &cbox_desc), RES_OK);
- CHECK(s3d_scene_attach_shape(cbox, shape), RES_OK);
- CHECK(s3d_shape_ref_put(shape), RES_OK);
+ CHK(s3d_shape_create_mesh(dev, &shape) == RES_OK);
+ CHK(s3d_mesh_setup_indexed_vertices(shape, cbox_block_ntris, cbox_get_ids,
+ cbox_block_nverts, &vdata, 1, &cbox_desc) == RES_OK);
+ CHK(s3d_scene_attach_shape(cbox, shape) == RES_OK);
+ CHK(s3d_shape_ref_put(shape) == RES_OK);
/* Tall block */
cbox_desc.vertices = cbox_tall_block;
cbox_desc.indices = cbox_block_ids;
- CHECK(s3d_shape_create_mesh(dev, &shape), RES_OK);
- CHECK(s3d_mesh_setup_indexed_vertices(shape, cbox_block_ntris, cbox_get_ids,
- cbox_block_nverts, &vdata, 1, &cbox_desc), RES_OK);
- CHECK(s3d_scene_attach_shape(cbox, shape), RES_OK);
- CHECK(s3d_shape_ref_put(shape), RES_OK);
+ CHK(s3d_shape_create_mesh(dev, &shape) == RES_OK);
+ CHK(s3d_mesh_setup_indexed_vertices(shape, cbox_block_ntris, cbox_get_ids,
+ cbox_block_nverts, &vdata, 1, &cbox_desc) == RES_OK);
+ CHK(s3d_scene_attach_shape(cbox, shape) == RES_OK);
+ CHK(s3d_shape_ref_put(shape) == RES_OK);
/* Compute the cbox extends */
- CHECK(s3d_scene_view_create(cbox, S3D_GET_PRIMITIVE, &view), RES_OK);
- CHECK(s3d_scene_view_get_aabb(view, lower, upper), RES_OK);
- CHECK(s3d_scene_view_ref_put(view), RES_OK);
+ CHK(s3d_scene_view_create(cbox, S3D_GET_PRIMITIVE, &view) == RES_OK);
+ CHK(s3d_scene_view_get_aabb(view, lower, upper) == RES_OK);
+ CHK(s3d_scene_view_ref_put(view) == RES_OK);
f3_sub(extend, upper, lower);
/* Create instances */
@@ -250,10 +250,10 @@ test_cbox(struct s3d_device* dev)
FOR_EACH(x, 0, N) {
pos[2] = -size[1] * 0.5f;
FOR_EACH(y, 0, N) {
- CHECK(s3d_scene_instantiate(cbox, &shape), RES_OK);
- CHECK(s3d_instance_set_position(shape, pos), RES_OK);
- CHECK(s3d_scene_attach_shape(scn, shape), RES_OK);
- CHECK(s3d_shape_ref_put(shape), RES_OK);
+ CHK(s3d_scene_instantiate(cbox, &shape) == RES_OK);
+ CHK(s3d_instance_set_position(shape, pos) == RES_OK);
+ CHK(s3d_scene_attach_shape(scn, shape) == RES_OK);
+ CHK(s3d_shape_ref_put(shape) == RES_OK);
pos[2] += extend[2] * 1.05f;
}
pos[0] += extend[0] * 1.05f;
@@ -267,11 +267,11 @@ test_cbox(struct s3d_device* dev)
camera_init(&cam, pos, tgt, up, (float)PI*0.5f, proj_ratio);
image_init(NULL, &img);
- CHECK(image_setup
- (&img, img_sz[0], img_sz[1], img_sz[0]*3, IMAGE_RGB8, NULL), RES_OK);
+ CHK(image_setup
+ (&img, img_sz[0], img_sz[1], img_sz[0]*3, IMAGE_RGB8, NULL) == RES_OK);
/* Trace rays */
- CHECK(s3d_scene_view_create(scn, S3D_TRACE, &view), RES_OK);
+ CHK(s3d_scene_view_create(scn, S3D_TRACE, &view) == RES_OK);
range[0] = 0.f;
range[1] = FLT_MAX;
FOR_EACH(y, 0, img_sz[1]) {
@@ -283,7 +283,7 @@ test_cbox(struct s3d_device* dev)
pixel[0] = (float)x/(float)img_sz[0];
camera_ray(&cam, pixel, org, dir);
- CHECK(s3d_scene_view_trace_ray(view, org, dir, range, NULL, &hit), RES_OK);
+ CHK(s3d_scene_view_trace_ray(view, org, dir, range, NULL, &hit) == RES_OK);
if(S3D_HIT_NONE(&hit)) {
((uint8_t*)img.pixels)[ipix+0] = 0;
@@ -311,15 +311,15 @@ test_cbox(struct s3d_device* dev)
}
}
}
- CHECK(s3d_scene_view_ref_put(view), RES_OK);
+ CHK(s3d_scene_view_ref_put(view) == RES_OK);
/* Write image */
- CHECK(image_write_ppm_stream(&img, 0, stdout), RES_OK);
+ CHK(image_write_ppm_stream(&img, 0, stdout) == RES_OK);
image_release(&img);
/* Release data */
- CHECK(s3d_scene_ref_put(cbox), RES_OK);
- CHECK(s3d_scene_ref_put(scn), RES_OK);
+ CHK(s3d_scene_ref_put(cbox) == RES_OK);
+ CHK(s3d_scene_ref_put(scn) == RES_OK);
}
int
@@ -330,15 +330,15 @@ main(int argc, char** argv)
(void)argc, (void)argv;
mem_init_proxy_allocator(&allocator, &mem_default_allocator);
- CHECK(s3d_device_create(NULL, &allocator, 0, &dev), RES_OK);
+ CHK(s3d_device_create(NULL, &allocator, 0, &dev) == RES_OK);
test_quad(dev);
test_cbox(dev);
- CHECK(s3d_device_ref_put(dev), RES_OK);
+ CHK(s3d_device_ref_put(dev) == RES_OK);
check_memory_allocator(&allocator);
mem_shutdown_proxy_allocator(&allocator);
- CHECK(mem_allocated_size(), 0);
+ CHK(mem_allocated_size() == 0);
return 0;
}