commit 3bdfe2cce44f80128ea1b89cc8e7764bdee07c04
parent 57dc54029165e91e56174668e2083031ab8ff39f
Author: Vincent Forest <vincent.forest@meso-star.com>
Date: Mon, 20 Mar 2023 16:43:42 +0100
Merge branch 'develop' into feature_posix_make
Diffstat:
4 files changed, 9 insertions(+), 6 deletions(-)
diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt
@@ -39,7 +39,7 @@ option(NO_TEST "Disable the test" OFF)
################################################################################
# Check dependencies
################################################################################
-find_package(Embree 3.6 REQUIRED)
+find_package(Embree 4.0 REQUIRED)
find_package(RCMake 0.2.2 REQUIRED)
find_package(RSys 0.6 REQUIRED)
diff --git a/src/s3d_backend.h b/src/s3d_backend.h
@@ -41,7 +41,7 @@
#pragma warning(disable: 4324)
#endif
-#include <embree3/rtcore.h>
+#include <embree4/rtcore.h>
#ifdef COMPILER_CL
#pragma warning(pop)
diff --git a/src/s3d_scene_view_trace_ray.c b/src/s3d_scene_view_trace_ray.c
@@ -43,7 +43,7 @@
#include <limits.h>
struct intersect_context {
- struct RTCIntersectContext rtc;
+ struct RTCRayQueryContext rtc;
struct s3d_scene_view* scnview;
void* data; /* Per ray user defined data */
float ws_org[3]; /* World space ray origin */
@@ -161,6 +161,7 @@ s3d_scene_view_trace_ray
struct s3d_hit* hit)
{
struct RTCRayHit ray_hit;
+ struct RTCIntersectArguments intersect_args;
struct intersect_context intersect_ctx;
size_t i;
@@ -210,7 +211,9 @@ s3d_scene_view_trace_ray
}
/* Initialise the intersect context */
- rtcInitIntersectContext(&intersect_ctx.rtc);
+ rtcInitIntersectArguments(&intersect_args);
+ intersect_args.context = &intersect_ctx.rtc;
+ rtcInitRayQueryContext(&intersect_ctx.rtc);
intersect_ctx.ws_org[0] = org[0];
intersect_ctx.ws_org[1] = org[1];
intersect_ctx.ws_org[2] = org[2];
@@ -223,7 +226,7 @@ s3d_scene_view_trace_ray
intersect_ctx.data = ray_data;
/* Here we go! */
- rtcIntersect1(scnview->rtc_scn, &intersect_ctx.rtc, &ray_hit);
+ rtcIntersect1(scnview->rtc_scn, &ray_hit, &intersect_args);
hit_setup(scnview, &ray_hit, hit);
return RES_OK;
diff --git a/src/test_s3d_closest_point.c b/src/test_s3d_closest_point.c
@@ -1075,7 +1075,7 @@ test_single_triangle(struct s3d_device* dev)
f3_mulf(tmp, BC, -MMIN(1, MMAX(0, -f3_dot(CP, BC) / lbc2))));
}
}
- else { ASSERT(0); }
+ else { FATAL("Unreachable code\n"); }
dist = f3_len(f3_sub(tmp, pos, closest));
}
CHK(eq_epsf(hit.distance, dist, eps));