Package apple.metal.protocol
Interface MTLIntersectionFunctionTable
-
- All Superinterfaces:
MTLResource
public interface MTLIntersectionFunctionTable extends MTLResource
API-Since: 14.0
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description MTLResourceIDgpuResourceID()[@property] gpuResourceID Handle of the GPU resource suitable for storing in an Argument Buffer API-Since: 16.0voidsetBufferOffsetAtIndex(@Nullable MTLBuffer buffer, long offset, long index)voidsetBuffersOffsetsWithRange(@NotNull org.moe.natj.general.ptr.Ptr<org.moe.natj.objc.ObjCObject> buffers, @NotNull org.moe.natj.general.ptr.ConstNUIntPtr offsets, NSRange range)voidsetFunctionAtIndex(@Nullable MTLFunctionHandle function, long index)voidsetFunctionsWithRange(@NotNull org.moe.natj.general.ptr.Ptr<org.moe.natj.objc.ObjCObject> functions, NSRange range)voidsetOpaqueCurveIntersectionFunctionWithSignatureAtIndex(long signature, long index)Initialize the function at the given index with a curve intersection function with the given signature which always accepts ray/curve intersections.voidsetOpaqueCurveIntersectionFunctionWithSignatureWithRange(long signature, NSRange range)Initialize the function at the given range with a curve intersection function with the given signature which always accepts ray/curve intersections.voidsetOpaqueTriangleIntersectionFunctionWithSignatureAtIndex(long signature, long index)Initialize the function at the given index with a triangle intersection function with the given signature which always accepts ray/triangle intersections.voidsetOpaqueTriangleIntersectionFunctionWithSignatureWithRange(long signature, NSRange range)Initialize the function at the given range with a triangle intersection function with the given signature which always accepts ray/triangle intersections.voidsetVisibleFunctionTableAtBufferIndex(@Nullable MTLVisibleFunctionTable functionTable, long bufferIndex)voidsetVisibleFunctionTablesWithBufferRange(@NotNull org.moe.natj.general.ptr.Ptr<org.moe.natj.objc.ObjCObject> functionTables, NSRange bufferRange)-
Methods inherited from interface apple.metal.protocol.MTLResource
allocatedSize, cpuCacheMode, device, hazardTrackingMode, heap, heapOffset, isAliasable, label, makeAliasable, resourceOptions, setLabel, setPurgeableState, storageMode
-
-
-
-
Method Detail
-
setBufferOffsetAtIndex
void setBufferOffsetAtIndex(@Nullable @Nullable MTLBuffer buffer, long offset, long index)
-
setBuffersOffsetsWithRange
void setBuffersOffsetsWithRange(@NotNull @NotNull org.moe.natj.general.ptr.Ptr<org.moe.natj.objc.ObjCObject> buffers, @NotNull @NotNull org.moe.natj.general.ptr.ConstNUIntPtr offsets, NSRange range)
-
setFunctionAtIndex
void setFunctionAtIndex(@Nullable @Nullable MTLFunctionHandle function, long index)
-
setFunctionsWithRange
void setFunctionsWithRange(@NotNull @NotNull org.moe.natj.general.ptr.Ptr<org.moe.natj.objc.ObjCObject> functions, NSRange range)
-
setOpaqueTriangleIntersectionFunctionWithSignatureAtIndex
void setOpaqueTriangleIntersectionFunctionWithSignatureAtIndex(long signature, long index)Initialize the function at the given index with a triangle intersection function with the given signature which always accepts ray/triangle intersections. If this method is not called and an intersection function is not otherwise set at the given index, ray/triangle intersections will be ignored if a call to the function at the given index would be required. Ray/triangle intersections are always accepted if an intersection function table is not provided.
-
setOpaqueTriangleIntersectionFunctionWithSignatureWithRange
void setOpaqueTriangleIntersectionFunctionWithSignatureWithRange(long signature, NSRange range)Initialize the function at the given range with a triangle intersection function with the given signature which always accepts ray/triangle intersections. If this method is not called and an intersection function is not otherwise set at an index in the given range, ray/triangle intersections will be ignored if a call to the function at that index would be required. Ray/triangle intersections are always accepted if an intersection function table is not provided.
-
setVisibleFunctionTableAtBufferIndex
void setVisibleFunctionTableAtBufferIndex(@Nullable @Nullable MTLVisibleFunctionTable functionTable, long bufferIndex)
-
setVisibleFunctionTablesWithBufferRange
void setVisibleFunctionTablesWithBufferRange(@NotNull @NotNull org.moe.natj.general.ptr.Ptr<org.moe.natj.objc.ObjCObject> functionTables, NSRange bufferRange)
-
gpuResourceID
MTLResourceID gpuResourceID()
[@property] gpuResourceID Handle of the GPU resource suitable for storing in an Argument Buffer API-Since: 16.0
-
setOpaqueCurveIntersectionFunctionWithSignatureAtIndex
void setOpaqueCurveIntersectionFunctionWithSignatureAtIndex(long signature, long index)Initialize the function at the given index with a curve intersection function with the given signature which always accepts ray/curve intersections. If this method is not called and an intersection function is not otherwise set at the given index, ray/curve intersections will be ignored if a call to the function at the given index would be required. Ray/curve intersections are always accepted if an intersection function table is not provided.
-
setOpaqueCurveIntersectionFunctionWithSignatureWithRange
void setOpaqueCurveIntersectionFunctionWithSignatureWithRange(long signature, NSRange range)Initialize the function at the given range with a curve intersection function with the given signature which always accepts ray/curve intersections. If this method is not called and an intersection function is not otherwise set at an index in the given range, ray/curve intersections will be ignored if a call to the function at that index would be required. Ray/curve intersections are always accepted if an intersection function table is not provided.
-
-