Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
godotengine
GitHub Repository: godotengine/godot
Path: blob/master/thirdparty/metal-cpp/Metal/MTLAccelerationStructure.hpp
21066 views
1
//-------------------------------------------------------------------------------------------------------------------------------------------------------------
2
//
3
// Metal/MTLAccelerationStructure.hpp
4
//
5
// Copyright 2020-2025 Apple Inc.
6
//
7
// Licensed under the Apache License, Version 2.0 (the "License");
8
// you may not use this file except in compliance with the License.
9
// You may obtain a copy of the License at
10
//
11
// http://www.apache.org/licenses/LICENSE-2.0
12
//
13
// Unless required by applicable law or agreed to in writing, software
14
// distributed under the License is distributed on an "AS IS" BASIS,
15
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
// See the License for the specific language governing permissions and
17
// limitations under the License.
18
//
19
//-------------------------------------------------------------------------------------------------------------------------------------------------------------
20
21
#pragma once
22
23
#include "../Foundation/Foundation.hpp"
24
#include "MTLAccelerationStructureTypes.hpp"
25
#include "MTLArgument.hpp"
26
#include "MTLDefines.hpp"
27
#include "MTLHeaderBridge.hpp"
28
#include "MTLPrivate.hpp"
29
#include "MTLResource.hpp"
30
#include "MTLStageInputOutputDescriptor.hpp"
31
#include "MTLTypes.hpp"
32
#include <cstdint>
33
34
namespace MTL
35
{
36
class AccelerationStructureBoundingBoxGeometryDescriptor;
37
class AccelerationStructureCurveGeometryDescriptor;
38
class AccelerationStructureDescriptor;
39
class AccelerationStructureGeometryDescriptor;
40
class AccelerationStructureMotionBoundingBoxGeometryDescriptor;
41
class AccelerationStructureMotionCurveGeometryDescriptor;
42
class AccelerationStructureMotionTriangleGeometryDescriptor;
43
class AccelerationStructureTriangleGeometryDescriptor;
44
class Buffer;
45
class IndirectInstanceAccelerationStructureDescriptor;
46
class InstanceAccelerationStructureDescriptor;
47
class MotionKeyframeData;
48
class PrimitiveAccelerationStructureDescriptor;
49
}
50
51
namespace MTL
52
{
53
_MTL_ENUM(NS::Integer, MatrixLayout) {
54
MatrixLayoutColumnMajor = 0,
55
MatrixLayoutRowMajor = 1,
56
};
57
58
_MTL_ENUM(uint32_t, MotionBorderMode) {
59
MotionBorderModeClamp = 0,
60
MotionBorderModeVanish = 1,
61
};
62
63
_MTL_ENUM(NS::Integer, CurveType) {
64
CurveTypeRound = 0,
65
CurveTypeFlat = 1,
66
};
67
68
_MTL_ENUM(NS::Integer, CurveBasis) {
69
CurveBasisBSpline = 0,
70
CurveBasisCatmullRom = 1,
71
CurveBasisLinear = 2,
72
CurveBasisBezier = 3,
73
};
74
75
_MTL_ENUM(NS::Integer, CurveEndCaps) {
76
CurveEndCapsNone = 0,
77
CurveEndCapsDisk = 1,
78
CurveEndCapsSphere = 2,
79
};
80
81
_MTL_ENUM(NS::UInteger, AccelerationStructureInstanceDescriptorType) {
82
AccelerationStructureInstanceDescriptorTypeDefault = 0,
83
AccelerationStructureInstanceDescriptorTypeUserID = 1,
84
AccelerationStructureInstanceDescriptorTypeMotion = 2,
85
AccelerationStructureInstanceDescriptorTypeIndirect = 3,
86
AccelerationStructureInstanceDescriptorTypeIndirectMotion = 4,
87
};
88
89
_MTL_ENUM(NS::Integer, TransformType) {
90
TransformTypePackedFloat4x3 = 0,
91
TransformTypeComponent = 1,
92
};
93
94
_MTL_OPTIONS(NS::UInteger, AccelerationStructureRefitOptions) {
95
AccelerationStructureRefitOptionVertexData = 1,
96
AccelerationStructureRefitOptionPerPrimitiveData = 1 << 1,
97
};
98
99
_MTL_OPTIONS(NS::UInteger, AccelerationStructureUsage) {
100
AccelerationStructureUsageNone = 0,
101
AccelerationStructureUsageRefit = 1,
102
AccelerationStructureUsagePreferFastBuild = 1 << 1,
103
AccelerationStructureUsageExtendedLimits = 1 << 2,
104
AccelerationStructureUsagePreferFastIntersection = 1 << 4,
105
AccelerationStructureUsageMinimizeMemory = 1 << 5,
106
};
107
108
_MTL_OPTIONS(uint32_t, AccelerationStructureInstanceOptions) {
109
AccelerationStructureInstanceOptionNone = 0,
110
AccelerationStructureInstanceOptionDisableTriangleCulling = 1,
111
AccelerationStructureInstanceOptionTriangleFrontFacingWindingCounterClockwise = 1 << 1,
112
AccelerationStructureInstanceOptionOpaque = 1 << 2,
113
AccelerationStructureInstanceOptionNonOpaque = 1 << 3,
114
};
115
116
struct AccelerationStructureInstanceDescriptor
117
{
118
MTL::PackedFloat4x3 transformationMatrix;
119
MTL::AccelerationStructureInstanceOptions options;
120
uint32_t mask;
121
uint32_t intersectionFunctionTableOffset;
122
uint32_t accelerationStructureIndex;
123
} _MTL_PACKED;
124
125
struct AccelerationStructureUserIDInstanceDescriptor
126
{
127
MTL::PackedFloat4x3 transformationMatrix;
128
MTL::AccelerationStructureInstanceOptions options;
129
uint32_t mask;
130
uint32_t intersectionFunctionTableOffset;
131
uint32_t accelerationStructureIndex;
132
uint32_t userID;
133
} _MTL_PACKED;
134
135
struct AccelerationStructureMotionInstanceDescriptor
136
{
137
MTL::AccelerationStructureInstanceOptions options;
138
uint32_t mask;
139
uint32_t intersectionFunctionTableOffset;
140
uint32_t accelerationStructureIndex;
141
uint32_t userID;
142
uint32_t motionTransformsStartIndex;
143
uint32_t motionTransformsCount;
144
MTL::MotionBorderMode motionStartBorderMode;
145
MTL::MotionBorderMode motionEndBorderMode;
146
float motionStartTime;
147
float motionEndTime;
148
} _MTL_PACKED;
149
150
struct IndirectAccelerationStructureInstanceDescriptor
151
{
152
MTL::PackedFloat4x3 transformationMatrix;
153
MTL::AccelerationStructureInstanceOptions options;
154
uint32_t mask;
155
uint32_t intersectionFunctionTableOffset;
156
uint32_t userID;
157
MTL::ResourceID accelerationStructureID;
158
} _MTL_PACKED;
159
160
struct IndirectAccelerationStructureMotionInstanceDescriptor
161
{
162
MTL::AccelerationStructureInstanceOptions options;
163
uint32_t mask;
164
uint32_t intersectionFunctionTableOffset;
165
uint32_t userID;
166
MTL::ResourceID accelerationStructureID;
167
uint32_t motionTransformsStartIndex;
168
uint32_t motionTransformsCount;
169
MTL::MotionBorderMode motionStartBorderMode;
170
MTL::MotionBorderMode motionEndBorderMode;
171
float motionStartTime;
172
float motionEndTime;
173
} _MTL_PACKED;
174
175
class AccelerationStructureDescriptor : public NS::Copying<AccelerationStructureDescriptor>
176
{
177
public:
178
static AccelerationStructureDescriptor* alloc();
179
180
AccelerationStructureDescriptor* init();
181
182
void setUsage(MTL::AccelerationStructureUsage usage);
183
AccelerationStructureUsage usage() const;
184
};
185
class AccelerationStructureGeometryDescriptor : public NS::Copying<AccelerationStructureGeometryDescriptor>
186
{
187
public:
188
static AccelerationStructureGeometryDescriptor* alloc();
189
190
bool allowDuplicateIntersectionFunctionInvocation() const;
191
192
AccelerationStructureGeometryDescriptor* init();
193
194
NS::UInteger intersectionFunctionTableOffset() const;
195
196
NS::String* label() const;
197
198
bool opaque() const;
199
200
Buffer* primitiveDataBuffer() const;
201
NS::UInteger primitiveDataBufferOffset() const;
202
203
NS::UInteger primitiveDataElementSize() const;
204
205
NS::UInteger primitiveDataStride() const;
206
207
void setAllowDuplicateIntersectionFunctionInvocation(bool allowDuplicateIntersectionFunctionInvocation);
208
209
void setIntersectionFunctionTableOffset(NS::UInteger intersectionFunctionTableOffset);
210
211
void setLabel(const NS::String* label);
212
213
void setOpaque(bool opaque);
214
215
void setPrimitiveDataBuffer(const MTL::Buffer* primitiveDataBuffer);
216
void setPrimitiveDataBufferOffset(NS::UInteger primitiveDataBufferOffset);
217
218
void setPrimitiveDataElementSize(NS::UInteger primitiveDataElementSize);
219
220
void setPrimitiveDataStride(NS::UInteger primitiveDataStride);
221
};
222
class PrimitiveAccelerationStructureDescriptor : public NS::Copying<PrimitiveAccelerationStructureDescriptor, AccelerationStructureDescriptor>
223
{
224
public:
225
static PrimitiveAccelerationStructureDescriptor* alloc();
226
227
static PrimitiveAccelerationStructureDescriptor* descriptor();
228
NS::Array* geometryDescriptors() const;
229
230
PrimitiveAccelerationStructureDescriptor* init();
231
232
MotionBorderMode motionEndBorderMode() const;
233
234
float motionEndTime() const;
235
236
NS::UInteger motionKeyframeCount() const;
237
238
MotionBorderMode motionStartBorderMode() const;
239
240
float motionStartTime() const;
241
242
void setGeometryDescriptors(const NS::Array* geometryDescriptors);
243
244
void setMotionEndBorderMode(MTL::MotionBorderMode motionEndBorderMode);
245
246
void setMotionEndTime(float motionEndTime);
247
248
void setMotionKeyframeCount(NS::UInteger motionKeyframeCount);
249
250
void setMotionStartBorderMode(MTL::MotionBorderMode motionStartBorderMode);
251
252
void setMotionStartTime(float motionStartTime);
253
};
254
class AccelerationStructureTriangleGeometryDescriptor : public NS::Copying<AccelerationStructureTriangleGeometryDescriptor, AccelerationStructureGeometryDescriptor>
255
{
256
public:
257
static AccelerationStructureTriangleGeometryDescriptor* alloc();
258
259
static AccelerationStructureTriangleGeometryDescriptor* descriptor();
260
261
Buffer* indexBuffer() const;
262
NS::UInteger indexBufferOffset() const;
263
264
IndexType indexType() const;
265
266
AccelerationStructureTriangleGeometryDescriptor* init();
267
268
void setIndexBuffer(const MTL::Buffer* indexBuffer);
269
void setIndexBufferOffset(NS::UInteger indexBufferOffset);
270
271
void setIndexType(MTL::IndexType indexType);
272
273
void setTransformationMatrixBuffer(const MTL::Buffer* transformationMatrixBuffer);
274
void setTransformationMatrixBufferOffset(NS::UInteger transformationMatrixBufferOffset);
275
276
void setTransformationMatrixLayout(MTL::MatrixLayout transformationMatrixLayout);
277
278
void setTriangleCount(NS::UInteger triangleCount);
279
280
void setVertexBuffer(const MTL::Buffer* vertexBuffer);
281
void setVertexBufferOffset(NS::UInteger vertexBufferOffset);
282
283
void setVertexFormat(MTL::AttributeFormat vertexFormat);
284
285
void setVertexStride(NS::UInteger vertexStride);
286
287
Buffer* transformationMatrixBuffer() const;
288
NS::UInteger transformationMatrixBufferOffset() const;
289
290
MatrixLayout transformationMatrixLayout() const;
291
292
NS::UInteger triangleCount() const;
293
294
Buffer* vertexBuffer() const;
295
NS::UInteger vertexBufferOffset() const;
296
297
AttributeFormat vertexFormat() const;
298
299
NS::UInteger vertexStride() const;
300
};
301
class AccelerationStructureBoundingBoxGeometryDescriptor : public NS::Copying<AccelerationStructureBoundingBoxGeometryDescriptor, AccelerationStructureGeometryDescriptor>
302
{
303
public:
304
static AccelerationStructureBoundingBoxGeometryDescriptor* alloc();
305
306
Buffer* boundingBoxBuffer() const;
307
NS::UInteger boundingBoxBufferOffset() const;
308
309
NS::UInteger boundingBoxCount() const;
310
311
NS::UInteger boundingBoxStride() const;
312
313
static AccelerationStructureBoundingBoxGeometryDescriptor* descriptor();
314
315
AccelerationStructureBoundingBoxGeometryDescriptor* init();
316
317
void setBoundingBoxBuffer(const MTL::Buffer* boundingBoxBuffer);
318
void setBoundingBoxBufferOffset(NS::UInteger boundingBoxBufferOffset);
319
320
void setBoundingBoxCount(NS::UInteger boundingBoxCount);
321
322
void setBoundingBoxStride(NS::UInteger boundingBoxStride);
323
};
324
class MotionKeyframeData : public NS::Referencing<MotionKeyframeData>
325
{
326
public:
327
static MotionKeyframeData* alloc();
328
329
Buffer* buffer() const;
330
331
static MotionKeyframeData* data();
332
333
MotionKeyframeData* init();
334
335
NS::UInteger offset() const;
336
337
void setBuffer(const MTL::Buffer* buffer);
338
339
void setOffset(NS::UInteger offset);
340
};
341
class AccelerationStructureMotionTriangleGeometryDescriptor : public NS::Copying<AccelerationStructureMotionTriangleGeometryDescriptor, AccelerationStructureGeometryDescriptor>
342
{
343
public:
344
static AccelerationStructureMotionTriangleGeometryDescriptor* alloc();
345
346
static AccelerationStructureMotionTriangleGeometryDescriptor* descriptor();
347
348
Buffer* indexBuffer() const;
349
NS::UInteger indexBufferOffset() const;
350
351
IndexType indexType() const;
352
353
AccelerationStructureMotionTriangleGeometryDescriptor* init();
354
355
void setIndexBuffer(const MTL::Buffer* indexBuffer);
356
void setIndexBufferOffset(NS::UInteger indexBufferOffset);
357
358
void setIndexType(MTL::IndexType indexType);
359
360
void setTransformationMatrixBuffer(const MTL::Buffer* transformationMatrixBuffer);
361
void setTransformationMatrixBufferOffset(NS::UInteger transformationMatrixBufferOffset);
362
363
void setTransformationMatrixLayout(MTL::MatrixLayout transformationMatrixLayout);
364
365
void setTriangleCount(NS::UInteger triangleCount);
366
367
void setVertexBuffers(const NS::Array* vertexBuffers);
368
369
void setVertexFormat(MTL::AttributeFormat vertexFormat);
370
371
void setVertexStride(NS::UInteger vertexStride);
372
373
Buffer* transformationMatrixBuffer() const;
374
NS::UInteger transformationMatrixBufferOffset() const;
375
376
MatrixLayout transformationMatrixLayout() const;
377
378
NS::UInteger triangleCount() const;
379
380
NS::Array* vertexBuffers() const;
381
382
AttributeFormat vertexFormat() const;
383
384
NS::UInteger vertexStride() const;
385
};
386
class AccelerationStructureMotionBoundingBoxGeometryDescriptor : public NS::Copying<AccelerationStructureMotionBoundingBoxGeometryDescriptor, AccelerationStructureGeometryDescriptor>
387
{
388
public:
389
static AccelerationStructureMotionBoundingBoxGeometryDescriptor* alloc();
390
391
NS::Array* boundingBoxBuffers() const;
392
393
NS::UInteger boundingBoxCount() const;
394
395
NS::UInteger boundingBoxStride() const;
396
397
static AccelerationStructureMotionBoundingBoxGeometryDescriptor* descriptor();
398
399
AccelerationStructureMotionBoundingBoxGeometryDescriptor* init();
400
401
void setBoundingBoxBuffers(const NS::Array* boundingBoxBuffers);
402
403
void setBoundingBoxCount(NS::UInteger boundingBoxCount);
404
405
void setBoundingBoxStride(NS::UInteger boundingBoxStride);
406
};
407
class AccelerationStructureCurveGeometryDescriptor : public NS::Copying<AccelerationStructureCurveGeometryDescriptor, AccelerationStructureGeometryDescriptor>
408
{
409
public:
410
static AccelerationStructureCurveGeometryDescriptor* alloc();
411
412
Buffer* controlPointBuffer() const;
413
NS::UInteger controlPointBufferOffset() const;
414
415
NS::UInteger controlPointCount() const;
416
417
AttributeFormat controlPointFormat() const;
418
419
NS::UInteger controlPointStride() const;
420
421
CurveBasis curveBasis() const;
422
423
CurveEndCaps curveEndCaps() const;
424
425
CurveType curveType() const;
426
427
static AccelerationStructureCurveGeometryDescriptor* descriptor();
428
429
Buffer* indexBuffer() const;
430
NS::UInteger indexBufferOffset() const;
431
432
IndexType indexType() const;
433
434
AccelerationStructureCurveGeometryDescriptor* init();
435
436
Buffer* radiusBuffer() const;
437
NS::UInteger radiusBufferOffset() const;
438
439
AttributeFormat radiusFormat() const;
440
441
NS::UInteger radiusStride() const;
442
443
NS::UInteger segmentControlPointCount() const;
444
445
NS::UInteger segmentCount() const;
446
447
void setControlPointBuffer(const MTL::Buffer* controlPointBuffer);
448
void setControlPointBufferOffset(NS::UInteger controlPointBufferOffset);
449
450
void setControlPointCount(NS::UInteger controlPointCount);
451
452
void setControlPointFormat(MTL::AttributeFormat controlPointFormat);
453
454
void setControlPointStride(NS::UInteger controlPointStride);
455
456
void setCurveBasis(MTL::CurveBasis curveBasis);
457
458
void setCurveEndCaps(MTL::CurveEndCaps curveEndCaps);
459
460
void setCurveType(MTL::CurveType curveType);
461
462
void setIndexBuffer(const MTL::Buffer* indexBuffer);
463
void setIndexBufferOffset(NS::UInteger indexBufferOffset);
464
465
void setIndexType(MTL::IndexType indexType);
466
467
void setRadiusBuffer(const MTL::Buffer* radiusBuffer);
468
void setRadiusBufferOffset(NS::UInteger radiusBufferOffset);
469
470
void setRadiusFormat(MTL::AttributeFormat radiusFormat);
471
472
void setRadiusStride(NS::UInteger radiusStride);
473
474
void setSegmentControlPointCount(NS::UInteger segmentControlPointCount);
475
476
void setSegmentCount(NS::UInteger segmentCount);
477
};
478
class AccelerationStructureMotionCurveGeometryDescriptor : public NS::Copying<AccelerationStructureMotionCurveGeometryDescriptor, AccelerationStructureGeometryDescriptor>
479
{
480
public:
481
static AccelerationStructureMotionCurveGeometryDescriptor* alloc();
482
483
NS::Array* controlPointBuffers() const;
484
485
NS::UInteger controlPointCount() const;
486
487
AttributeFormat controlPointFormat() const;
488
489
NS::UInteger controlPointStride() const;
490
491
CurveBasis curveBasis() const;
492
493
CurveEndCaps curveEndCaps() const;
494
495
CurveType curveType() const;
496
497
static AccelerationStructureMotionCurveGeometryDescriptor* descriptor();
498
499
Buffer* indexBuffer() const;
500
NS::UInteger indexBufferOffset() const;
501
502
IndexType indexType() const;
503
504
AccelerationStructureMotionCurveGeometryDescriptor* init();
505
506
NS::Array* radiusBuffers() const;
507
508
AttributeFormat radiusFormat() const;
509
510
NS::UInteger radiusStride() const;
511
512
NS::UInteger segmentControlPointCount() const;
513
514
NS::UInteger segmentCount() const;
515
516
void setControlPointBuffers(const NS::Array* controlPointBuffers);
517
518
void setControlPointCount(NS::UInteger controlPointCount);
519
520
void setControlPointFormat(MTL::AttributeFormat controlPointFormat);
521
522
void setControlPointStride(NS::UInteger controlPointStride);
523
524
void setCurveBasis(MTL::CurveBasis curveBasis);
525
526
void setCurveEndCaps(MTL::CurveEndCaps curveEndCaps);
527
528
void setCurveType(MTL::CurveType curveType);
529
530
void setIndexBuffer(const MTL::Buffer* indexBuffer);
531
void setIndexBufferOffset(NS::UInteger indexBufferOffset);
532
533
void setIndexType(MTL::IndexType indexType);
534
535
void setRadiusBuffers(const NS::Array* radiusBuffers);
536
537
void setRadiusFormat(MTL::AttributeFormat radiusFormat);
538
539
void setRadiusStride(NS::UInteger radiusStride);
540
541
void setSegmentControlPointCount(NS::UInteger segmentControlPointCount);
542
543
void setSegmentCount(NS::UInteger segmentCount);
544
};
545
class InstanceAccelerationStructureDescriptor : public NS::Copying<InstanceAccelerationStructureDescriptor, AccelerationStructureDescriptor>
546
{
547
public:
548
static InstanceAccelerationStructureDescriptor* alloc();
549
550
static InstanceAccelerationStructureDescriptor* descriptor();
551
552
InstanceAccelerationStructureDescriptor* init();
553
554
NS::UInteger instanceCount() const;
555
556
Buffer* instanceDescriptorBuffer() const;
557
NS::UInteger instanceDescriptorBufferOffset() const;
558
559
NS::UInteger instanceDescriptorStride() const;
560
561
AccelerationStructureInstanceDescriptorType instanceDescriptorType() const;
562
563
MatrixLayout instanceTransformationMatrixLayout() const;
564
565
NS::Array* instancedAccelerationStructures() const;
566
567
Buffer* motionTransformBuffer() const;
568
NS::UInteger motionTransformBufferOffset() const;
569
570
NS::UInteger motionTransformCount() const;
571
572
NS::UInteger motionTransformStride() const;
573
574
TransformType motionTransformType() const;
575
576
void setInstanceCount(NS::UInteger instanceCount);
577
578
void setInstanceDescriptorBuffer(const MTL::Buffer* instanceDescriptorBuffer);
579
void setInstanceDescriptorBufferOffset(NS::UInteger instanceDescriptorBufferOffset);
580
581
void setInstanceDescriptorStride(NS::UInteger instanceDescriptorStride);
582
583
void setInstanceDescriptorType(MTL::AccelerationStructureInstanceDescriptorType instanceDescriptorType);
584
585
void setInstanceTransformationMatrixLayout(MTL::MatrixLayout instanceTransformationMatrixLayout);
586
587
void setInstancedAccelerationStructures(const NS::Array* instancedAccelerationStructures);
588
589
void setMotionTransformBuffer(const MTL::Buffer* motionTransformBuffer);
590
void setMotionTransformBufferOffset(NS::UInteger motionTransformBufferOffset);
591
592
void setMotionTransformCount(NS::UInteger motionTransformCount);
593
594
void setMotionTransformStride(NS::UInteger motionTransformStride);
595
596
void setMotionTransformType(MTL::TransformType motionTransformType);
597
};
598
class IndirectInstanceAccelerationStructureDescriptor : public NS::Copying<IndirectInstanceAccelerationStructureDescriptor, AccelerationStructureDescriptor>
599
{
600
public:
601
static IndirectInstanceAccelerationStructureDescriptor* alloc();
602
603
static IndirectInstanceAccelerationStructureDescriptor* descriptor();
604
605
IndirectInstanceAccelerationStructureDescriptor* init();
606
607
Buffer* instanceCountBuffer() const;
608
NS::UInteger instanceCountBufferOffset() const;
609
610
Buffer* instanceDescriptorBuffer() const;
611
NS::UInteger instanceDescriptorBufferOffset() const;
612
613
NS::UInteger instanceDescriptorStride() const;
614
615
AccelerationStructureInstanceDescriptorType instanceDescriptorType() const;
616
617
MatrixLayout instanceTransformationMatrixLayout() const;
618
619
NS::UInteger maxInstanceCount() const;
620
621
NS::UInteger maxMotionTransformCount() const;
622
623
Buffer* motionTransformBuffer() const;
624
NS::UInteger motionTransformBufferOffset() const;
625
626
Buffer* motionTransformCountBuffer() const;
627
NS::UInteger motionTransformCountBufferOffset() const;
628
629
NS::UInteger motionTransformStride() const;
630
631
TransformType motionTransformType() const;
632
633
void setInstanceCountBuffer(const MTL::Buffer* instanceCountBuffer);
634
void setInstanceCountBufferOffset(NS::UInteger instanceCountBufferOffset);
635
636
void setInstanceDescriptorBuffer(const MTL::Buffer* instanceDescriptorBuffer);
637
void setInstanceDescriptorBufferOffset(NS::UInteger instanceDescriptorBufferOffset);
638
639
void setInstanceDescriptorStride(NS::UInteger instanceDescriptorStride);
640
641
void setInstanceDescriptorType(MTL::AccelerationStructureInstanceDescriptorType instanceDescriptorType);
642
643
void setInstanceTransformationMatrixLayout(MTL::MatrixLayout instanceTransformationMatrixLayout);
644
645
void setMaxInstanceCount(NS::UInteger maxInstanceCount);
646
647
void setMaxMotionTransformCount(NS::UInteger maxMotionTransformCount);
648
649
void setMotionTransformBuffer(const MTL::Buffer* motionTransformBuffer);
650
void setMotionTransformBufferOffset(NS::UInteger motionTransformBufferOffset);
651
652
void setMotionTransformCountBuffer(const MTL::Buffer* motionTransformCountBuffer);
653
void setMotionTransformCountBufferOffset(NS::UInteger motionTransformCountBufferOffset);
654
655
void setMotionTransformStride(NS::UInteger motionTransformStride);
656
657
void setMotionTransformType(MTL::TransformType motionTransformType);
658
};
659
class AccelerationStructure : public NS::Referencing<AccelerationStructure, Resource>
660
{
661
public:
662
ResourceID gpuResourceID() const;
663
664
NS::UInteger size() const;
665
};
666
667
}
668
669
_MTL_INLINE MTL::AccelerationStructureDescriptor* MTL::AccelerationStructureDescriptor::alloc()
670
{
671
return NS::Object::alloc<MTL::AccelerationStructureDescriptor>(_MTL_PRIVATE_CLS(MTLAccelerationStructureDescriptor));
672
}
673
674
_MTL_INLINE MTL::AccelerationStructureDescriptor* MTL::AccelerationStructureDescriptor::init()
675
{
676
return NS::Object::init<MTL::AccelerationStructureDescriptor>();
677
}
678
679
_MTL_INLINE void MTL::AccelerationStructureDescriptor::setUsage(MTL::AccelerationStructureUsage usage)
680
{
681
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setUsage_), usage);
682
}
683
684
_MTL_INLINE MTL::AccelerationStructureUsage MTL::AccelerationStructureDescriptor::usage() const
685
{
686
return Object::sendMessage<MTL::AccelerationStructureUsage>(this, _MTL_PRIVATE_SEL(usage));
687
}
688
689
_MTL_INLINE MTL::AccelerationStructureGeometryDescriptor* MTL::AccelerationStructureGeometryDescriptor::alloc()
690
{
691
return NS::Object::alloc<MTL::AccelerationStructureGeometryDescriptor>(_MTL_PRIVATE_CLS(MTLAccelerationStructureGeometryDescriptor));
692
}
693
694
_MTL_INLINE bool MTL::AccelerationStructureGeometryDescriptor::allowDuplicateIntersectionFunctionInvocation() const
695
{
696
return Object::sendMessage<bool>(this, _MTL_PRIVATE_SEL(allowDuplicateIntersectionFunctionInvocation));
697
}
698
699
_MTL_INLINE MTL::AccelerationStructureGeometryDescriptor* MTL::AccelerationStructureGeometryDescriptor::init()
700
{
701
return NS::Object::init<MTL::AccelerationStructureGeometryDescriptor>();
702
}
703
704
_MTL_INLINE NS::UInteger MTL::AccelerationStructureGeometryDescriptor::intersectionFunctionTableOffset() const
705
{
706
return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(intersectionFunctionTableOffset));
707
}
708
709
_MTL_INLINE NS::String* MTL::AccelerationStructureGeometryDescriptor::label() const
710
{
711
return Object::sendMessage<NS::String*>(this, _MTL_PRIVATE_SEL(label));
712
}
713
714
_MTL_INLINE bool MTL::AccelerationStructureGeometryDescriptor::opaque() const
715
{
716
return Object::sendMessage<bool>(this, _MTL_PRIVATE_SEL(opaque));
717
}
718
719
_MTL_INLINE MTL::Buffer* MTL::AccelerationStructureGeometryDescriptor::primitiveDataBuffer() const
720
{
721
return Object::sendMessage<MTL::Buffer*>(this, _MTL_PRIVATE_SEL(primitiveDataBuffer));
722
}
723
724
_MTL_INLINE NS::UInteger MTL::AccelerationStructureGeometryDescriptor::primitiveDataBufferOffset() const
725
{
726
return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(primitiveDataBufferOffset));
727
}
728
729
_MTL_INLINE NS::UInteger MTL::AccelerationStructureGeometryDescriptor::primitiveDataElementSize() const
730
{
731
return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(primitiveDataElementSize));
732
}
733
734
_MTL_INLINE NS::UInteger MTL::AccelerationStructureGeometryDescriptor::primitiveDataStride() const
735
{
736
return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(primitiveDataStride));
737
}
738
739
_MTL_INLINE void MTL::AccelerationStructureGeometryDescriptor::setAllowDuplicateIntersectionFunctionInvocation(bool allowDuplicateIntersectionFunctionInvocation)
740
{
741
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setAllowDuplicateIntersectionFunctionInvocation_), allowDuplicateIntersectionFunctionInvocation);
742
}
743
744
_MTL_INLINE void MTL::AccelerationStructureGeometryDescriptor::setIntersectionFunctionTableOffset(NS::UInteger intersectionFunctionTableOffset)
745
{
746
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setIntersectionFunctionTableOffset_), intersectionFunctionTableOffset);
747
}
748
749
_MTL_INLINE void MTL::AccelerationStructureGeometryDescriptor::setLabel(const NS::String* label)
750
{
751
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setLabel_), label);
752
}
753
754
_MTL_INLINE void MTL::AccelerationStructureGeometryDescriptor::setOpaque(bool opaque)
755
{
756
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setOpaque_), opaque);
757
}
758
759
_MTL_INLINE void MTL::AccelerationStructureGeometryDescriptor::setPrimitiveDataBuffer(const MTL::Buffer* primitiveDataBuffer)
760
{
761
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setPrimitiveDataBuffer_), primitiveDataBuffer);
762
}
763
764
_MTL_INLINE void MTL::AccelerationStructureGeometryDescriptor::setPrimitiveDataBufferOffset(NS::UInteger primitiveDataBufferOffset)
765
{
766
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setPrimitiveDataBufferOffset_), primitiveDataBufferOffset);
767
}
768
769
_MTL_INLINE void MTL::AccelerationStructureGeometryDescriptor::setPrimitiveDataElementSize(NS::UInteger primitiveDataElementSize)
770
{
771
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setPrimitiveDataElementSize_), primitiveDataElementSize);
772
}
773
774
_MTL_INLINE void MTL::AccelerationStructureGeometryDescriptor::setPrimitiveDataStride(NS::UInteger primitiveDataStride)
775
{
776
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setPrimitiveDataStride_), primitiveDataStride);
777
}
778
779
_MTL_INLINE MTL::PrimitiveAccelerationStructureDescriptor* MTL::PrimitiveAccelerationStructureDescriptor::alloc()
780
{
781
return NS::Object::alloc<MTL::PrimitiveAccelerationStructureDescriptor>(_MTL_PRIVATE_CLS(MTLPrimitiveAccelerationStructureDescriptor));
782
}
783
784
_MTL_INLINE MTL::PrimitiveAccelerationStructureDescriptor* MTL::PrimitiveAccelerationStructureDescriptor::descriptor()
785
{
786
return Object::sendMessage<MTL::PrimitiveAccelerationStructureDescriptor*>(_MTL_PRIVATE_CLS(MTLPrimitiveAccelerationStructureDescriptor), _MTL_PRIVATE_SEL(descriptor));
787
}
788
789
_MTL_INLINE NS::Array* MTL::PrimitiveAccelerationStructureDescriptor::geometryDescriptors() const
790
{
791
return Object::sendMessage<NS::Array*>(this, _MTL_PRIVATE_SEL(geometryDescriptors));
792
}
793
794
_MTL_INLINE MTL::PrimitiveAccelerationStructureDescriptor* MTL::PrimitiveAccelerationStructureDescriptor::init()
795
{
796
return NS::Object::init<MTL::PrimitiveAccelerationStructureDescriptor>();
797
}
798
799
_MTL_INLINE MTL::MotionBorderMode MTL::PrimitiveAccelerationStructureDescriptor::motionEndBorderMode() const
800
{
801
return Object::sendMessage<MTL::MotionBorderMode>(this, _MTL_PRIVATE_SEL(motionEndBorderMode));
802
}
803
804
_MTL_INLINE float MTL::PrimitiveAccelerationStructureDescriptor::motionEndTime() const
805
{
806
return Object::sendMessage<float>(this, _MTL_PRIVATE_SEL(motionEndTime));
807
}
808
809
_MTL_INLINE NS::UInteger MTL::PrimitiveAccelerationStructureDescriptor::motionKeyframeCount() const
810
{
811
return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(motionKeyframeCount));
812
}
813
814
_MTL_INLINE MTL::MotionBorderMode MTL::PrimitiveAccelerationStructureDescriptor::motionStartBorderMode() const
815
{
816
return Object::sendMessage<MTL::MotionBorderMode>(this, _MTL_PRIVATE_SEL(motionStartBorderMode));
817
}
818
819
_MTL_INLINE float MTL::PrimitiveAccelerationStructureDescriptor::motionStartTime() const
820
{
821
return Object::sendMessage<float>(this, _MTL_PRIVATE_SEL(motionStartTime));
822
}
823
824
_MTL_INLINE void MTL::PrimitiveAccelerationStructureDescriptor::setGeometryDescriptors(const NS::Array* geometryDescriptors)
825
{
826
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setGeometryDescriptors_), geometryDescriptors);
827
}
828
829
_MTL_INLINE void MTL::PrimitiveAccelerationStructureDescriptor::setMotionEndBorderMode(MTL::MotionBorderMode motionEndBorderMode)
830
{
831
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setMotionEndBorderMode_), motionEndBorderMode);
832
}
833
834
_MTL_INLINE void MTL::PrimitiveAccelerationStructureDescriptor::setMotionEndTime(float motionEndTime)
835
{
836
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setMotionEndTime_), motionEndTime);
837
}
838
839
_MTL_INLINE void MTL::PrimitiveAccelerationStructureDescriptor::setMotionKeyframeCount(NS::UInteger motionKeyframeCount)
840
{
841
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setMotionKeyframeCount_), motionKeyframeCount);
842
}
843
844
_MTL_INLINE void MTL::PrimitiveAccelerationStructureDescriptor::setMotionStartBorderMode(MTL::MotionBorderMode motionStartBorderMode)
845
{
846
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setMotionStartBorderMode_), motionStartBorderMode);
847
}
848
849
_MTL_INLINE void MTL::PrimitiveAccelerationStructureDescriptor::setMotionStartTime(float motionStartTime)
850
{
851
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setMotionStartTime_), motionStartTime);
852
}
853
854
_MTL_INLINE MTL::AccelerationStructureTriangleGeometryDescriptor* MTL::AccelerationStructureTriangleGeometryDescriptor::alloc()
855
{
856
return NS::Object::alloc<MTL::AccelerationStructureTriangleGeometryDescriptor>(_MTL_PRIVATE_CLS(MTLAccelerationStructureTriangleGeometryDescriptor));
857
}
858
859
_MTL_INLINE MTL::AccelerationStructureTriangleGeometryDescriptor* MTL::AccelerationStructureTriangleGeometryDescriptor::descriptor()
860
{
861
return Object::sendMessage<MTL::AccelerationStructureTriangleGeometryDescriptor*>(_MTL_PRIVATE_CLS(MTLAccelerationStructureTriangleGeometryDescriptor), _MTL_PRIVATE_SEL(descriptor));
862
}
863
864
_MTL_INLINE MTL::Buffer* MTL::AccelerationStructureTriangleGeometryDescriptor::indexBuffer() const
865
{
866
return Object::sendMessage<MTL::Buffer*>(this, _MTL_PRIVATE_SEL(indexBuffer));
867
}
868
869
_MTL_INLINE NS::UInteger MTL::AccelerationStructureTriangleGeometryDescriptor::indexBufferOffset() const
870
{
871
return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(indexBufferOffset));
872
}
873
874
_MTL_INLINE MTL::IndexType MTL::AccelerationStructureTriangleGeometryDescriptor::indexType() const
875
{
876
return Object::sendMessage<MTL::IndexType>(this, _MTL_PRIVATE_SEL(indexType));
877
}
878
879
_MTL_INLINE MTL::AccelerationStructureTriangleGeometryDescriptor* MTL::AccelerationStructureTriangleGeometryDescriptor::init()
880
{
881
return NS::Object::init<MTL::AccelerationStructureTriangleGeometryDescriptor>();
882
}
883
884
_MTL_INLINE void MTL::AccelerationStructureTriangleGeometryDescriptor::setIndexBuffer(const MTL::Buffer* indexBuffer)
885
{
886
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setIndexBuffer_), indexBuffer);
887
}
888
889
_MTL_INLINE void MTL::AccelerationStructureTriangleGeometryDescriptor::setIndexBufferOffset(NS::UInteger indexBufferOffset)
890
{
891
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setIndexBufferOffset_), indexBufferOffset);
892
}
893
894
_MTL_INLINE void MTL::AccelerationStructureTriangleGeometryDescriptor::setIndexType(MTL::IndexType indexType)
895
{
896
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setIndexType_), indexType);
897
}
898
899
_MTL_INLINE void MTL::AccelerationStructureTriangleGeometryDescriptor::setTransformationMatrixBuffer(const MTL::Buffer* transformationMatrixBuffer)
900
{
901
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setTransformationMatrixBuffer_), transformationMatrixBuffer);
902
}
903
904
_MTL_INLINE void MTL::AccelerationStructureTriangleGeometryDescriptor::setTransformationMatrixBufferOffset(NS::UInteger transformationMatrixBufferOffset)
905
{
906
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setTransformationMatrixBufferOffset_), transformationMatrixBufferOffset);
907
}
908
909
_MTL_INLINE void MTL::AccelerationStructureTriangleGeometryDescriptor::setTransformationMatrixLayout(MTL::MatrixLayout transformationMatrixLayout)
910
{
911
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setTransformationMatrixLayout_), transformationMatrixLayout);
912
}
913
914
_MTL_INLINE void MTL::AccelerationStructureTriangleGeometryDescriptor::setTriangleCount(NS::UInteger triangleCount)
915
{
916
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setTriangleCount_), triangleCount);
917
}
918
919
_MTL_INLINE void MTL::AccelerationStructureTriangleGeometryDescriptor::setVertexBuffer(const MTL::Buffer* vertexBuffer)
920
{
921
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setVertexBuffer_), vertexBuffer);
922
}
923
924
_MTL_INLINE void MTL::AccelerationStructureTriangleGeometryDescriptor::setVertexBufferOffset(NS::UInteger vertexBufferOffset)
925
{
926
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setVertexBufferOffset_), vertexBufferOffset);
927
}
928
929
_MTL_INLINE void MTL::AccelerationStructureTriangleGeometryDescriptor::setVertexFormat(MTL::AttributeFormat vertexFormat)
930
{
931
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setVertexFormat_), vertexFormat);
932
}
933
934
_MTL_INLINE void MTL::AccelerationStructureTriangleGeometryDescriptor::setVertexStride(NS::UInteger vertexStride)
935
{
936
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setVertexStride_), vertexStride);
937
}
938
939
_MTL_INLINE MTL::Buffer* MTL::AccelerationStructureTriangleGeometryDescriptor::transformationMatrixBuffer() const
940
{
941
return Object::sendMessage<MTL::Buffer*>(this, _MTL_PRIVATE_SEL(transformationMatrixBuffer));
942
}
943
944
_MTL_INLINE NS::UInteger MTL::AccelerationStructureTriangleGeometryDescriptor::transformationMatrixBufferOffset() const
945
{
946
return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(transformationMatrixBufferOffset));
947
}
948
949
_MTL_INLINE MTL::MatrixLayout MTL::AccelerationStructureTriangleGeometryDescriptor::transformationMatrixLayout() const
950
{
951
return Object::sendMessage<MTL::MatrixLayout>(this, _MTL_PRIVATE_SEL(transformationMatrixLayout));
952
}
953
954
_MTL_INLINE NS::UInteger MTL::AccelerationStructureTriangleGeometryDescriptor::triangleCount() const
955
{
956
return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(triangleCount));
957
}
958
959
_MTL_INLINE MTL::Buffer* MTL::AccelerationStructureTriangleGeometryDescriptor::vertexBuffer() const
960
{
961
return Object::sendMessage<MTL::Buffer*>(this, _MTL_PRIVATE_SEL(vertexBuffer));
962
}
963
964
_MTL_INLINE NS::UInteger MTL::AccelerationStructureTriangleGeometryDescriptor::vertexBufferOffset() const
965
{
966
return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(vertexBufferOffset));
967
}
968
969
_MTL_INLINE MTL::AttributeFormat MTL::AccelerationStructureTriangleGeometryDescriptor::vertexFormat() const
970
{
971
return Object::sendMessage<MTL::AttributeFormat>(this, _MTL_PRIVATE_SEL(vertexFormat));
972
}
973
974
_MTL_INLINE NS::UInteger MTL::AccelerationStructureTriangleGeometryDescriptor::vertexStride() const
975
{
976
return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(vertexStride));
977
}
978
979
_MTL_INLINE MTL::AccelerationStructureBoundingBoxGeometryDescriptor* MTL::AccelerationStructureBoundingBoxGeometryDescriptor::alloc()
980
{
981
return NS::Object::alloc<MTL::AccelerationStructureBoundingBoxGeometryDescriptor>(_MTL_PRIVATE_CLS(MTLAccelerationStructureBoundingBoxGeometryDescriptor));
982
}
983
984
_MTL_INLINE MTL::Buffer* MTL::AccelerationStructureBoundingBoxGeometryDescriptor::boundingBoxBuffer() const
985
{
986
return Object::sendMessage<MTL::Buffer*>(this, _MTL_PRIVATE_SEL(boundingBoxBuffer));
987
}
988
989
_MTL_INLINE NS::UInteger MTL::AccelerationStructureBoundingBoxGeometryDescriptor::boundingBoxBufferOffset() const
990
{
991
return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(boundingBoxBufferOffset));
992
}
993
994
_MTL_INLINE NS::UInteger MTL::AccelerationStructureBoundingBoxGeometryDescriptor::boundingBoxCount() const
995
{
996
return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(boundingBoxCount));
997
}
998
999
_MTL_INLINE NS::UInteger MTL::AccelerationStructureBoundingBoxGeometryDescriptor::boundingBoxStride() const
1000
{
1001
return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(boundingBoxStride));
1002
}
1003
1004
_MTL_INLINE MTL::AccelerationStructureBoundingBoxGeometryDescriptor* MTL::AccelerationStructureBoundingBoxGeometryDescriptor::descriptor()
1005
{
1006
return Object::sendMessage<MTL::AccelerationStructureBoundingBoxGeometryDescriptor*>(_MTL_PRIVATE_CLS(MTLAccelerationStructureBoundingBoxGeometryDescriptor), _MTL_PRIVATE_SEL(descriptor));
1007
}
1008
1009
_MTL_INLINE MTL::AccelerationStructureBoundingBoxGeometryDescriptor* MTL::AccelerationStructureBoundingBoxGeometryDescriptor::init()
1010
{
1011
return NS::Object::init<MTL::AccelerationStructureBoundingBoxGeometryDescriptor>();
1012
}
1013
1014
_MTL_INLINE void MTL::AccelerationStructureBoundingBoxGeometryDescriptor::setBoundingBoxBuffer(const MTL::Buffer* boundingBoxBuffer)
1015
{
1016
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setBoundingBoxBuffer_), boundingBoxBuffer);
1017
}
1018
1019
_MTL_INLINE void MTL::AccelerationStructureBoundingBoxGeometryDescriptor::setBoundingBoxBufferOffset(NS::UInteger boundingBoxBufferOffset)
1020
{
1021
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setBoundingBoxBufferOffset_), boundingBoxBufferOffset);
1022
}
1023
1024
_MTL_INLINE void MTL::AccelerationStructureBoundingBoxGeometryDescriptor::setBoundingBoxCount(NS::UInteger boundingBoxCount)
1025
{
1026
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setBoundingBoxCount_), boundingBoxCount);
1027
}
1028
1029
_MTL_INLINE void MTL::AccelerationStructureBoundingBoxGeometryDescriptor::setBoundingBoxStride(NS::UInteger boundingBoxStride)
1030
{
1031
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setBoundingBoxStride_), boundingBoxStride);
1032
}
1033
1034
_MTL_INLINE MTL::MotionKeyframeData* MTL::MotionKeyframeData::alloc()
1035
{
1036
return NS::Object::alloc<MTL::MotionKeyframeData>(_MTL_PRIVATE_CLS(MTLMotionKeyframeData));
1037
}
1038
1039
_MTL_INLINE MTL::Buffer* MTL::MotionKeyframeData::buffer() const
1040
{
1041
return Object::sendMessage<MTL::Buffer*>(this, _MTL_PRIVATE_SEL(buffer));
1042
}
1043
1044
_MTL_INLINE MTL::MotionKeyframeData* MTL::MotionKeyframeData::data()
1045
{
1046
return Object::sendMessage<MTL::MotionKeyframeData*>(_MTL_PRIVATE_CLS(MTLMotionKeyframeData), _MTL_PRIVATE_SEL(data));
1047
}
1048
1049
_MTL_INLINE MTL::MotionKeyframeData* MTL::MotionKeyframeData::init()
1050
{
1051
return NS::Object::init<MTL::MotionKeyframeData>();
1052
}
1053
1054
_MTL_INLINE NS::UInteger MTL::MotionKeyframeData::offset() const
1055
{
1056
return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(offset));
1057
}
1058
1059
_MTL_INLINE void MTL::MotionKeyframeData::setBuffer(const MTL::Buffer* buffer)
1060
{
1061
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setBuffer_), buffer);
1062
}
1063
1064
_MTL_INLINE void MTL::MotionKeyframeData::setOffset(NS::UInteger offset)
1065
{
1066
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setOffset_), offset);
1067
}
1068
1069
_MTL_INLINE MTL::AccelerationStructureMotionTriangleGeometryDescriptor* MTL::AccelerationStructureMotionTriangleGeometryDescriptor::alloc()
1070
{
1071
return NS::Object::alloc<MTL::AccelerationStructureMotionTriangleGeometryDescriptor>(_MTL_PRIVATE_CLS(MTLAccelerationStructureMotionTriangleGeometryDescriptor));
1072
}
1073
1074
_MTL_INLINE MTL::AccelerationStructureMotionTriangleGeometryDescriptor* MTL::AccelerationStructureMotionTriangleGeometryDescriptor::descriptor()
1075
{
1076
return Object::sendMessage<MTL::AccelerationStructureMotionTriangleGeometryDescriptor*>(_MTL_PRIVATE_CLS(MTLAccelerationStructureMotionTriangleGeometryDescriptor), _MTL_PRIVATE_SEL(descriptor));
1077
}
1078
1079
_MTL_INLINE MTL::Buffer* MTL::AccelerationStructureMotionTriangleGeometryDescriptor::indexBuffer() const
1080
{
1081
return Object::sendMessage<MTL::Buffer*>(this, _MTL_PRIVATE_SEL(indexBuffer));
1082
}
1083
1084
_MTL_INLINE NS::UInteger MTL::AccelerationStructureMotionTriangleGeometryDescriptor::indexBufferOffset() const
1085
{
1086
return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(indexBufferOffset));
1087
}
1088
1089
_MTL_INLINE MTL::IndexType MTL::AccelerationStructureMotionTriangleGeometryDescriptor::indexType() const
1090
{
1091
return Object::sendMessage<MTL::IndexType>(this, _MTL_PRIVATE_SEL(indexType));
1092
}
1093
1094
_MTL_INLINE MTL::AccelerationStructureMotionTriangleGeometryDescriptor* MTL::AccelerationStructureMotionTriangleGeometryDescriptor::init()
1095
{
1096
return NS::Object::init<MTL::AccelerationStructureMotionTriangleGeometryDescriptor>();
1097
}
1098
1099
_MTL_INLINE void MTL::AccelerationStructureMotionTriangleGeometryDescriptor::setIndexBuffer(const MTL::Buffer* indexBuffer)
1100
{
1101
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setIndexBuffer_), indexBuffer);
1102
}
1103
1104
_MTL_INLINE void MTL::AccelerationStructureMotionTriangleGeometryDescriptor::setIndexBufferOffset(NS::UInteger indexBufferOffset)
1105
{
1106
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setIndexBufferOffset_), indexBufferOffset);
1107
}
1108
1109
_MTL_INLINE void MTL::AccelerationStructureMotionTriangleGeometryDescriptor::setIndexType(MTL::IndexType indexType)
1110
{
1111
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setIndexType_), indexType);
1112
}
1113
1114
_MTL_INLINE void MTL::AccelerationStructureMotionTriangleGeometryDescriptor::setTransformationMatrixBuffer(const MTL::Buffer* transformationMatrixBuffer)
1115
{
1116
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setTransformationMatrixBuffer_), transformationMatrixBuffer);
1117
}
1118
1119
_MTL_INLINE void MTL::AccelerationStructureMotionTriangleGeometryDescriptor::setTransformationMatrixBufferOffset(NS::UInteger transformationMatrixBufferOffset)
1120
{
1121
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setTransformationMatrixBufferOffset_), transformationMatrixBufferOffset);
1122
}
1123
1124
_MTL_INLINE void MTL::AccelerationStructureMotionTriangleGeometryDescriptor::setTransformationMatrixLayout(MTL::MatrixLayout transformationMatrixLayout)
1125
{
1126
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setTransformationMatrixLayout_), transformationMatrixLayout);
1127
}
1128
1129
_MTL_INLINE void MTL::AccelerationStructureMotionTriangleGeometryDescriptor::setTriangleCount(NS::UInteger triangleCount)
1130
{
1131
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setTriangleCount_), triangleCount);
1132
}
1133
1134
_MTL_INLINE void MTL::AccelerationStructureMotionTriangleGeometryDescriptor::setVertexBuffers(const NS::Array* vertexBuffers)
1135
{
1136
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setVertexBuffers_), vertexBuffers);
1137
}
1138
1139
_MTL_INLINE void MTL::AccelerationStructureMotionTriangleGeometryDescriptor::setVertexFormat(MTL::AttributeFormat vertexFormat)
1140
{
1141
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setVertexFormat_), vertexFormat);
1142
}
1143
1144
_MTL_INLINE void MTL::AccelerationStructureMotionTriangleGeometryDescriptor::setVertexStride(NS::UInteger vertexStride)
1145
{
1146
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setVertexStride_), vertexStride);
1147
}
1148
1149
_MTL_INLINE MTL::Buffer* MTL::AccelerationStructureMotionTriangleGeometryDescriptor::transformationMatrixBuffer() const
1150
{
1151
return Object::sendMessage<MTL::Buffer*>(this, _MTL_PRIVATE_SEL(transformationMatrixBuffer));
1152
}
1153
1154
_MTL_INLINE NS::UInteger MTL::AccelerationStructureMotionTriangleGeometryDescriptor::transformationMatrixBufferOffset() const
1155
{
1156
return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(transformationMatrixBufferOffset));
1157
}
1158
1159
_MTL_INLINE MTL::MatrixLayout MTL::AccelerationStructureMotionTriangleGeometryDescriptor::transformationMatrixLayout() const
1160
{
1161
return Object::sendMessage<MTL::MatrixLayout>(this, _MTL_PRIVATE_SEL(transformationMatrixLayout));
1162
}
1163
1164
_MTL_INLINE NS::UInteger MTL::AccelerationStructureMotionTriangleGeometryDescriptor::triangleCount() const
1165
{
1166
return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(triangleCount));
1167
}
1168
1169
_MTL_INLINE NS::Array* MTL::AccelerationStructureMotionTriangleGeometryDescriptor::vertexBuffers() const
1170
{
1171
return Object::sendMessage<NS::Array*>(this, _MTL_PRIVATE_SEL(vertexBuffers));
1172
}
1173
1174
_MTL_INLINE MTL::AttributeFormat MTL::AccelerationStructureMotionTriangleGeometryDescriptor::vertexFormat() const
1175
{
1176
return Object::sendMessage<MTL::AttributeFormat>(this, _MTL_PRIVATE_SEL(vertexFormat));
1177
}
1178
1179
_MTL_INLINE NS::UInteger MTL::AccelerationStructureMotionTriangleGeometryDescriptor::vertexStride() const
1180
{
1181
return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(vertexStride));
1182
}
1183
1184
_MTL_INLINE MTL::AccelerationStructureMotionBoundingBoxGeometryDescriptor* MTL::AccelerationStructureMotionBoundingBoxGeometryDescriptor::alloc()
1185
{
1186
return NS::Object::alloc<MTL::AccelerationStructureMotionBoundingBoxGeometryDescriptor>(_MTL_PRIVATE_CLS(MTLAccelerationStructureMotionBoundingBoxGeometryDescriptor));
1187
}
1188
1189
_MTL_INLINE NS::Array* MTL::AccelerationStructureMotionBoundingBoxGeometryDescriptor::boundingBoxBuffers() const
1190
{
1191
return Object::sendMessage<NS::Array*>(this, _MTL_PRIVATE_SEL(boundingBoxBuffers));
1192
}
1193
1194
_MTL_INLINE NS::UInteger MTL::AccelerationStructureMotionBoundingBoxGeometryDescriptor::boundingBoxCount() const
1195
{
1196
return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(boundingBoxCount));
1197
}
1198
1199
_MTL_INLINE NS::UInteger MTL::AccelerationStructureMotionBoundingBoxGeometryDescriptor::boundingBoxStride() const
1200
{
1201
return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(boundingBoxStride));
1202
}
1203
1204
_MTL_INLINE MTL::AccelerationStructureMotionBoundingBoxGeometryDescriptor* MTL::AccelerationStructureMotionBoundingBoxGeometryDescriptor::descriptor()
1205
{
1206
return Object::sendMessage<MTL::AccelerationStructureMotionBoundingBoxGeometryDescriptor*>(_MTL_PRIVATE_CLS(MTLAccelerationStructureMotionBoundingBoxGeometryDescriptor), _MTL_PRIVATE_SEL(descriptor));
1207
}
1208
1209
_MTL_INLINE MTL::AccelerationStructureMotionBoundingBoxGeometryDescriptor* MTL::AccelerationStructureMotionBoundingBoxGeometryDescriptor::init()
1210
{
1211
return NS::Object::init<MTL::AccelerationStructureMotionBoundingBoxGeometryDescriptor>();
1212
}
1213
1214
_MTL_INLINE void MTL::AccelerationStructureMotionBoundingBoxGeometryDescriptor::setBoundingBoxBuffers(const NS::Array* boundingBoxBuffers)
1215
{
1216
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setBoundingBoxBuffers_), boundingBoxBuffers);
1217
}
1218
1219
_MTL_INLINE void MTL::AccelerationStructureMotionBoundingBoxGeometryDescriptor::setBoundingBoxCount(NS::UInteger boundingBoxCount)
1220
{
1221
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setBoundingBoxCount_), boundingBoxCount);
1222
}
1223
1224
_MTL_INLINE void MTL::AccelerationStructureMotionBoundingBoxGeometryDescriptor::setBoundingBoxStride(NS::UInteger boundingBoxStride)
1225
{
1226
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setBoundingBoxStride_), boundingBoxStride);
1227
}
1228
1229
_MTL_INLINE MTL::AccelerationStructureCurveGeometryDescriptor* MTL::AccelerationStructureCurveGeometryDescriptor::alloc()
1230
{
1231
return NS::Object::alloc<MTL::AccelerationStructureCurveGeometryDescriptor>(_MTL_PRIVATE_CLS(MTLAccelerationStructureCurveGeometryDescriptor));
1232
}
1233
1234
_MTL_INLINE MTL::Buffer* MTL::AccelerationStructureCurveGeometryDescriptor::controlPointBuffer() const
1235
{
1236
return Object::sendMessage<MTL::Buffer*>(this, _MTL_PRIVATE_SEL(controlPointBuffer));
1237
}
1238
1239
_MTL_INLINE NS::UInteger MTL::AccelerationStructureCurveGeometryDescriptor::controlPointBufferOffset() const
1240
{
1241
return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(controlPointBufferOffset));
1242
}
1243
1244
_MTL_INLINE NS::UInteger MTL::AccelerationStructureCurveGeometryDescriptor::controlPointCount() const
1245
{
1246
return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(controlPointCount));
1247
}
1248
1249
_MTL_INLINE MTL::AttributeFormat MTL::AccelerationStructureCurveGeometryDescriptor::controlPointFormat() const
1250
{
1251
return Object::sendMessage<MTL::AttributeFormat>(this, _MTL_PRIVATE_SEL(controlPointFormat));
1252
}
1253
1254
_MTL_INLINE NS::UInteger MTL::AccelerationStructureCurveGeometryDescriptor::controlPointStride() const
1255
{
1256
return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(controlPointStride));
1257
}
1258
1259
_MTL_INLINE MTL::CurveBasis MTL::AccelerationStructureCurveGeometryDescriptor::curveBasis() const
1260
{
1261
return Object::sendMessage<MTL::CurveBasis>(this, _MTL_PRIVATE_SEL(curveBasis));
1262
}
1263
1264
_MTL_INLINE MTL::CurveEndCaps MTL::AccelerationStructureCurveGeometryDescriptor::curveEndCaps() const
1265
{
1266
return Object::sendMessage<MTL::CurveEndCaps>(this, _MTL_PRIVATE_SEL(curveEndCaps));
1267
}
1268
1269
_MTL_INLINE MTL::CurveType MTL::AccelerationStructureCurveGeometryDescriptor::curveType() const
1270
{
1271
return Object::sendMessage<MTL::CurveType>(this, _MTL_PRIVATE_SEL(curveType));
1272
}
1273
1274
_MTL_INLINE MTL::AccelerationStructureCurveGeometryDescriptor* MTL::AccelerationStructureCurveGeometryDescriptor::descriptor()
1275
{
1276
return Object::sendMessage<MTL::AccelerationStructureCurveGeometryDescriptor*>(_MTL_PRIVATE_CLS(MTLAccelerationStructureCurveGeometryDescriptor), _MTL_PRIVATE_SEL(descriptor));
1277
}
1278
1279
_MTL_INLINE MTL::Buffer* MTL::AccelerationStructureCurveGeometryDescriptor::indexBuffer() const
1280
{
1281
return Object::sendMessage<MTL::Buffer*>(this, _MTL_PRIVATE_SEL(indexBuffer));
1282
}
1283
1284
_MTL_INLINE NS::UInteger MTL::AccelerationStructureCurveGeometryDescriptor::indexBufferOffset() const
1285
{
1286
return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(indexBufferOffset));
1287
}
1288
1289
_MTL_INLINE MTL::IndexType MTL::AccelerationStructureCurveGeometryDescriptor::indexType() const
1290
{
1291
return Object::sendMessage<MTL::IndexType>(this, _MTL_PRIVATE_SEL(indexType));
1292
}
1293
1294
_MTL_INLINE MTL::AccelerationStructureCurveGeometryDescriptor* MTL::AccelerationStructureCurveGeometryDescriptor::init()
1295
{
1296
return NS::Object::init<MTL::AccelerationStructureCurveGeometryDescriptor>();
1297
}
1298
1299
_MTL_INLINE MTL::Buffer* MTL::AccelerationStructureCurveGeometryDescriptor::radiusBuffer() const
1300
{
1301
return Object::sendMessage<MTL::Buffer*>(this, _MTL_PRIVATE_SEL(radiusBuffer));
1302
}
1303
1304
_MTL_INLINE NS::UInteger MTL::AccelerationStructureCurveGeometryDescriptor::radiusBufferOffset() const
1305
{
1306
return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(radiusBufferOffset));
1307
}
1308
1309
_MTL_INLINE MTL::AttributeFormat MTL::AccelerationStructureCurveGeometryDescriptor::radiusFormat() const
1310
{
1311
return Object::sendMessage<MTL::AttributeFormat>(this, _MTL_PRIVATE_SEL(radiusFormat));
1312
}
1313
1314
_MTL_INLINE NS::UInteger MTL::AccelerationStructureCurveGeometryDescriptor::radiusStride() const
1315
{
1316
return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(radiusStride));
1317
}
1318
1319
_MTL_INLINE NS::UInteger MTL::AccelerationStructureCurveGeometryDescriptor::segmentControlPointCount() const
1320
{
1321
return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(segmentControlPointCount));
1322
}
1323
1324
_MTL_INLINE NS::UInteger MTL::AccelerationStructureCurveGeometryDescriptor::segmentCount() const
1325
{
1326
return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(segmentCount));
1327
}
1328
1329
_MTL_INLINE void MTL::AccelerationStructureCurveGeometryDescriptor::setControlPointBuffer(const MTL::Buffer* controlPointBuffer)
1330
{
1331
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setControlPointBuffer_), controlPointBuffer);
1332
}
1333
1334
_MTL_INLINE void MTL::AccelerationStructureCurveGeometryDescriptor::setControlPointBufferOffset(NS::UInteger controlPointBufferOffset)
1335
{
1336
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setControlPointBufferOffset_), controlPointBufferOffset);
1337
}
1338
1339
_MTL_INLINE void MTL::AccelerationStructureCurveGeometryDescriptor::setControlPointCount(NS::UInteger controlPointCount)
1340
{
1341
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setControlPointCount_), controlPointCount);
1342
}
1343
1344
_MTL_INLINE void MTL::AccelerationStructureCurveGeometryDescriptor::setControlPointFormat(MTL::AttributeFormat controlPointFormat)
1345
{
1346
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setControlPointFormat_), controlPointFormat);
1347
}
1348
1349
_MTL_INLINE void MTL::AccelerationStructureCurveGeometryDescriptor::setControlPointStride(NS::UInteger controlPointStride)
1350
{
1351
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setControlPointStride_), controlPointStride);
1352
}
1353
1354
_MTL_INLINE void MTL::AccelerationStructureCurveGeometryDescriptor::setCurveBasis(MTL::CurveBasis curveBasis)
1355
{
1356
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setCurveBasis_), curveBasis);
1357
}
1358
1359
_MTL_INLINE void MTL::AccelerationStructureCurveGeometryDescriptor::setCurveEndCaps(MTL::CurveEndCaps curveEndCaps)
1360
{
1361
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setCurveEndCaps_), curveEndCaps);
1362
}
1363
1364
_MTL_INLINE void MTL::AccelerationStructureCurveGeometryDescriptor::setCurveType(MTL::CurveType curveType)
1365
{
1366
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setCurveType_), curveType);
1367
}
1368
1369
_MTL_INLINE void MTL::AccelerationStructureCurveGeometryDescriptor::setIndexBuffer(const MTL::Buffer* indexBuffer)
1370
{
1371
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setIndexBuffer_), indexBuffer);
1372
}
1373
1374
_MTL_INLINE void MTL::AccelerationStructureCurveGeometryDescriptor::setIndexBufferOffset(NS::UInteger indexBufferOffset)
1375
{
1376
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setIndexBufferOffset_), indexBufferOffset);
1377
}
1378
1379
_MTL_INLINE void MTL::AccelerationStructureCurveGeometryDescriptor::setIndexType(MTL::IndexType indexType)
1380
{
1381
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setIndexType_), indexType);
1382
}
1383
1384
_MTL_INLINE void MTL::AccelerationStructureCurveGeometryDescriptor::setRadiusBuffer(const MTL::Buffer* radiusBuffer)
1385
{
1386
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setRadiusBuffer_), radiusBuffer);
1387
}
1388
1389
_MTL_INLINE void MTL::AccelerationStructureCurveGeometryDescriptor::setRadiusBufferOffset(NS::UInteger radiusBufferOffset)
1390
{
1391
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setRadiusBufferOffset_), radiusBufferOffset);
1392
}
1393
1394
_MTL_INLINE void MTL::AccelerationStructureCurveGeometryDescriptor::setRadiusFormat(MTL::AttributeFormat radiusFormat)
1395
{
1396
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setRadiusFormat_), radiusFormat);
1397
}
1398
1399
_MTL_INLINE void MTL::AccelerationStructureCurveGeometryDescriptor::setRadiusStride(NS::UInteger radiusStride)
1400
{
1401
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setRadiusStride_), radiusStride);
1402
}
1403
1404
_MTL_INLINE void MTL::AccelerationStructureCurveGeometryDescriptor::setSegmentControlPointCount(NS::UInteger segmentControlPointCount)
1405
{
1406
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setSegmentControlPointCount_), segmentControlPointCount);
1407
}
1408
1409
_MTL_INLINE void MTL::AccelerationStructureCurveGeometryDescriptor::setSegmentCount(NS::UInteger segmentCount)
1410
{
1411
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setSegmentCount_), segmentCount);
1412
}
1413
1414
_MTL_INLINE MTL::AccelerationStructureMotionCurveGeometryDescriptor* MTL::AccelerationStructureMotionCurveGeometryDescriptor::alloc()
1415
{
1416
return NS::Object::alloc<MTL::AccelerationStructureMotionCurveGeometryDescriptor>(_MTL_PRIVATE_CLS(MTLAccelerationStructureMotionCurveGeometryDescriptor));
1417
}
1418
1419
_MTL_INLINE NS::Array* MTL::AccelerationStructureMotionCurveGeometryDescriptor::controlPointBuffers() const
1420
{
1421
return Object::sendMessage<NS::Array*>(this, _MTL_PRIVATE_SEL(controlPointBuffers));
1422
}
1423
1424
_MTL_INLINE NS::UInteger MTL::AccelerationStructureMotionCurveGeometryDescriptor::controlPointCount() const
1425
{
1426
return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(controlPointCount));
1427
}
1428
1429
_MTL_INLINE MTL::AttributeFormat MTL::AccelerationStructureMotionCurveGeometryDescriptor::controlPointFormat() const
1430
{
1431
return Object::sendMessage<MTL::AttributeFormat>(this, _MTL_PRIVATE_SEL(controlPointFormat));
1432
}
1433
1434
_MTL_INLINE NS::UInteger MTL::AccelerationStructureMotionCurveGeometryDescriptor::controlPointStride() const
1435
{
1436
return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(controlPointStride));
1437
}
1438
1439
_MTL_INLINE MTL::CurveBasis MTL::AccelerationStructureMotionCurveGeometryDescriptor::curveBasis() const
1440
{
1441
return Object::sendMessage<MTL::CurveBasis>(this, _MTL_PRIVATE_SEL(curveBasis));
1442
}
1443
1444
_MTL_INLINE MTL::CurveEndCaps MTL::AccelerationStructureMotionCurveGeometryDescriptor::curveEndCaps() const
1445
{
1446
return Object::sendMessage<MTL::CurveEndCaps>(this, _MTL_PRIVATE_SEL(curveEndCaps));
1447
}
1448
1449
_MTL_INLINE MTL::CurveType MTL::AccelerationStructureMotionCurveGeometryDescriptor::curveType() const
1450
{
1451
return Object::sendMessage<MTL::CurveType>(this, _MTL_PRIVATE_SEL(curveType));
1452
}
1453
1454
_MTL_INLINE MTL::AccelerationStructureMotionCurveGeometryDescriptor* MTL::AccelerationStructureMotionCurveGeometryDescriptor::descriptor()
1455
{
1456
return Object::sendMessage<MTL::AccelerationStructureMotionCurveGeometryDescriptor*>(_MTL_PRIVATE_CLS(MTLAccelerationStructureMotionCurveGeometryDescriptor), _MTL_PRIVATE_SEL(descriptor));
1457
}
1458
1459
_MTL_INLINE MTL::Buffer* MTL::AccelerationStructureMotionCurveGeometryDescriptor::indexBuffer() const
1460
{
1461
return Object::sendMessage<MTL::Buffer*>(this, _MTL_PRIVATE_SEL(indexBuffer));
1462
}
1463
1464
_MTL_INLINE NS::UInteger MTL::AccelerationStructureMotionCurveGeometryDescriptor::indexBufferOffset() const
1465
{
1466
return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(indexBufferOffset));
1467
}
1468
1469
_MTL_INLINE MTL::IndexType MTL::AccelerationStructureMotionCurveGeometryDescriptor::indexType() const
1470
{
1471
return Object::sendMessage<MTL::IndexType>(this, _MTL_PRIVATE_SEL(indexType));
1472
}
1473
1474
_MTL_INLINE MTL::AccelerationStructureMotionCurveGeometryDescriptor* MTL::AccelerationStructureMotionCurveGeometryDescriptor::init()
1475
{
1476
return NS::Object::init<MTL::AccelerationStructureMotionCurveGeometryDescriptor>();
1477
}
1478
1479
_MTL_INLINE NS::Array* MTL::AccelerationStructureMotionCurveGeometryDescriptor::radiusBuffers() const
1480
{
1481
return Object::sendMessage<NS::Array*>(this, _MTL_PRIVATE_SEL(radiusBuffers));
1482
}
1483
1484
_MTL_INLINE MTL::AttributeFormat MTL::AccelerationStructureMotionCurveGeometryDescriptor::radiusFormat() const
1485
{
1486
return Object::sendMessage<MTL::AttributeFormat>(this, _MTL_PRIVATE_SEL(radiusFormat));
1487
}
1488
1489
_MTL_INLINE NS::UInteger MTL::AccelerationStructureMotionCurveGeometryDescriptor::radiusStride() const
1490
{
1491
return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(radiusStride));
1492
}
1493
1494
_MTL_INLINE NS::UInteger MTL::AccelerationStructureMotionCurveGeometryDescriptor::segmentControlPointCount() const
1495
{
1496
return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(segmentControlPointCount));
1497
}
1498
1499
_MTL_INLINE NS::UInteger MTL::AccelerationStructureMotionCurveGeometryDescriptor::segmentCount() const
1500
{
1501
return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(segmentCount));
1502
}
1503
1504
_MTL_INLINE void MTL::AccelerationStructureMotionCurveGeometryDescriptor::setControlPointBuffers(const NS::Array* controlPointBuffers)
1505
{
1506
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setControlPointBuffers_), controlPointBuffers);
1507
}
1508
1509
_MTL_INLINE void MTL::AccelerationStructureMotionCurveGeometryDescriptor::setControlPointCount(NS::UInteger controlPointCount)
1510
{
1511
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setControlPointCount_), controlPointCount);
1512
}
1513
1514
_MTL_INLINE void MTL::AccelerationStructureMotionCurveGeometryDescriptor::setControlPointFormat(MTL::AttributeFormat controlPointFormat)
1515
{
1516
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setControlPointFormat_), controlPointFormat);
1517
}
1518
1519
_MTL_INLINE void MTL::AccelerationStructureMotionCurveGeometryDescriptor::setControlPointStride(NS::UInteger controlPointStride)
1520
{
1521
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setControlPointStride_), controlPointStride);
1522
}
1523
1524
_MTL_INLINE void MTL::AccelerationStructureMotionCurveGeometryDescriptor::setCurveBasis(MTL::CurveBasis curveBasis)
1525
{
1526
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setCurveBasis_), curveBasis);
1527
}
1528
1529
_MTL_INLINE void MTL::AccelerationStructureMotionCurveGeometryDescriptor::setCurveEndCaps(MTL::CurveEndCaps curveEndCaps)
1530
{
1531
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setCurveEndCaps_), curveEndCaps);
1532
}
1533
1534
_MTL_INLINE void MTL::AccelerationStructureMotionCurveGeometryDescriptor::setCurveType(MTL::CurveType curveType)
1535
{
1536
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setCurveType_), curveType);
1537
}
1538
1539
_MTL_INLINE void MTL::AccelerationStructureMotionCurveGeometryDescriptor::setIndexBuffer(const MTL::Buffer* indexBuffer)
1540
{
1541
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setIndexBuffer_), indexBuffer);
1542
}
1543
1544
_MTL_INLINE void MTL::AccelerationStructureMotionCurveGeometryDescriptor::setIndexBufferOffset(NS::UInteger indexBufferOffset)
1545
{
1546
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setIndexBufferOffset_), indexBufferOffset);
1547
}
1548
1549
_MTL_INLINE void MTL::AccelerationStructureMotionCurveGeometryDescriptor::setIndexType(MTL::IndexType indexType)
1550
{
1551
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setIndexType_), indexType);
1552
}
1553
1554
_MTL_INLINE void MTL::AccelerationStructureMotionCurveGeometryDescriptor::setRadiusBuffers(const NS::Array* radiusBuffers)
1555
{
1556
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setRadiusBuffers_), radiusBuffers);
1557
}
1558
1559
_MTL_INLINE void MTL::AccelerationStructureMotionCurveGeometryDescriptor::setRadiusFormat(MTL::AttributeFormat radiusFormat)
1560
{
1561
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setRadiusFormat_), radiusFormat);
1562
}
1563
1564
_MTL_INLINE void MTL::AccelerationStructureMotionCurveGeometryDescriptor::setRadiusStride(NS::UInteger radiusStride)
1565
{
1566
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setRadiusStride_), radiusStride);
1567
}
1568
1569
_MTL_INLINE void MTL::AccelerationStructureMotionCurveGeometryDescriptor::setSegmentControlPointCount(NS::UInteger segmentControlPointCount)
1570
{
1571
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setSegmentControlPointCount_), segmentControlPointCount);
1572
}
1573
1574
_MTL_INLINE void MTL::AccelerationStructureMotionCurveGeometryDescriptor::setSegmentCount(NS::UInteger segmentCount)
1575
{
1576
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setSegmentCount_), segmentCount);
1577
}
1578
1579
_MTL_INLINE MTL::InstanceAccelerationStructureDescriptor* MTL::InstanceAccelerationStructureDescriptor::alloc()
1580
{
1581
return NS::Object::alloc<MTL::InstanceAccelerationStructureDescriptor>(_MTL_PRIVATE_CLS(MTLInstanceAccelerationStructureDescriptor));
1582
}
1583
1584
_MTL_INLINE MTL::InstanceAccelerationStructureDescriptor* MTL::InstanceAccelerationStructureDescriptor::descriptor()
1585
{
1586
return Object::sendMessage<MTL::InstanceAccelerationStructureDescriptor*>(_MTL_PRIVATE_CLS(MTLInstanceAccelerationStructureDescriptor), _MTL_PRIVATE_SEL(descriptor));
1587
}
1588
1589
_MTL_INLINE MTL::InstanceAccelerationStructureDescriptor* MTL::InstanceAccelerationStructureDescriptor::init()
1590
{
1591
return NS::Object::init<MTL::InstanceAccelerationStructureDescriptor>();
1592
}
1593
1594
_MTL_INLINE NS::UInteger MTL::InstanceAccelerationStructureDescriptor::instanceCount() const
1595
{
1596
return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(instanceCount));
1597
}
1598
1599
_MTL_INLINE MTL::Buffer* MTL::InstanceAccelerationStructureDescriptor::instanceDescriptorBuffer() const
1600
{
1601
return Object::sendMessage<MTL::Buffer*>(this, _MTL_PRIVATE_SEL(instanceDescriptorBuffer));
1602
}
1603
1604
_MTL_INLINE NS::UInteger MTL::InstanceAccelerationStructureDescriptor::instanceDescriptorBufferOffset() const
1605
{
1606
return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(instanceDescriptorBufferOffset));
1607
}
1608
1609
_MTL_INLINE NS::UInteger MTL::InstanceAccelerationStructureDescriptor::instanceDescriptorStride() const
1610
{
1611
return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(instanceDescriptorStride));
1612
}
1613
1614
_MTL_INLINE MTL::AccelerationStructureInstanceDescriptorType MTL::InstanceAccelerationStructureDescriptor::instanceDescriptorType() const
1615
{
1616
return Object::sendMessage<MTL::AccelerationStructureInstanceDescriptorType>(this, _MTL_PRIVATE_SEL(instanceDescriptorType));
1617
}
1618
1619
_MTL_INLINE MTL::MatrixLayout MTL::InstanceAccelerationStructureDescriptor::instanceTransformationMatrixLayout() const
1620
{
1621
return Object::sendMessage<MTL::MatrixLayout>(this, _MTL_PRIVATE_SEL(instanceTransformationMatrixLayout));
1622
}
1623
1624
_MTL_INLINE NS::Array* MTL::InstanceAccelerationStructureDescriptor::instancedAccelerationStructures() const
1625
{
1626
return Object::sendMessage<NS::Array*>(this, _MTL_PRIVATE_SEL(instancedAccelerationStructures));
1627
}
1628
1629
_MTL_INLINE MTL::Buffer* MTL::InstanceAccelerationStructureDescriptor::motionTransformBuffer() const
1630
{
1631
return Object::sendMessage<MTL::Buffer*>(this, _MTL_PRIVATE_SEL(motionTransformBuffer));
1632
}
1633
1634
_MTL_INLINE NS::UInteger MTL::InstanceAccelerationStructureDescriptor::motionTransformBufferOffset() const
1635
{
1636
return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(motionTransformBufferOffset));
1637
}
1638
1639
_MTL_INLINE NS::UInteger MTL::InstanceAccelerationStructureDescriptor::motionTransformCount() const
1640
{
1641
return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(motionTransformCount));
1642
}
1643
1644
_MTL_INLINE NS::UInteger MTL::InstanceAccelerationStructureDescriptor::motionTransformStride() const
1645
{
1646
return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(motionTransformStride));
1647
}
1648
1649
_MTL_INLINE MTL::TransformType MTL::InstanceAccelerationStructureDescriptor::motionTransformType() const
1650
{
1651
return Object::sendMessage<MTL::TransformType>(this, _MTL_PRIVATE_SEL(motionTransformType));
1652
}
1653
1654
_MTL_INLINE void MTL::InstanceAccelerationStructureDescriptor::setInstanceCount(NS::UInteger instanceCount)
1655
{
1656
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setInstanceCount_), instanceCount);
1657
}
1658
1659
_MTL_INLINE void MTL::InstanceAccelerationStructureDescriptor::setInstanceDescriptorBuffer(const MTL::Buffer* instanceDescriptorBuffer)
1660
{
1661
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setInstanceDescriptorBuffer_), instanceDescriptorBuffer);
1662
}
1663
1664
_MTL_INLINE void MTL::InstanceAccelerationStructureDescriptor::setInstanceDescriptorBufferOffset(NS::UInteger instanceDescriptorBufferOffset)
1665
{
1666
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setInstanceDescriptorBufferOffset_), instanceDescriptorBufferOffset);
1667
}
1668
1669
_MTL_INLINE void MTL::InstanceAccelerationStructureDescriptor::setInstanceDescriptorStride(NS::UInteger instanceDescriptorStride)
1670
{
1671
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setInstanceDescriptorStride_), instanceDescriptorStride);
1672
}
1673
1674
_MTL_INLINE void MTL::InstanceAccelerationStructureDescriptor::setInstanceDescriptorType(MTL::AccelerationStructureInstanceDescriptorType instanceDescriptorType)
1675
{
1676
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setInstanceDescriptorType_), instanceDescriptorType);
1677
}
1678
1679
_MTL_INLINE void MTL::InstanceAccelerationStructureDescriptor::setInstanceTransformationMatrixLayout(MTL::MatrixLayout instanceTransformationMatrixLayout)
1680
{
1681
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setInstanceTransformationMatrixLayout_), instanceTransformationMatrixLayout);
1682
}
1683
1684
_MTL_INLINE void MTL::InstanceAccelerationStructureDescriptor::setInstancedAccelerationStructures(const NS::Array* instancedAccelerationStructures)
1685
{
1686
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setInstancedAccelerationStructures_), instancedAccelerationStructures);
1687
}
1688
1689
_MTL_INLINE void MTL::InstanceAccelerationStructureDescriptor::setMotionTransformBuffer(const MTL::Buffer* motionTransformBuffer)
1690
{
1691
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setMotionTransformBuffer_), motionTransformBuffer);
1692
}
1693
1694
_MTL_INLINE void MTL::InstanceAccelerationStructureDescriptor::setMotionTransformBufferOffset(NS::UInteger motionTransformBufferOffset)
1695
{
1696
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setMotionTransformBufferOffset_), motionTransformBufferOffset);
1697
}
1698
1699
_MTL_INLINE void MTL::InstanceAccelerationStructureDescriptor::setMotionTransformCount(NS::UInteger motionTransformCount)
1700
{
1701
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setMotionTransformCount_), motionTransformCount);
1702
}
1703
1704
_MTL_INLINE void MTL::InstanceAccelerationStructureDescriptor::setMotionTransformStride(NS::UInteger motionTransformStride)
1705
{
1706
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setMotionTransformStride_), motionTransformStride);
1707
}
1708
1709
_MTL_INLINE void MTL::InstanceAccelerationStructureDescriptor::setMotionTransformType(MTL::TransformType motionTransformType)
1710
{
1711
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setMotionTransformType_), motionTransformType);
1712
}
1713
1714
_MTL_INLINE MTL::IndirectInstanceAccelerationStructureDescriptor* MTL::IndirectInstanceAccelerationStructureDescriptor::alloc()
1715
{
1716
return NS::Object::alloc<MTL::IndirectInstanceAccelerationStructureDescriptor>(_MTL_PRIVATE_CLS(MTLIndirectInstanceAccelerationStructureDescriptor));
1717
}
1718
1719
_MTL_INLINE MTL::IndirectInstanceAccelerationStructureDescriptor* MTL::IndirectInstanceAccelerationStructureDescriptor::descriptor()
1720
{
1721
return Object::sendMessage<MTL::IndirectInstanceAccelerationStructureDescriptor*>(_MTL_PRIVATE_CLS(MTLIndirectInstanceAccelerationStructureDescriptor), _MTL_PRIVATE_SEL(descriptor));
1722
}
1723
1724
_MTL_INLINE MTL::IndirectInstanceAccelerationStructureDescriptor* MTL::IndirectInstanceAccelerationStructureDescriptor::init()
1725
{
1726
return NS::Object::init<MTL::IndirectInstanceAccelerationStructureDescriptor>();
1727
}
1728
1729
_MTL_INLINE MTL::Buffer* MTL::IndirectInstanceAccelerationStructureDescriptor::instanceCountBuffer() const
1730
{
1731
return Object::sendMessage<MTL::Buffer*>(this, _MTL_PRIVATE_SEL(instanceCountBuffer));
1732
}
1733
1734
_MTL_INLINE NS::UInteger MTL::IndirectInstanceAccelerationStructureDescriptor::instanceCountBufferOffset() const
1735
{
1736
return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(instanceCountBufferOffset));
1737
}
1738
1739
_MTL_INLINE MTL::Buffer* MTL::IndirectInstanceAccelerationStructureDescriptor::instanceDescriptorBuffer() const
1740
{
1741
return Object::sendMessage<MTL::Buffer*>(this, _MTL_PRIVATE_SEL(instanceDescriptorBuffer));
1742
}
1743
1744
_MTL_INLINE NS::UInteger MTL::IndirectInstanceAccelerationStructureDescriptor::instanceDescriptorBufferOffset() const
1745
{
1746
return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(instanceDescriptorBufferOffset));
1747
}
1748
1749
_MTL_INLINE NS::UInteger MTL::IndirectInstanceAccelerationStructureDescriptor::instanceDescriptorStride() const
1750
{
1751
return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(instanceDescriptorStride));
1752
}
1753
1754
_MTL_INLINE MTL::AccelerationStructureInstanceDescriptorType MTL::IndirectInstanceAccelerationStructureDescriptor::instanceDescriptorType() const
1755
{
1756
return Object::sendMessage<MTL::AccelerationStructureInstanceDescriptorType>(this, _MTL_PRIVATE_SEL(instanceDescriptorType));
1757
}
1758
1759
_MTL_INLINE MTL::MatrixLayout MTL::IndirectInstanceAccelerationStructureDescriptor::instanceTransformationMatrixLayout() const
1760
{
1761
return Object::sendMessage<MTL::MatrixLayout>(this, _MTL_PRIVATE_SEL(instanceTransformationMatrixLayout));
1762
}
1763
1764
_MTL_INLINE NS::UInteger MTL::IndirectInstanceAccelerationStructureDescriptor::maxInstanceCount() const
1765
{
1766
return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(maxInstanceCount));
1767
}
1768
1769
_MTL_INLINE NS::UInteger MTL::IndirectInstanceAccelerationStructureDescriptor::maxMotionTransformCount() const
1770
{
1771
return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(maxMotionTransformCount));
1772
}
1773
1774
_MTL_INLINE MTL::Buffer* MTL::IndirectInstanceAccelerationStructureDescriptor::motionTransformBuffer() const
1775
{
1776
return Object::sendMessage<MTL::Buffer*>(this, _MTL_PRIVATE_SEL(motionTransformBuffer));
1777
}
1778
1779
_MTL_INLINE NS::UInteger MTL::IndirectInstanceAccelerationStructureDescriptor::motionTransformBufferOffset() const
1780
{
1781
return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(motionTransformBufferOffset));
1782
}
1783
1784
_MTL_INLINE MTL::Buffer* MTL::IndirectInstanceAccelerationStructureDescriptor::motionTransformCountBuffer() const
1785
{
1786
return Object::sendMessage<MTL::Buffer*>(this, _MTL_PRIVATE_SEL(motionTransformCountBuffer));
1787
}
1788
1789
_MTL_INLINE NS::UInteger MTL::IndirectInstanceAccelerationStructureDescriptor::motionTransformCountBufferOffset() const
1790
{
1791
return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(motionTransformCountBufferOffset));
1792
}
1793
1794
_MTL_INLINE NS::UInteger MTL::IndirectInstanceAccelerationStructureDescriptor::motionTransformStride() const
1795
{
1796
return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(motionTransformStride));
1797
}
1798
1799
_MTL_INLINE MTL::TransformType MTL::IndirectInstanceAccelerationStructureDescriptor::motionTransformType() const
1800
{
1801
return Object::sendMessage<MTL::TransformType>(this, _MTL_PRIVATE_SEL(motionTransformType));
1802
}
1803
1804
_MTL_INLINE void MTL::IndirectInstanceAccelerationStructureDescriptor::setInstanceCountBuffer(const MTL::Buffer* instanceCountBuffer)
1805
{
1806
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setInstanceCountBuffer_), instanceCountBuffer);
1807
}
1808
1809
_MTL_INLINE void MTL::IndirectInstanceAccelerationStructureDescriptor::setInstanceCountBufferOffset(NS::UInteger instanceCountBufferOffset)
1810
{
1811
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setInstanceCountBufferOffset_), instanceCountBufferOffset);
1812
}
1813
1814
_MTL_INLINE void MTL::IndirectInstanceAccelerationStructureDescriptor::setInstanceDescriptorBuffer(const MTL::Buffer* instanceDescriptorBuffer)
1815
{
1816
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setInstanceDescriptorBuffer_), instanceDescriptorBuffer);
1817
}
1818
1819
_MTL_INLINE void MTL::IndirectInstanceAccelerationStructureDescriptor::setInstanceDescriptorBufferOffset(NS::UInteger instanceDescriptorBufferOffset)
1820
{
1821
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setInstanceDescriptorBufferOffset_), instanceDescriptorBufferOffset);
1822
}
1823
1824
_MTL_INLINE void MTL::IndirectInstanceAccelerationStructureDescriptor::setInstanceDescriptorStride(NS::UInteger instanceDescriptorStride)
1825
{
1826
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setInstanceDescriptorStride_), instanceDescriptorStride);
1827
}
1828
1829
_MTL_INLINE void MTL::IndirectInstanceAccelerationStructureDescriptor::setInstanceDescriptorType(MTL::AccelerationStructureInstanceDescriptorType instanceDescriptorType)
1830
{
1831
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setInstanceDescriptorType_), instanceDescriptorType);
1832
}
1833
1834
_MTL_INLINE void MTL::IndirectInstanceAccelerationStructureDescriptor::setInstanceTransformationMatrixLayout(MTL::MatrixLayout instanceTransformationMatrixLayout)
1835
{
1836
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setInstanceTransformationMatrixLayout_), instanceTransformationMatrixLayout);
1837
}
1838
1839
_MTL_INLINE void MTL::IndirectInstanceAccelerationStructureDescriptor::setMaxInstanceCount(NS::UInteger maxInstanceCount)
1840
{
1841
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setMaxInstanceCount_), maxInstanceCount);
1842
}
1843
1844
_MTL_INLINE void MTL::IndirectInstanceAccelerationStructureDescriptor::setMaxMotionTransformCount(NS::UInteger maxMotionTransformCount)
1845
{
1846
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setMaxMotionTransformCount_), maxMotionTransformCount);
1847
}
1848
1849
_MTL_INLINE void MTL::IndirectInstanceAccelerationStructureDescriptor::setMotionTransformBuffer(const MTL::Buffer* motionTransformBuffer)
1850
{
1851
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setMotionTransformBuffer_), motionTransformBuffer);
1852
}
1853
1854
_MTL_INLINE void MTL::IndirectInstanceAccelerationStructureDescriptor::setMotionTransformBufferOffset(NS::UInteger motionTransformBufferOffset)
1855
{
1856
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setMotionTransformBufferOffset_), motionTransformBufferOffset);
1857
}
1858
1859
_MTL_INLINE void MTL::IndirectInstanceAccelerationStructureDescriptor::setMotionTransformCountBuffer(const MTL::Buffer* motionTransformCountBuffer)
1860
{
1861
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setMotionTransformCountBuffer_), motionTransformCountBuffer);
1862
}
1863
1864
_MTL_INLINE void MTL::IndirectInstanceAccelerationStructureDescriptor::setMotionTransformCountBufferOffset(NS::UInteger motionTransformCountBufferOffset)
1865
{
1866
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setMotionTransformCountBufferOffset_), motionTransformCountBufferOffset);
1867
}
1868
1869
_MTL_INLINE void MTL::IndirectInstanceAccelerationStructureDescriptor::setMotionTransformStride(NS::UInteger motionTransformStride)
1870
{
1871
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setMotionTransformStride_), motionTransformStride);
1872
}
1873
1874
_MTL_INLINE void MTL::IndirectInstanceAccelerationStructureDescriptor::setMotionTransformType(MTL::TransformType motionTransformType)
1875
{
1876
Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setMotionTransformType_), motionTransformType);
1877
}
1878
1879
_MTL_INLINE MTL::ResourceID MTL::AccelerationStructure::gpuResourceID() const
1880
{
1881
return Object::sendMessage<MTL::ResourceID>(this, _MTL_PRIVATE_SEL(gpuResourceID));
1882
}
1883
1884
_MTL_INLINE NS::UInteger MTL::AccelerationStructure::size() const
1885
{
1886
return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(size));
1887
}
1888
1889