Skip to content

Commit 25b9fa9

Browse files
committed
regenerated documentation
1 parent 41d1378 commit 25b9fa9

18 files changed

+879
-148
lines changed

CHANGELOG.md

+4-1
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,17 @@ Version History
33

44
### New Features in Embree 3.6
55
- Added Catmull-Rom curve types.
6+
- Added support for multi-level instancing.
7+
- Added support for point queries.
68
- Fixed a bug preventing normal oriented curves being used unless timesteps were
79
specified.
810
- Fixed bug in external BVH builder when configured for dynamic build.
911
- Added support for new config flag "user_threads=N" to device initialization
1012
which sets the number of threads used by TBB but created by the user.
13+
- Fixed automatic vertex buffer padding when using rtcSetNewGeometry API function.
1114

1215
### New Features in Embree 3.5.2
13-
- Added EMBREE_ISA_NAMESPACE cmake option that allows to put all Embree API functions
16+
- Added EMBREE_API_NAMESPACE cmake option that allows to put all Embree API functions
1417
inside a user defined namespace.
1518
- Added EMBREE_LIBRARY_NAME cmake option that allows to rename the Embree library.
1619
- When Embree is compiled as static library, EMBREE_STATIC_LIB has no longer to get

README.md

+476-96
Large diffs are not rendered by default.

man/man3/RTCHit.3embree3

+10-10
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,15 @@ RTCHit\ \-\ single\ hit\ structure
1414

1515
struct\ RTCHit
1616
{
17-
\ \ float\ Ng_x;\ \ \ \ \ \ \ \ \ \ //\ x\ coordinate\ of\ geometry\ normal
18-
\ \ float\ Ng_y;\ \ \ \ \ \ \ \ \ \ //\ y\ coordinate\ of\ geometry\ normal
19-
\ \ float\ Ng_z;\ \ \ \ \ \ \ \ \ \ //\ z\ coordinate\ of\ geometry\ normal
17+
\ \ float\ Ng_x;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ //\ x\ coordinate\ of\ geometry\ normal
18+
\ \ float\ Ng_y;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ //\ y\ coordinate\ of\ geometry\ normal
19+
\ \ float\ Ng_z;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ //\ z\ coordinate\ of\ geometry\ normal
2020

21-
\ \ float\ u;\ \ \ \ \ \ \ \ \ \ \ \ \ //\ barycentric\ u\ coordinate\ of\ hit
22-
\ \ float\ v;\ \ \ \ \ \ \ \ \ \ \ \ \ //\ barycentric\ v\ coordinate\ of\ hit
21+
\ \ float\ u;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ //\ barycentric\ u\ coordinate\ of\ hit
22+
\ \ float\ v;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ //\ barycentric\ v\ coordinate\ of\ hit
2323

24-
\ \ unsigned\ int\ primID;\ //\ geometry\ ID
25-
\ \ unsigned\ int\ geomID;\ //\ primitive\ ID
24+
\ \ unsigned\ int\ primID;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ //\ geometry\ ID
25+
\ \ unsigned\ int\ geomID;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ //\ primitive\ ID
2626
\ \ unsigned\ int\ instID[RTC_MAX_INSTANCE_LEVEL_COUNT];\ //\ instance\ ID
2727
};
2828
\f[]
@@ -35,8 +35,8 @@ The hit contains the unnormalized geometric normal in object space at
3535
the hit location (\f[C]Ng_x\f[], \f[C]Ng_y\f[], \f[C]Ng_z\f[] members),
3636
the barycentric u/v coordinates of the hit (\f[C]u\f[] and \f[C]v\f[]
3737
members), as well as the primitive ID (\f[C]primID\f[] member), geometry
38-
ID (\f[C]geomID\f[] member), and instance ID (\f[C]instID\f[] member) of
39-
the hit.
38+
ID (\f[C]geomID\f[] member), and instance ID stack (\f[C]instID\f[]
39+
member) of the hit.
4040
The parametric intersection distance is not stored inside the hit, but
4141
stored inside the \f[C]tfar\f[] member of the ray.
4242
.PP
@@ -49,4 +49,4 @@ packets of an arbitrary compile\-time size.
4949
.SS EXIT STATUS
5050
.SS SEE ALSO
5151
.PP
52-
[RTCRay]
52+
[RTCRay], [Multi\-Level Instancing]

man/man3/RTCHitN.3embree3

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ float&\ RTCHitN_v(RTCHitN*\ hit,\ unsigned\ int\ N,\ unsigned\ int\ i);
2323

2424
unsigned&\ RTCHitN_primID(RTCHitN*\ hit,\ unsigned\ int\ N,\ unsigned\ int\ i);
2525
unsigned&\ RTCHitN_geomID(RTCHitN*\ hit,\ unsigned\ int\ N,\ unsigned\ int\ i);
26-
unsigned&\ RTCHitN_instID(RTCHitN*\ hit,\ unsigned\ int\ N,\ unsigned\ int\ i,\ unsigned\ int\ l);
26+
unsigned&\ RTCHitN_instID(RTCHitN*\ hit,\ unsigned\ int\ N,\ unsigned\ int\ i,\ unsigned\ int\ level);
2727
\f[]
2828
.fi
2929
.SS DESCRIPTION

man/man3/RTC_GEOMETRY_TYPE_CURVE.3embree3

+21-2
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@ RTC_GEOMETRY_TYPE_FLAT_BSPLINE_CURVE\ \-\
1515
RTC_GEOMETRY_TYPE_FLAT_HERMITE_CURVE\ \-\
1616
\ \ flat\ curve\ geometry\ with\ cubic\ Hermite\ basis
1717

18+
RTC_GEOMETRY_TYPE_FLAT_CATMULL_ROM_CURVE\ \-\
19+
\ \ flat\ curve\ geometry\ with\ Catmull\-Rom\ basis
20+
1821
RTC_GEOMETRY_TYPE_NORMAL_ORIENTED_BEZIER_CURVE\ \-
1922
\ \ flat\ normal\ oriented\ curve\ geometry\ with\ cubic\ Bézier\ basis
2023

@@ -24,6 +27,9 @@ RTC_GEOMETRY_TYPE_NORMAL_ORIENTED_BSPLINE_CURVE\ \-\
2427
RTC_GEOMETRY_TYPE_NORMAL_ORIENTED_HERMITE_CURVE\ \-\
2528
\ \ flat\ normal\ oriented\ curve\ geometry\ with\ cubic\ Hermite\ basis
2629

30+
RTC_GEOMETRY_TYPE_NORMAL_ORIENTED_CATMULL_ROM_CURVE\ \-\
31+
\ \ flat\ normal\ oriented\ curve\ geometry\ with\ Catmull\-Rom\ basis
32+
2733
RTC_GEOMETRY_TYPE_ROUND_BEZIER_CURVE\ \-
2834
\ \ sweep\ surface\ curve\ geometry\ with\ cubic\ Bézier\ basis
2935

@@ -32,6 +38,9 @@ RTC_GEOMETRY_TYPE_ROUND_BSPLINE_CURVE\ \-
3238

3339
RTC_GEOMETRY_TYPE_ROUND_HERMITE_CURVE\ \-
3440
\ \ sweep\ surface\ curve\ geometry\ with\ cubic\ Hermite\ basis
41+
42+
RTC_GEOMETRY_TYPE_ROUND_CATMULL_ROM_CURVE\ \-
43+
\ \ sweep\ surface\ curve\ geometry\ with\ Catmull\-Rom\ basis
3544
\f[]
3645
.fi
3746
.SS SYNOPSIS
@@ -44,12 +53,15 @@ rtcNewGeometry(device,\ RTC_GEOMETRY_TYPE_FLAT_LINEAR_CURVE);
4453
rtcNewGeometry(device,\ RTC_GEOMETRY_TYPE_FLAT_BEZIER_CURVE);
4554
rtcNewGeometry(device,\ RTC_GEOMETRY_TYPE_FLAT_BSPLINE_CURVE);
4655
rtcNewGeometry(device,\ RTC_GEOMETRY_TYPE_FLAT_HERMITE_CURVE);
56+
rtcNewGeometry(device,\ RTC_GEOMETRY_TYPE_FLAT_CATMULL_ROM_CURVE);
4757
rtcNewGeometry(device,\ RTC_GEOMETRY_TYPE_NORMAL_ORIENTED_BEZIER_CURVE);
4858
rtcNewGeometry(device,\ RTC_GEOMETRY_TYPE_NORMAL_ORIENTED_BSPLINE_CURVE);
4959
rtcNewGeometry(device,\ RTC_GEOMETRY_TYPE_NORMAL_ORIENTED_HERMITE_CURVE);
60+
rtcNewGeometry(device,\ RTC_GEOMETRY_TYPE_NORMAL_ORIENTED_CATMULL_ROM_CURVE);
5061
rtcNewGeometry(device,\ RTC_GEOMETRY_TYPE_ROUND_BEZIER_CURVE);
5162
rtcNewGeometry(device,\ RTC_GEOMETRY_TYPE_ROUND_BSPLINE_CURVE);
5263
rtcNewGeometry(device,\ RTC_GEOMETRY_TYPE_ROUND_HERMITE_CURVE);
64+
rtcNewGeometry(device,\ RTC_GEOMETRY_TYPE_ROUND_CATMULL_ROM_CURVE);
5365
\f[]
5466
.fi
5567
.SS DESCRIPTION
@@ -61,12 +73,15 @@ Such curve geometries are created by passing
6173
\f[C]RTC_GEOMETRY_TYPE_FLAT_BEZIER_CURVE\f[],
6274
\f[C]RTC_GEOMETRY_TYPE_FLAT_BSPLINE_CURVE\f[],
6375
\f[C]RTC_GEOMETRY_TYPE_FLAT_HERMITE_CURVE\f[],
76+
\f[C]RTC_GEOMETRY_TYPE_FLAT_CATMULL_ROM_CURVE\f[],
6477
\f[C]RTC_GEOMETRY_TYPE_NORMAL_ORIENTED_FLAT_BEZIER_CURVE\f[],
6578
\f[C]RTC_GEOMETRY_TYPE_NORMAL_ORIENTED_FLAT_BSPLINE_CURVE\f[],
6679
\f[C]RTC_GEOMETRY_TYPE_NORMAL_ORIENTED_FLAT_HERMITE_CURVE\f[],
80+
\f[C]RTC_GEOMETRY_TYPE_NORMAL_ORIENTED_FLAT_CATMULL_ROM_CURVE\f[],
6781
\f[C]RTC_GEOMETRY_TYPE_ROUND_BEZIER_CURVE\f[],
68-
\f[C]RTC_GEOMETRY_TYPE_ROUND_BSPLINE_CURVE\f[], or
69-
\f[C]RTC_GEOMETRY_TYPE_ROUND_HERMITE_CURVE\f[] to the
82+
\f[C]RTC_GEOMETRY_TYPE_ROUND_BSPLINE_CURVE\f[],
83+
\f[C]RTC_GEOMETRY_TYPE_ROUND_HERMITE_CURVE\f[], or
84+
\f[C]RTC_GEOMETRY_TYPE_ROUND_CATMULL_ROM_CURVE\f[] to the
7085
\f[C]rtcNewGeometry\f[] function.
7186
The curve indices can be specified through an index buffer
7287
(\f[C]RTC_BUFFER_TYPE_INDEX\f[]) and the curve vertices through a vertex
@@ -140,6 +155,10 @@ Different versions of Catmull\-Rom splines can be easily constructed
140155
usig the Hermite basis, by calculating a proper tangent buffer from the
141156
control points.
142157
.PP
158+
For the Catmull\-Rom basis the indices point to the first of 4
159+
consecutive control points in the vertex buffer.
160+
This basis goes through p0 and p3, with p0\-p1 and p2\-p3 tangents.
161+
.PP
143162
The \f[C]RTC_GEOMETRY_TYPE_FLAT_*\f[] flat mode is a fast mode designed
144163
to render distant hair.
145164
In this mode the curve is rendered as a connected sequence of ray facing

man/man3/RTC_GEOMETRY_TYPE_INSTANCE.3embree3

+12-5
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,16 @@ matrix plus translation).
2323
As the instanced scene is stored only a single time, even if instanced
2424
to multiple locations, this feature can be used to create very complex
2525
scenes with small memory footprint.
26-
Only single\-level instancing is supported natively by Embree, however,
27-
multi\-level instancing can be manually implemented through user
28-
geometries.
26+
.PP
27+
Embree supports both single\-level instancing and multi\-level
28+
instancing.
29+
The maximum instance nesting depth is
30+
\f[C]RTC_MAX_INSTANCE_LEVEL_COUNT\f[]; it can be configured at
31+
compile\-time using the constant
32+
\f[C]EMBREE_MAX_INSTANCE_LEVEL_COUNT\f[].
33+
Users should adapt this constant to their needs: instances nested any
34+
deeper are silently ignored in release mode, and cause assertions in
35+
debug mode.
2936
.PP
3037
Instances are created by passing \f[C]RTC_GEOMETRY_TYPE_INSTANCE\f[] to
3138
the \f[C]rtcNewGeometry\f[] function call.
@@ -60,8 +67,8 @@ specified using the \f[C]rtcSetGeometryTimeStepCount\f[] function.
6067
Then a transformation for each time step can be specified using the
6168
\f[C]rtcSetGeometryTransform\f[] function.
6269
.PP
63-
See tutorial [Instanced Geometry] for an example of how to use
64-
instances.
70+
See tutorials [Instanced Geometry] and [Multi Level Instancing] for
71+
examples of how to use instances.
6572
.SS EXIT STATUS
6673
.PP
6774
On failure \f[C]NULL\f[] is returned and an error code is set that can

man/man3/RTC_GEOMETRY_TYPE_TRIANGLE.3embree3

+4-4
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,10 @@ setting a vertex buffer (\f[C]RTC_BUFFER_TYPE_VERTEX\f[] type).
2727
See \f[C]rtcSetGeometryBuffer\f[] and
2828
\f[C]rtcSetSharedGeometryBuffer\f[] for more details on how to set
2929
buffers.
30-
The index buffer contains an array of three 32\-bit indices per triangle
31-
(\f[C]RTC_FORMAT_UINT\f[] format) and the number of primitives is
32-
inferred from the size of that buffer.
33-
The vertex buffer contains an array of single precision \f[C]x\f[],
30+
The index buffer must contain an array of three 32\-bit indices per
31+
triangle (\f[C]RTC_FORMAT_UINT3\f[] format) and the number of primitives
32+
is inferred from the size of that buffer.
33+
The vertex buffer must contain an array of single precision \f[C]x\f[],
3434
\f[C]y\f[], \f[C]z\f[] floating point coordinates
3535
(\f[C]RTC_FORMAT_FLOAT3\f[] format), and the number of vertices are
3636
inferred from the size of that buffer.

man/man3/rtcCommitScene.3embree3

+10
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,16 @@ This internally triggers building of a spatial acceleration structure
2323
for the scene using all available worker threads.
2424
Ray queries can be performed only after committing all scene changes.
2525
.PP
26+
If scene geometries get modified or attached or detached, the
27+
\f[C]rtcCommitScene\f[] call must be invoked before performing any
28+
further ray queries for the scene; otherwise the effect of the ray query
29+
is undefined.
30+
The modification of a geometry, committing the scene, and tracing of
31+
rays must always happen sequentially, and never at the same time.
32+
Any API call that sets a property of the scene or geometries contained
33+
in the scene count as scene modification, e.g.
34+
including setting of intersection filter functions.
35+
.PP
2636
The kind of acceleration structure built can be influenced using scene
2737
flags (see \f[C]rtcSetSceneFlags\f[]), and the quality can be specified
2838
using the \f[C]rtcSetSceneBuildQuality\f[] function.

man/man3/rtcInitIntersectContext.3embree3

+4-3
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ struct\ RTCIntersectContext
2323
{
2424
\ \ enum\ RTCIntersectContextFlags\ flags;
2525
\ \ RTCFilterFunctionN\ filter;
26+
\ \ unsigned\ int\ instStackSize;
2627
\ \ unsigned\ int\ instID[RTC_MAX_INSTANCE_LEVEL_COUNT];
2728
};
2829

@@ -36,9 +37,9 @@ void\ rtcInitIntersectContext(
3637
A per ray\-query intersection context (\f[C]RTCIntersectContext\f[]
3738
type) is supported that can be used to configure intersection flags
3839
(\f[C]flags\f[] member), specify a filter callback function
39-
(\f[C]filter\f[] member), specify the ID of the current instance
40-
(\f[C]instID\f[] member), and to attach arbitrary data to the query
41-
(e.g.
40+
(\f[C]filter\f[] member), specify the chain of IDs of the current
41+
instance (\f[C]instID\f[] and \f[C]instStackSize\f[] members), and to
42+
attach arbitrary data to the query (e.g.
4243
per ray data).
4344
.PP
4445
The \f[C]rtcInitIntersectContext\f[] function initializes the context to
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
.TH "rtcInitPointQueryInstanceStack" "3" "" "" "Embree Ray Tracing Kernels 3"
2+
.SS NAME
3+
.IP
4+
.nf
5+
\f[C]
6+
rtcInitPointQueryInstanceStack\ \-\ initializes\ the\ stack\ of\ (multilevel\-)instance
7+
\ \ information\ for\ point\ queries
8+
\f[]
9+
.fi
10+
.SS SYNOPSIS
11+
.IP
12+
.nf
13+
\f[C]
14+
#include\ <embree3/rtcore.h>
15+
16+
struct\ RTC_ALIGN(16)\ RTCPointQueryInstanceStack
17+
{
18+
\ \ //\ accumulated\ 4x4\ column\ major\ matrices\ from\ world\ to\ instance\ space.
19+
\ \ float\ world2inst[RTC_MAX_INSTANCE_LEVEL_COUNT][16];
20+
\ \
21+
\ \ //\ accumulated\ 4x4\ column\ major\ matrices\ from\ instance\ to\ world\ space.
22+
\ \ float\ inst2world[RTC_MAX_INSTANCE_LEVEL_COUNT][16];
23+
24+
\ \ //\ instance\ ids.
25+
\ \ unsigned\ int\ instID[RTC_MAX_INSTANCE_LEVEL_COUNT];
26+
\ \
27+
\ \ //\ number\ of\ instances\ currently\ on\ the\ stack.
28+
\ \ unsigned\ int\ size;
29+
};
30+
31+
void\ rtcInitPointQueryInstanceStack(
32+
\ \ struct\ RTCPointQueryInstanceStack*\ instStack
33+
);
34+
\f[]
35+
.fi
36+
.SS DESCRIPTION
37+
.PP
38+
A stack (\f[C]RTCPointQueryInstanceStack\f[] type) which stores the IDs
39+
and instance transformations during a BVH traversal for a point query.
40+
.PP
41+
The \f[C]rtcInitPointQueryStack\f[] function initializes the stack to
42+
default values and should be called for initialization.
43+
.PP
44+
The stack will be passed as an argument to the point query callback
45+
function (see [rtcSetGeometryPointQueryFunction]) and should be used to
46+
pass instance information down the instancing chain for user defined
47+
instancing (see tutorial [ClosestPoint] for a reference implementation
48+
of point queries with user defined instancing).
49+
.PP
50+
The stack is an necessary argument to [rtcPointQuery] and Embree
51+
internally uses the topmost instance tranformation of the stack to
52+
transform the point query into instance space.
53+
.SS EXIT STATUS
54+
.PP
55+
No error code is set by this function.
56+
.SS SEE ALSO
57+
.PP
58+
[rtcPointQuery], [rtcSetGeometryPointQueryFunction]

man/man3/rtcIntersect1.3embree3

+14-14
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,8 @@ The ray segment has to be in the range [0, ∞], thus ranges that start
4040
behind the ray origin are not valid, but ranges can reach to infinity.
4141
See Section [RTCRay] for the ray layout description.
4242
.PP
43-
The instance ID (\f[C]instID\f[] hit member) and geometry ID
44-
(\f[C]geomID\f[] hit member) of the hit data must be initialized to
45-
\f[C]RTC_INVALID_GEOMETRY_ID\f[] (\-1).
43+
The geometry ID (\f[C]geomID\f[] hit member) of the hit data must be
44+
initialized to \f[C]RTC_INVALID_GEOMETRY_ID\f[] (\-1).
4645
.PP
4746
Further, an intersection context for the ray query function must be
4847
created and initialized (see \f[C]rtcInitIntersectContext\f[]).
@@ -52,20 +51,21 @@ When an intersection is found, the hit distance is written into the
5251
\f[C]tfar\f[] member of the ray and all hit data is set, such as
5352
unnormalized geometry normal in object space (\f[C]Ng\f[] hit member),
5453
local hit coordinates (\f[C]u\f[], \f[C]v\f[] hit member), instance ID
55-
(\f[C]instID\f[] hit member), geometry ID (\f[C]geomID\f[] hit member),
56-
and primitive ID (\f[C]primID\f[] hit member).
54+
stack (\f[C]instID\f[] hit member), geometry ID (\f[C]geomID\f[] hit
55+
member), and primitive ID (\f[C]primID\f[] hit member).
5756
See Section [RTCHit] for the hit layout description.
5857
.PP
59-
If the instance ID was set (thus it is not equal to
60-
\f[C]RTC_INVALID_GEOMETRY_ID\f[]), the instance ID corresponds to the
61-
geometry ID of the hit instance of the top\-level scene, the geometry ID
62-
corresponds to the hit geometry inside the hit instanced scene, and the
63-
primitive ID corresponds to the n\-th primitive of that geometry.
58+
If the instance ID stack has a prefix of values not equal to
59+
\f[C]RTC_INVALID_GEOMETRY_ID\f[], the instance ID on each level
60+
corresponds to the geometry ID of the hit instance of the higher\-level
61+
scene, the geometry ID corresponds to the hit geometry inside the hit
62+
instanced scene, and the primitive ID corresponds to the n\-th primitive
63+
of that geometry.
6464
.PP
65-
If the instance ID was not set (thus it is still equal to
66-
\f[C]RTC_INVALID_GEOMETRY_ID\f[]), the geometry ID corresponds to the
67-
hit geometry inside the scene, and the primitive ID corresponds to the
68-
n\-th primitive of that geometry.
65+
If level 0 of the instance ID stack is equal to
66+
\f[C]RTC_INVALID_GEOMETRY_ID\f[], the geometry ID corresponds to the hit
67+
geometry inside the top\-level scene, and the primitive ID corresponds
68+
to the n\-th primitive of that geometry.
6969
.PP
7070
The implementation makes no guarantees that primitives whose hit
7171
distance is exactly at (or very close to) \f[C]tnear\f[] or

man/man3/rtcNewDevice.3embree3

+9
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,15 @@ The following configuration is supported:
5757
A value of 0 enables all detected hardware threads.
5858
By default all hardware threads are used.
5959
.IP \[bu] 2
60+
\f[C]user_threads=[int]\f[]: Sets the number of user threads that can be
61+
used to join and participate in a scene commit using
62+
\f[C]rtcJoinCommitScene\f[].
63+
The tasking system will only use threads\-user_threads many worker
64+
threads, thus if the app wants to solely use its threads to commit
65+
scenes, just set threads equal to user_threads.
66+
This option only has effect with the Intel(R) Threading Building Blocks
67+
(TBB) tasking system.
68+
.IP \[bu] 2
6069
\f[C]set_affinity=[0/1]\f[]: When enabled, build threads are affinitized
6170
to hardware threads.
6271
This option is disabled by default on standard CPUs, and enabled by

man/man3/rtcNewGeometry.3embree3

+14-9
Original file line numberDiff line numberDiff line change
@@ -59,22 +59,27 @@ with different bases (\f[C]RTC_GEOMETRY_TYPE_FLAT_LINEAR_CURVE\f[],
5959
\f[C]RTC_GEOMETRY_TYPE_FLAT_BEZIER_CURVE\f[],
6060
\f[C]RTC_GEOMETRY_TYPE_ROUND_BSPLINE_CURVE\f[],
6161
\f[C]RTC_GEOMETRY_TYPE_FLAT_BSPLINE_CURVE\f[],
62+
\f[C]RTC_GEOMETRY_TYPE_FLAT_CATMULL_ROM_CURVE\f[],
63+
\f[C]RTC_GEOMETRY_TYPE_ROUND_CATMULL_ROM_CURVE\f[],
6264
\f[C]RTC_GEOMETRY_TYPE_NORMAL_ORIENTED_BEZIER_CURVE\f[],
63-
\f[C]RTC_GEOMETRY_TYPE_NORMAL_ORIENTED_BSPLINE_CURVE\f[] types), grid
64-
meshes (\f[C]RTC_GEOMETRY_TYPE_GRID\f[]), point geometries
65+
\f[C]RTC_GEOMETRY_TYPE_NORMAL_ORIENTED_BSPLINE_CURVE\f[],
66+
\f[C]RTC_GEOMETRY_TYPE_NORMAL_ORIENTED_CATMULL_ROM_CURVE\f[] types),
67+
grid meshes (\f[C]RTC_GEOMETRY_TYPE_GRID\f[]), point geometries
6568
(\f[C]RTC_GEOMETRY_TYPE_SPHERE_POINT\f[],
6669
\f[C]RTC_GEOMETRY_TYPE_DISC_POINT\f[],
6770
\f[C]RTC_TYPE_ORIENTED_DISC_POINT\f[]), user\-defined geometries
6871
(\f[C]RTC_GEOMETRY_TYPE_USER\f[]), and instances
6972
(\f[C]RTC_GEOMETRY_TYPE_INSTANCE\f[]).
7073
.PP
71-
The types \f[C]RTC_GEOMETRY_TYPE_ROUND_BEZIER_CURVE\f[] and
72-
\f[C]RTC_GEOMETRY_TYPE_ROUND_BSPLINE_CURVE\f[] will treat the curve as a
73-
sweep surface of a varying\-radius circle swept tangentially along the
74-
curve.
75-
The types \f[C]RTC_GEOMETRY_TYPE_FLAT_BEZIER_CURVE\f[] and
76-
\f[C]RTC_GEOMETRY_TYPE_FLAT_BSPLINE_CURVE\f[] use ray\-facing ribbons as
77-
a faster\-to\-intersect approximation.
74+
The types \f[C]RTC_GEOMETRY_TYPE_ROUND_BEZIER_CURVE\f[],
75+
\f[C]RTC_GEOMETRY_TYPE_ROUND_BSPLINE_CURVE\f[], and
76+
\f[C]RTC_GEOMETRY_TYPE_ROUND_CATMULL_ROM_CURVE\f[] will treat the curve
77+
as a sweep surface of a varying\-radius circle swept tangentially along
78+
the curve.
79+
The types \f[C]RTC_GEOMETRY_TYPE_FLAT_BEZIER_CURVE\f[],
80+
\f[C]RTC_GEOMETRY_TYPE_FLAT_BSPLINE_CURVE\f[], and
81+
\f[C]RTC_GEOMETRY_TYPE_FLAT_CATMULL_ROM_CURVE\f[] use ray\-facing
82+
ribbons as a faster\-to\-intersect approximation.
7883
.PP
7984
After construction, geometries are enabled by default and not attached
8085
to any scene.

man/man3/rtcNewSharedBuffer.3embree3

+1-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ At construction time, the pointer to the user\-managed buffer data
3131
(\f[C]ptr\f[] argument) including its size in bytes (\f[C]byteSize\f[]
3232
argument) is provided to create the buffer.
3333
At buffer construction time no buffer data is allocated, but the buffer
34-
data provided be the application is used.
34+
data provided by the application is used.
3535
The buffer data must remain valid for as long as the buffer may be used,
3636
and the user is responsible to free the buffer data when no longer
3737
required.

0 commit comments

Comments
 (0)