1rtcInitOccludedArguments(3E)mbree Ray Tracing Kernelsr4tcInitOccludedArguments(3)
2
3
4
5 NAME
6 rtcInitOccludedArguments - initializes the occluded arguments struct
7
8 SYNOPSIS
9 #include <embree4/rtcore.h>
10
11 enum RTCRayQueryFlags
12 {
13 RTC_RAY_QUERY_FLAG_NONE,
14 RTC_RAY_QUERY_FLAG_INCOHERENT,
15 RTC_RAY_QUERY_FLAG_COHERENT,
16 RTC_RAY_QUERY_FLAG_INVOKE_ARGUMENT_FILTER
17 };
18
19 struct RTCOccludedArguments
20 {
21 enum RTCRayQueryFlags flags;
22 enum RTCFeatureFlags feature_mask;
23 struct RTCRayQueryContext* context;
24 RTCFilterFunctionN filter;
25 RTCOccludedFunctionN intersect;
26 #if RTC_MIN_WIDTH
27 float minWidthDistanceFactor;
28 #endif
29 };
30
31 void rtcInitOccludedArguments(
32 struct RTCOccludedArguments* args
33 );
34
35 DESCRIPTION
36 The rtcInitOccludedArguments function initializes the optional argument
37 struct that can get passed to the rtcOccluded1/4/8/16 functions to de‐
38 fault values. The arguments struct needs to get used for more advanced
39 Embree features as described here.
40
41 The flags member can get used to enable special traversal mode. Using
42 the RTC_RAY_QUERY_FLAG_INCOHERENT flag uses an optimized traversal al‐
43 gorithm for incoherent rays (default), while RTC_RAY_QUERY_FLAG_COHER‐
44 ENT uses an optimized traversal algorithm for coherent rays (e.g. pri‐
45 mary camera rays).
46
47 The feature_mask member should get used in SYCL to just enable ray
48 tracing features required to render a given scene. Please see section
49 [RTCFeatureFlags] for a more detailed description.
50
51 The context member can get used to pass an optional intersection con‐
52 text. It is guaranteed that the pointer to the context passed to a ray
53 query is directly passed to all callback functions. This way it is
54 possible to attach arbitrary data to the end of the context, such as a
55 per-ray payload. Please note that the ray pointer is not guaranteed to
56 be passed to the callback functions, thus reading additional data from
57 the ray pointer passed to callbacks is not possible. See section
58 [rtcInitRayQueryContext] for more details.
59
60 The filter member specifies a filter function to invoked for each en‐
61 countered hit. The support for the argument filter function must be
62 enabled for a scene by using the RTC_SCENE_FLAG_FILTER_FUNCTION_IN_AR‐
63 GUMENTS scene flag. In case of instancing this feature has to get en‐
64 abled also for each instantiated scene.
65
66 The argument filter function is invoked for each geometry for which it
67 got explicitely enabled using the rtcSetGeometryEnableFilterFunction‐
68 FromArguments function. The invokation of the argument filter function
69 can also get enfored for each geometry using the RTC_RAY_QUERY_FLAG_IN‐
70 VOKE_ARGUMENT_FILTER ray query flag. This argument filter function is
71 invoked as a second filter stage after the per-geometry filter function
72 is invoked. Only rays that passed the first filter stage are valid in
73 this second filter stage. Having such a per ray-query filter function
74 can be useful to implement modifications of the behavior of the query,
75 such as collecting all hits or accumulating transparencies.
76
77 The intersect member specifies the user geometry callback to get in‐
78 voked for each user geometry encountered during traversal. The user
79 geometry callback specified this way has preference over the one speci‐
80 fied inside the geometry.
81
82 The minWidthDistanceFactor value controls the target size of the curve
83 radii when the min-width feature is enabled. Please see the [rtcSetGe‐
84 ometryMaxRadiusScale] function for more details on the min-width fea‐
85 ture.
86
87 EXIT STATUS
88 No error code is set by this function.
89
90 SEE ALSO
91 [rtcOccluded1], [rtcOccluded4/8/16], [RTCFeatureFlags], [rtcInitRay‐
92 QueryContext], [RTC_GEOMETRY_TYPE_USER], [rtcSetGeometryMaxRadiusScale]
93
94
95
96 rtcInitOccludedArguments(3)