@@ -15,6 +15,9 @@ RTC_GEOMETRY_TYPE_FLAT_BSPLINE_CURVE\ \-\
15
15
RTC_GEOMETRY_TYPE_FLAT_HERMITE_CURVE\ \- \
16
16
\ \ flat\ curve\ geometry\ with\ cubic\ Hermite\ basis
17
17
18
+ RTC_GEOMETRY_TYPE_FLAT_CATMULL_ROM_CURVE\ \- \
19
+ \ \ flat\ curve\ geometry\ with\ Catmull\- Rom\ basis
20
+
18
21
RTC_GEOMETRY_TYPE_NORMAL_ORIENTED_BEZIER_CURVE\ \-
19
22
\ \ flat\ normal\ oriented\ curve\ geometry\ with\ cubic\ Bézier\ basis
20
23
@@ -24,6 +27,9 @@ RTC_GEOMETRY_TYPE_NORMAL_ORIENTED_BSPLINE_CURVE\ \-\
24
27
RTC_GEOMETRY_TYPE_NORMAL_ORIENTED_HERMITE_CURVE\ \- \
25
28
\ \ flat\ normal\ oriented\ curve\ geometry\ with\ cubic\ Hermite\ basis
26
29
30
+ RTC_GEOMETRY_TYPE_NORMAL_ORIENTED_CATMULL_ROM_CURVE\ \- \
31
+ \ \ flat\ normal\ oriented\ curve\ geometry\ with\ Catmull\- Rom\ basis
32
+
27
33
RTC_GEOMETRY_TYPE_ROUND_BEZIER_CURVE\ \-
28
34
\ \ sweep\ surface\ curve\ geometry\ with\ cubic\ Bézier\ basis
29
35
@@ -32,6 +38,9 @@ RTC_GEOMETRY_TYPE_ROUND_BSPLINE_CURVE\ \-
32
38
33
39
RTC_GEOMETRY_TYPE_ROUND_HERMITE_CURVE\ \-
34
40
\ \ 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
35
44
\f[ ]
36
45
.fi
37
46
.SS SYNOPSIS
@@ -44,12 +53,15 @@ rtcNewGeometry(device,\ RTC_GEOMETRY_TYPE_FLAT_LINEAR_CURVE);
44
53
rtcNewGeometry(device,\ RTC_GEOMETRY_TYPE_FLAT_BEZIER_CURVE);
45
54
rtcNewGeometry(device,\ RTC_GEOMETRY_TYPE_FLAT_BSPLINE_CURVE);
46
55
rtcNewGeometry(device,\ RTC_GEOMETRY_TYPE_FLAT_HERMITE_CURVE);
56
+ rtcNewGeometry(device,\ RTC_GEOMETRY_TYPE_FLAT_CATMULL_ROM_CURVE);
47
57
rtcNewGeometry(device,\ RTC_GEOMETRY_TYPE_NORMAL_ORIENTED_BEZIER_CURVE);
48
58
rtcNewGeometry(device,\ RTC_GEOMETRY_TYPE_NORMAL_ORIENTED_BSPLINE_CURVE);
49
59
rtcNewGeometry(device,\ RTC_GEOMETRY_TYPE_NORMAL_ORIENTED_HERMITE_CURVE);
60
+ rtcNewGeometry(device,\ RTC_GEOMETRY_TYPE_NORMAL_ORIENTED_CATMULL_ROM_CURVE);
50
61
rtcNewGeometry(device,\ RTC_GEOMETRY_TYPE_ROUND_BEZIER_CURVE);
51
62
rtcNewGeometry(device,\ RTC_GEOMETRY_TYPE_ROUND_BSPLINE_CURVE);
52
63
rtcNewGeometry(device,\ RTC_GEOMETRY_TYPE_ROUND_HERMITE_CURVE);
64
+ rtcNewGeometry(device,\ RTC_GEOMETRY_TYPE_ROUND_CATMULL_ROM_CURVE);
53
65
\f[ ]
54
66
.fi
55
67
.SS DESCRIPTION
@@ -61,12 +73,15 @@ Such curve geometries are created by passing
61
73
\f[ C ] RTC_GEOMETRY_TYPE_FLAT_BEZIER_CURVE\f[ ] ,
62
74
\f[ C ] RTC_GEOMETRY_TYPE_FLAT_BSPLINE_CURVE\f[ ] ,
63
75
\f[ C ] RTC_GEOMETRY_TYPE_FLAT_HERMITE_CURVE\f[ ] ,
76
+ \f[ C ] RTC_GEOMETRY_TYPE_FLAT_CATMULL_ROM_CURVE\f[ ] ,
64
77
\f[ C ] RTC_GEOMETRY_TYPE_NORMAL_ORIENTED_FLAT_BEZIER_CURVE\f[ ] ,
65
78
\f[ C ] RTC_GEOMETRY_TYPE_NORMAL_ORIENTED_FLAT_BSPLINE_CURVE\f[ ] ,
66
79
\f[ C ] RTC_GEOMETRY_TYPE_NORMAL_ORIENTED_FLAT_HERMITE_CURVE\f[ ] ,
80
+ \f[ C ] RTC_GEOMETRY_TYPE_NORMAL_ORIENTED_FLAT_CATMULL_ROM_CURVE\f[ ] ,
67
81
\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
70
85
\f[ C ] rtcNewGeometry\f[ ] function.
71
86
The curve indices can be specified through an index buffer
72
87
(\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
140
155
usig the Hermite basis, by calculating a proper tangent buffer from the
141
156
control points.
142
157
.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
143
162
The \f[ C ] RTC_GEOMETRY_TYPE_FLAT_*\f[ ] flat mode is a fast mode designed
144
163
to render distant hair.
145
164
In this mode the curve is rendered as a connected sequence of ray facing
0 commit comments