• Slang Standard Library Reference
    • Interfaces
      • IArithmetic
        • add
        • div
        • init
        • mod
        • mul
        • neg
        • sub
      • IArithmeticAtomicable
      • IArray
        • getCount
        • subscript
      • IAtomicable
      • IBitAtomicable
      • IBufferDataLayout
      • IComparable
        • equals
        • lessThan
        • lessThanOrEquals
      • IDefaultInitializable
        • init
      • IDiffTensorWrapper
        • loadOnce_backward
        • loadOnce_forward
        • load_backward
        • load_forward
        • storeOnce_backward
        • storeOnce_forward
        • store_backward
        • store_forward
      • IDifferentiable
        • dadd
        • dmul
        • dzero
      • IDifferentiableFunc
        • operator()
      • IDifferentiableMutatingFunc
        • operator()
      • IDifferentiablePtrType
      • IFloat
        • add
        • div
        • init
        • mod
        • mul
        • neg
        • scale
        • sub
        • toFloat
      • IFunc
        • operator()
      • IInteger
        • init
        • toInt
        • toInt64
        • toUInt
        • toUInt64
      • ILogical
        • and
        • bitAnd
        • bitNot
        • bitOr
        • bitXor
        • init
        • not
        • or
        • shl
        • shr
      • IMutatingFunc
        • operator()
      • IOpaqueDescriptor
        • descriptorAccess
        • kind
      • IPhysicalBuffer
        • GetBufferPointer
        • LoadByteOffset
      • IRWArray
        • subscript
      • IRWPhysicalBuffer
        • StoreByteOffset
      • IRangedValue
        • maxValue
        • minValue
      • ITexelElement
        • elementCount
        • init
      • __BuiltinArithmeticType
      • __BuiltinFloatingPointType
        • getPi
      • __BuiltinIntegerType
      • __BuiltinLogicalType
      • __ITextureShape
        • dimensions
        • flavor
        • planeDimensions
      • __ITextureShape1D2D3D
    • Types
      • Buffer types
        • AppendStructuredBuffer
          • Append
          • GetDimensions
          • Handle
          • descriptorAccess
          • init
          • kind
        • ByteAddressBuffer
          • GetBufferPointer
          • GetDimensions
          • Handle
          • Load
          • Load2
          • Load2Aligned
          • Load3
          • Load3Aligned
          • Load4
          • Load4Aligned
          • LoadAligned
          • LoadByteOffset
          • descriptorAccess
          • init
          • kind
        • ConsumeStructuredBuffer
          • Consume
          • GetDimensions
          • Handle
          • descriptorAccess
          • init
          • kind
        • RWByteAddressBuffer
          • GetBufferPointer
          • GetDimensions
          • Handle
          • InterlockedAdd
          • InterlockedAdd64
          • InterlockedAddF16
          • InterlockedAddF16Emulated
          • InterlockedAddF32
          • InterlockedAddF64
          • InterlockedAddI64
          • InterlockedAddU64
          • InterlockedAnd
          • InterlockedAnd64
          • InterlockedAndU64
          • InterlockedCompareExchange
          • InterlockedCompareExchange64
          • InterlockedCompareExchangeFloatBitwise
          • InterlockedCompareExchangeU64
          • InterlockedCompareStore
          • InterlockedCompareStore64
          • InterlockedCompareStoreFloatBitwise
          • InterlockedExchange
          • InterlockedExchange64
          • InterlockedExchangeFloat
          • InterlockedExchangeU64
          • InterlockedMax
          • InterlockedMax64
          • InterlockedMaxU64
          • InterlockedMin
          • InterlockedMin64
          • InterlockedMinU64
          • InterlockedOr
          • InterlockedOr64
          • InterlockedOrU64
          • InterlockedXor
          • InterlockedXor64
          • InterlockedXorU64
          • Load
          • Load2
          • Load2Aligned
          • Load3
          • Load3Aligned
          • Load4
          • Load4Aligned
          • LoadAligned
          • LoadByteOffset
          • Store
          • Store2
          • Store2Aligned
          • Store3
          • Store3Aligned
          • Store4
          • Store4Aligned
          • StoreAligned
          • StoreByteOffset
          • _NvInterlockedAddFp16x2
          • descriptorAccess
          • init
          • kind
        • RWStructuredBuffer
          • DecrementCounter
          • GetDimensions
          • Handle
          • IncrementCounter
          • Load
          • descriptorAccess
          • getCount
          • init
          • kind
          • subscript
        • RasterizerOrderedByteAddressBuffer
          • GetDimensions
          • Handle
          • InterlockedAdd
          • InterlockedAnd
          • InterlockedCompareExchange
          • InterlockedCompareStore
          • InterlockedExchange
          • InterlockedMax
          • InterlockedMin
          • InterlockedOr
          • InterlockedXor
          • Load
          • Load2
          • Load2Aligned
          • Load3
          • Load3Aligned
          • Load4
          • Load4Aligned
          • LoadAligned
          • Store
          • Store2
          • Store2Aligned
          • Store3
          • Store3Aligned
          • Store4
          • Store4Aligned
          • StoreAligned
          • descriptorAccess
          • init
          • kind
        • RasterizerOrderedStructuredBuffer
          • DecrementCounter
          • GetDimensions
          • Handle
          • IncrementCounter
          • Load
          • descriptorAccess
          • getCount
          • init
          • kind
          • subscript
        • StructuredBuffer
          • GetDimensions
          • Handle
          • Load
          • descriptorAccess
          • getCount
          • init
          • kind
          • subscript
      • Math types
        • matrix
          • Differential
          • T
          • add
          • dadd
          • div
          • dmul
          • dzero
          • equals
          • getCount
          • init
          • lessThan
          • lessThanOrEquals
          • mod
          • mul
          • neg
          • scale
          • sub
          • toFloat
        • vector
          • Differential
          • Element
          • add
          • and
          • bitAnd
          • bitNot
          • bitOr
          • bitXor
          • dadd
          • div
          • dmul
          • dzero
          • elementCount
          • equals
          • getCount
          • init
          • lessThan
          • lessThanOrEquals
          • mod
          • mul
          • neg
          • not
          • or
          • scale
          • shl
          • shr
          • sub
          • toFloat
          • toInt
          • toInt64
          • toUInt
          • toUInt64
      • matrix_types
        • CoopMat
          • GetColumnCount
          • GetLength
          • GetRowCount
          • Load
          • LoadCoherent
          • MapElement
          • Reduce2x2
          • ReduceColumn
          • ReduceRow
          • ReduceRowAndColumn
          • Store
          • StoreCoherent
          • Transpose
          • add
          • copyFrom
          • div
          • equals
          • fill
          • getCount
          • init
          • lessThan
          • lessThanOrEquals
          • mod
          • mul
          • neg
          • sub
          • subscript
      • Miscelaneous types
        • CDataLayout
        • DefaultDataLayout
        • DefaultPushConstantDataLayout
        • MemoryOrder
        • NativeString
          • getBuffer
          • getLength
          • init
          • length
        • ScalarDataLayout
        • SideEffectBehavior
        • Std140DataLayout
        • Std430DataLayout
        • __Shape1D
          • dimensions
          • flavor
          • planeDimensions
        • __Shape2D
          • dimensions
          • flavor
          • planeDimensions
        • __Shape3D
          • dimensions
          • flavor
          • planeDimensions
        • __ShapeBuffer
          • dimensions
          • flavor
          • planeDimensions
        • __ShapeCube
          • dimensions
          • flavor
          • planeDimensions
        • string
      • Ray-tracing
        • BuiltInTriangleIntersectionAttributes
          • barycentrics
        • CANDIDATE_TYPE
        • COMMITTED_STATUS
        • HitObject
          • GetAttributes
          • GetClusterID
          • GetCurrentTime
          • GetGeometryIndex
          • GetHitKind
          • GetInstanceID
          • GetInstanceIndex
          • GetLssPositionsAndRadii
          • GetObjectRayDirection
          • GetObjectRayOrigin
          • GetObjectToWorld
          • GetPrimitiveIndex
          • GetRayDesc
          • GetShaderRecordBufferHandle
          • GetShaderTableIndex
          • GetSpherePositionAndRadius
          • GetWorldToObject
          • Invoke
          • IsHit
          • IsLssHit
          • IsMiss
          • IsNop
          • IsSphereHit
          • LoadLocalRootTableConstant
          • MakeHit
          • MakeMiss
          • MakeMotionHit
          • MakeMotionMiss
          • MakeNop
          • SetShaderTableIndex
          • TraceMotionRay
          • TraceRay
          • init
        • RAY_FLAG
        • RayDesc
          • Direction
          • Origin
          • TMax
          • TMin
        • RayQuery
          • Abort
          • CandidateClusterID
          • CandidateGeometryIndex
          • CandidateGetIntersectionTriangleVertexPositions
          • CandidateInstanceContributionToHitGroupIndex
          • CandidateInstanceID
          • CandidateInstanceIndex
          • CandidateObjectRayDirection
          • CandidateObjectRayOrigin
          • CandidateObjectToWorld3x4
          • CandidateObjectToWorld4x3
          • CandidatePrimitiveIndex
          • CandidateProceduralPrimitiveNonOpaque
          • CandidateRayBarycentrics
          • CandidateRayFrontFace
          • CandidateRayGeometryIndex
          • CandidateRayInstanceCustomIndex
          • CandidateRayInstanceId
          • CandidateRayInstanceShaderBindingTableRecordOffset
          • CandidateRayObjectRayDirection
          • CandidateRayObjectRayOrigin
          • CandidateRayObjectToWorld
          • CandidateRayPrimitiveIndex
          • CandidateRayWorldToObject
          • CandidateTriangleBarycentrics
          • CandidateTriangleFrontFace
          • CandidateTriangleRayT
          • CandidateType
          • CandidateWorldToObject3x4
          • CandidateWorldToObject4x3
          • CommitNonOpaqueTriangleHit
          • CommitProceduralPrimitiveHit
          • CommittedClusterID
          • CommittedGeometryIndex
          • CommittedGetIntersectionTriangleVertexPositions
          • CommittedInstanceContributionToHitGroupIndex
          • CommittedInstanceID
          • CommittedInstanceIndex
          • CommittedObjectRayDirection
          • CommittedObjectRayOrigin
          • CommittedObjectToWorld3x4
          • CommittedObjectToWorld4x3
          • CommittedPrimitiveIndex
          • CommittedRayBarycentrics
          • CommittedRayFrontFace
          • CommittedRayGeometryIndex
          • CommittedRayInstanceCustomIndex
          • CommittedRayInstanceId
          • CommittedRayInstanceShaderBindingTableRecordOffset
          • CommittedRayObjectRayDirection
          • CommittedRayObjectRayOrigin
          • CommittedRayObjectToWorld
          • CommittedRayPrimitiveIndex
          • CommittedRayT
          • CommittedRayWorldToObject
          • CommittedStatus
          • CommittedTriangleBarycentrics
          • CommittedTriangleFrontFace
          • CommittedWorldToObject3x4
          • CommittedWorldToObject4x3
          • Proceed
          • RayFlags
          • RayTMin
          • TraceRayInline
          • WorldRayDirection
          • WorldRayOrigin
          • init
        • RaytracingAccelerationStructure
          • Handle
          • descriptorAccess
          • init
          • kind
        • TRAVERSABLE_TRANSFORM_TYPE
      • Sampler types
        • SamplerComparisonState
          • Handle
          • descriptorAccess
          • init
          • kind
        • SamplerState
          • Handle
          • descriptorAccess
          • init
          • kind
      • Scalar types
        • float16_t
        • float32_t
        • float64_t
        • int32_t
        • size_t
        • ssize_t
        • uint32_t
        • usize_t
      • Stage IO types
        • InputPatch
          • subscript
        • LineStream
          • Append
          • RestartStrip
        • OutputIndices
          • subscript
        • OutputPatch
          • subscript
        • OutputPrimitives
          • subscript
        • OutputVertices
          • _metalSetVertex
          • _setVertex
          • subscript
        • PointStream
          • Append
          • RestartStrip
        • SubpassInput
        • SubpassInputMS
        • TextureFootprint
          • _isSingleLevel
          • isSingleLevel
        • TextureFootprint2D
        • TextureFootprint3D
        • TriangleStream
          • Append
          • RestartStrip
      • Texture types
        • Buffer
        • DepthTexture1D
        • DepthTexture1DArray
        • DepthTexture2D
        • DepthTexture2DArray
        • DepthTexture2DMS
        • DepthTexture2DMSArray
        • DepthTexture3D
        • DepthTextureCube
        • DepthTextureCubeArray
        • FeedbackTexture2D
        • FeedbackTexture2DArray
        • RWBuffer
        • RWSampler1D
        • RWSampler1DArray
        • RWSampler2D
        • RWSampler2DArray
        • RWSampler2DMS
        • RWSampler2DMSArray
        • RWSampler3D
        • RWTexture1D
        • RWTexture1DArray
        • RWTexture2D
        • RWTexture2DArray
        • RWTexture2DMS
        • RWTexture2DMSArray
        • RWTexture3D
        • RasterizerOrderedBuffer
        • RasterizerOrderedSampler1D
        • RasterizerOrderedSampler1DArray
        • RasterizerOrderedSampler2D
        • RasterizerOrderedSampler2DArray
        • RasterizerOrderedSampler3D
        • RasterizerOrderedTexture1D
        • RasterizerOrderedTexture1DArray
        • RasterizerOrderedTexture2D
        • RasterizerOrderedTexture2DArray
        • RasterizerOrderedTexture3D
        • SAMPLER_FEEDBACK_MIN_MIP
          • Element
          • elementCount
          • init
        • SAMPLER_FEEDBACK_MIP_REGION_USED
          • Element
          • elementCount
          • init
        • Sampler1D
        • Sampler1DArray
        • Sampler1DArrayShadow
        • Sampler1DShadow
        • Sampler2D
        • Sampler2DArray
        • Sampler2DArrayShadow
        • Sampler2DMS
        • Sampler2DMSArray
        • Sampler2DMSArrayShadow
        • Sampler2DMSShadow
        • Sampler2DShadow
        • Sampler3D
        • Sampler3DShadow
        • SamplerCube
        • SamplerCubeArray
        • SamplerCubeArrayShadow
        • SamplerCubeShadow
        • Texture1D
        • Texture1DArray
        • Texture2D
        • Texture2DArray
        • Texture2DMS
        • Texture2DMSArray
        • Texture3D
        • TextureBuffer
          • Handle
          • descriptorAccess
          • init
          • kind
        • TextureCube
        • TextureCubeArray
        • WSampler1D
        • WSampler1DArray
        • WSampler2D
        • WSampler2DArray
        • WSampler3D
        • WTexture1D
        • WTexture1DArray
        • WTexture2D
        • WTexture2DArray
        • WTexture3D
        • _Texture
          • CalculateLevelOfDetail
          • CalculateLevelOfDetailUnclamped
          • Coords
          • Footprint
          • FootprintGranularity
          • Gather
          • GatherAlpha
          • GatherBlue
          • GatherCmp
          • GatherCmpAlpha
          • GatherCmpBlue
          • GatherCmpGreen
          • GatherCmpRed
          • GatherGreen
          • GatherRed
          • GetDimensions
          • GetSamplePosition
          • Handle
          • InterlockedAddF32
          • Load
          • Sample
          • SampleBias
          • SampleCmp
          • SampleCmpBias
          • SampleCmpGrad
          • SampleCmpLevel
          • SampleCmpLevelZero
          • SampleGrad
          • SampleLevel
          • SampleLevelZero
          • Store
          • TextureCoord
          • WriteSamplerFeedback
          • WriteSamplerFeedbackBias
          • WriteSamplerFeedbackGrad
          • WriteSamplerFeedbackLevel
          • descriptorAccess
          • init
          • kind
          • queryFootprintCoarse
          • queryFootprintCoarseBias
          • queryFootprintCoarseBiasClamp
          • queryFootprintCoarseClamp
          • queryFootprintCoarseGrad
          • queryFootprintCoarseGradClamp
          • queryFootprintCoarseLevel
          • queryFootprintFine
          • queryFootprintFineBias
          • queryFootprintFineBiasClamp
          • queryFootprintFineClamp
          • queryFootprintFineGrad
          • queryFootprintFineGradClamp
          • queryFootprintFineLevel
          • subscript
      • Array
        • Differential
        • dadd
        • dmul
        • dzero
        • getCount
      • Atomic
        • add
        • and
        • compareExchange
        • decrement
        • exchange
        • increment
        • load
        • max
        • min
        • or
        • store
        • sub
        • xor
      • AtomicAdd
        • diff
        • loadOnce_backward
        • loadOnce_forward
        • load_backward
        • load_forward
        • storeOnce_backward
        • storeOnce_forward
        • store_backward
        • store_forward
      • BindlessDescriptorOptions
      • ConstantBuffer
        • Handle
        • descriptorAccess
        • init
        • kind
      • CoopMatClampMode
      • CoopMatMatrixLayout
      • CoopMatMatrixUse
      • CoopVec
        • add
        • copyFrom
        • div
        • equals
        • fill
        • getCount
        • init
        • lessThan
        • lessThanOrEquals
        • load
        • loadAny
        • loadCoherent
        • matMulAccum
        • matMulAccumPacked
        • matMulAddAccum
        • matMulAddAccumPacked
        • mod
        • mul
        • neg
        • replicate
        • store
        • storeAny
        • storeCoherent
        • sub
        • subscript
      • CoopVecComponentType
      • CoopVecMatrixLayout
      • DefaultVkBindlessBindings
      • DescriptorAccess
      • DescriptorHandle
        • equals
        • init
        • lessThan
        • lessThanOrEquals
      • DescriptorKind
      • DiffTensorView
        • diff
        • dims
        • init
        • load
        • loadOnce
        • primal
        • size
        • store
        • storeOnce
        • stride
        • subscript
      • DifferentialPair
        • Differential
        • DifferentialElementType
        • d
        • dadd
        • dmul
        • dzero
        • getDifferential
        • getPrimal
        • init
        • p
        • v
      • DifferentialPtrPair
        • Differential
        • DifferentialElementType
        • d
        • init
        • p
        • v
      • DispatchNodeInputRecord
        • Get
      • ImmutablePtr
      • NodePayloadPtr
      • NullDifferential
        • Differential
        • dadd
        • dmul
        • dummy
        • dzero
      • Optional
        • Differential
        • dadd
        • dmul
        • dzero
        • hasValue
        • init
        • value
      • ParameterBlock
      • Ptr
        • init
        • subscript
      • String
        • getLength
        • init
        • length
      • TensorLayout
        • BlockSize
        • ClampValue
        • Dimension
        • Slice
        • Stride
        • init
      • TensorView
        • Clip
        • Dimension
        • InterlockedAdd
        • InterlockedAnd
        • InterlockedCompareExchange
        • InterlockedExchange
        • InterlockedMax
        • InterlockedMin
        • InterlockedOr
        • InterlockedXor
        • Stride
        • data_ptr
        • data_ptr_at
        • dims
        • init
        • load
        • size
        • store
        • stride
        • subscript
      • TorchTensor
        • alloc
        • data_ptr
        • dims
        • emptyLike
        • fillValue
        • fillZero
        • getView
        • size
        • stride
        • zerosLike
      • Tuple
        • Differential
        • MapElement
        • dadd
        • dmul
        • dzero
        • equals
        • init
        • lessThan
        • lessThanOrEquals
      • VkMutableBindlessBindings
      • _AttributeTargets
      • extension T : ITexelElement
        • Element
        • elementCount
        • init
      • int8_t4_packed
      • uint8_t4_packed
    • Attributes
      • AutoPyBindCUDA
      • BackwardDerivative
      • BackwardDerivativeOf
      • BackwardDifferentiable
      • COM
      • CUDADeviceExport
      • CUDAHost
      • CUDAKernel
      • CudaDeviceExport
      • CudaHost
      • CudaKernel
      • DerivativeGroupLinear
      • DerivativeGroupQuad
      • DerivativeMember
      • Differentiable
      • DllExport
      • DllImport
      • ExperimentalModule
      • Flags
      • ForceInline
      • ForceUnroll
      • ForwardDerivative
      • ForwardDerivativeOf
      • ForwardDifferentiable
      • KnownBuiltin
      • MaxIters
      • MaximallyReconverges
      • NoDiffThis
      • NonUniformReturn
      • NumThreads
      • OverloadRank
      • PreferCheckpoint
      • PreferRecompute
      • PrimalSubstitute
      • PrimalSubstituteOf
      • PyExport
      • QuadDerivatives
      • RequireFullQuads
      • RequirePrelude
      • Shader
      • SpecializationConstant
      • Specialize
      • TorchEntryPoint
      • TreatAsDifferentiable
      • UnscopedEnum
      • WaveSize
      • allow
      • allow_uav_condition
      • anyValueSize
      • branch
      • builtin
      • call
      • constref
      • deprecated
      • disable_array_flattening
      • domain
      • earlydepthstencil
      • fastopt
      • flatten
      • forcecase
      • format
      • gl_binding
      • instance
      • loop
      • maxtessfactor
      • maxvertexcount
      • mutating
      • noRefInline
      • noinline
      • nonmutating
      • numthreads
      • open
      • outputcontrolpoints
      • outputtopology
      • partitioning
      • patchconstantfunc
      • push_constant
      • raypayload
      • require
      • sealed
      • shader
      • shader_record
      • spv_target_env_1_3
      • unroll
      • vk_binding
      • vk_constant_id
      • vk_image_format
      • vk_location
      • vk_offset
      • vk_push_constant
      • vk_shader_record
      • vk_specialization_constant
      • vk_spirv_instruction
    • Global Declarations
      • Atomic functions
        • InterlockedAdd
        • InterlockedAnd
        • InterlockedCompareExchange
        • InterlockedCompareExchangeFloatBitwise
        • InterlockedCompareStore
        • InterlockedCompareStoreFloatBitwise
        • InterlockedExchange
        • InterlockedMax
        • InterlockedMin
        • InterlockedOr
        • InterlockedXor
      • Memory and control barriers
        • AllMemoryBarrier
        • AllMemoryBarrierWithGroupSync
        • DeviceMemoryBarrier
        • DeviceMemoryBarrierWithGroupSync
        • GroupMemoryBarrier
        • GroupMemoryBarrierWithGroupSync
      • Bit operation functions
        • countbits
        • firstbithigh
        • firstbitlow
        • reversebits
      • Conversion functions
        • asdouble
        • asfloat
        • asfloat16
        • asint
        • asint16
        • asuint
        • asuint16
        • bit_cast
        • f16tof32
        • f32tof16
        • f32tof16_
        • reinterpret
      • Derivative functions
        • ddx
        • ddx_coarse
        • ddx_fine
        • ddy
        • ddy_coarse
        • ddy_fine
        • fwidth
        • fwidth_coarse
        • fwidth_fine
      • Vertex Interpolation Functions
        • EvaluateAttributeAtCentroid
        • EvaluateAttributeAtSample
        • EvaluateAttributeSnapped
      • Math functions
        • abs
        • acos
        • acosh
        • asin
        • asinh
        • atan
        • atan2
        • atanh
        • ceil
        • clamp
        • copysign
        • copysign_double
        • copysign_float
        • copysign_half
        • cos
        • cosh
        • cospi
        • cross
        • degrees
        • determinant
        • distance
        • divide
        • dot
        • dot2add
        • dot4add_i8packed
        • dot4add_u8packed
        • dst
        • exp
        • exp10
        • exp2
        • fabs
        • faceforward
        • fdim
        • floor
        • fma
        • fmax
        • fmax3
        • fmedian3
        • fmin
        • fmin3
        • fmod
        • frac
        • fract
        • frexp
        • isfinite
        • isinf
        • isnan
        • ldexp
        • length
        • lerp
        • lit
        • log
        • log10
        • log2
        • mad
        • max
        • max3
        • median3
        • min
        • min3
        • modf
        • msad4
        • mul
        • normalize
        • pow
        • powr
        • radians
        • rcp
        • reflect
        • refract
        • rint
        • round
        • rsqrt
        • saturate
        • sign
        • sin
        • sincos
        • sinh
        • sinpi
        • smoothstep
        • sqrt
        • step
        • tan
        • tanh
        • tanpi
        • transpose
        • trunc
      • Mesh shading
        • DispatchMesh
        • SetMeshOutputCounts
      • Ray-tracing
        • AcceptHitAndEndSearch
        • CANDIDATE_NON_OPAQUE_TRIANGLE
        • CANDIDATE_PROCEDURAL_PRIMITIVE
        • COMMITTED_NOTHING
        • COMMITTED_PROCEDURAL_PRIMITIVE_HIT
        • COMMITTED_TRIANGLE_HIT
        • CallShader
        • DispatchRaysDimensions
        • DispatchRaysIndex
        • GeometryIndex
        • GetClusterID
        • GetInstanceTraversable
        • GetLssPositionsAndRadii
        • GetSpherePositionAndRadius
        • GetTransformListHandle
        • GetTransformListSize
        • GetTraversableChild
        • GetTraversableInstanceId
        • GetTraversableObjectToWorld
        • GetTraversableTransformType
        • GetTraversableWorldToObject
        • HIT_KIND_TRIANGLE_BACK_FACE
        • HIT_KIND_TRIANGLE_FRONT_FACE
        • HitKind
        • HitTriangleVertexPosition
        • IgnoreHit
        • InstanceID
        • InstanceIndex
        • IsLssHit
        • IsSphereHit
        • ObjectRayDirection
        • ObjectRayOrigin
        • ObjectToWorld
        • ObjectToWorld3x4
        • ObjectToWorld4x3
        • PrimitiveIndex
        • RAY_FLAG_ACCEPT_FIRST_HIT_AND_END_SEARCH
        • RAY_FLAG_CULL_BACK_FACING_TRIANGLES
        • RAY_FLAG_CULL_FRONT_FACING_TRIANGLES
        • RAY_FLAG_CULL_NON_OPAQUE
        • RAY_FLAG_CULL_OPAQUE
        • RAY_FLAG_FORCE_NON_OPAQUE
        • RAY_FLAG_FORCE_OPAQUE
        • RAY_FLAG_NONE
        • RAY_FLAG_SKIP_CLOSEST_HIT_SHADER
        • RAY_FLAG_SKIP_PROCEDURAL_PRIMITIVES
        • RAY_FLAG_SKIP_TRIANGLES
        • RayCurrentTime
        • RayFlags
        • RayTCurrent
        • RayTMin
        • ReportHit
        • ReportHitOptix
        • TraceMotionRay
        • TraceRay
        • WorldRayDirection
        • WorldRayOrigin
        • WorldToObject
        • WorldToObject3x4
        • WorldToObject4x3
      • Tessellation functions
        • Process2DQuadTessFactorsAvg
        • Process2DQuadTessFactorsMax
        • Process2DQuadTessFactorsMin
        • ProcessIsolineTessFactors
        • ProcessQuadTessFactorsAvg
        • ProcessQuadTessFactorsMax
        • ProcessQuadTessFactorsMin
        • ProcessTriTessFactorsAvg
        • ProcessTriTessFactorsMax
        • ProcessTriTessFactorsMin
      • Wave and quad functions
        • QuadReadAcrossDiagonal
        • QuadReadAcrossX
        • QuadReadAcrossY
        • QuadReadLaneAt
        • WaveActiveAllEqual
        • WaveActiveAllTrue
        • WaveActiveAnyTrue
        • WaveActiveBallot
        • WaveActiveBitAnd
        • WaveActiveBitOr
        • WaveActiveBitXor
        • WaveActiveCountBits
        • WaveActiveMax
        • WaveActiveMin
        • WaveActiveProduct
        • WaveActiveSum
        • WaveBroadcastLaneAt
        • WaveGetActiveMulti
        • WaveGetConvergedMulti
        • WaveGetLaneCount
        • WaveGetLaneIndex
        • WaveIsFirstLane
        • WaveMatch
        • WaveMultiPrefixCountBits
        • WavePrefixCountBits
        • WavePrefixProduct
        • WavePrefixSum
        • WaveReadLaneAt
        • WaveReadLaneFirst
        • WaveShuffle
        • _WaveCountBits
      • CheckAccessFullyMapped
      • D3DCOLORtoUBYTE4
      • GetAttributeAtVertex
      • GetRenderTargetSampleCount
      • GetRenderTargetSamplePosition
      • InterlockedAddF16Emulated
      • InterlockedAddF16x2
      • IsHelperLane
      • NonUniformResourceIndex
      • QuadAll
      • QuadAny
      • ReorderThread
      • WaveClusteredRotate
      • WaveMultiBitAnd
      • WaveMultiBitOr
      • WaveMultiBitXor
      • WaveMultiMax
      • WaveMultiMin
      • WaveMultiPrefixBitAnd
      • WaveMultiPrefixBitOr
      • WaveMultiPrefixBitXor
      • WaveMultiPrefixExclusiveBitAnd
      • WaveMultiPrefixExclusiveBitOr
      • WaveMultiPrefixExclusiveBitXor
      • WaveMultiPrefixExclusiveMax
      • WaveMultiPrefixExclusiveMin
      • WaveMultiPrefixExclusiveProduct
      • WaveMultiPrefixExclusiveSum
      • WaveMultiPrefixInclusiveBitAnd
      • WaveMultiPrefixInclusiveBitOr
      • WaveMultiPrefixInclusiveBitXor
      • WaveMultiPrefixInclusiveMax
      • WaveMultiPrefixInclusiveMin
      • WaveMultiPrefixInclusiveProduct
      • WaveMultiPrefixInclusiveSum
      • WaveMultiPrefixProduct
      • WaveMultiPrefixSum
      • WaveMultiProduct
      • WaveMultiSum
      • WaveRotate
      • WorkgroupCount
      • WorkgroupSize
      • abort
      • all
      • any
      • bitfieldExtract
      • bitfieldInsert
      • clip
      • clock2x32ARB
      • clockARB
      • concat
      • coopVecLoad
      • coopVecLoadCoherent
      • coopVecLoadGroupshared
      • coopVecMatMul
      • coopVecMatMulAdd
      • coopVecMatMulAddPacked
      • coopVecMatMulPacked
      • coopVecOuterProductAccumulate
      • coopVecReduceSumAccumulate
      • createDynamicObject
      • cudaBlockDim
      • cudaBlockIdx
      • cudaThreadIdx
      • debugBreak
      • defaultGetDescriptorFromHandle
      • detach
      • diffPair
      • enableVMMDeviceScopeCapabilityIfNeeded
      • getDescriptorFromHandle
      • getRealtimeClock
      • getRealtimeClockLow
      • getStringHash
      • isDifferentialNull
      • loadAligned
      • makeArrayFromElement
      • makeTuple
      • nextafter
      • nonuniform
      • operator*
      • operator?:
      • packHalf2x16
      • packInt4x8
      • packInt4x8Clamp
      • packSnorm2x16
      • packSnorm4x8
      • packUint4x8
      • packUint4x8Clamp
      • packUnorm2x16
      • packUnorm4x8
      • pack_clamp_s8
      • pack_clamp_u8
      • pack_s8
      • pack_u8
      • printf
      • select
      • static_assert
      • storeAligned
      • syncTorchCudaStream
      • unmodified
      • unpackHalf2x16ToFloat
      • unpackHalf2x16ToHalf
      • unpackInt4x8ToInt16
      • unpackInt4x8ToInt32
      • unpackSnorm2x16ToFloat
      • unpackSnorm2x16ToHalf
      • unpackSnorm4x8ToFloat
      • unpackSnorm4x8ToHalf
      • unpackUint4x8ToUint16
      • unpackUint4x8ToUint32
      • unpackUnorm2x16ToFloat
      • unpackUnorm2x16ToHalf
      • unpackUnorm4x8ToFloat
      • unpackUnorm4x8ToHalf
      • unpack_s8s16
      • unpack_s8s32
      • unpack_u8u16
      • unpack_u8u32
      • unused
      • updateDiff
      • updatePair
      • updatePrimal
      • workgroupUniformLoad

_Texture<T, Shape, isArray, isMS, sampleCount, access, isShadow, isCombined, format>.Sample

Description

Samples the texture at a given location using implicit level of detail.

Signature

/// Requires Capability Set 1:
T _Texture<T, Shape, isArray, isMS, sampleCount, access, isShadow, isCombined, format>.Sample(
    vector<float, isArray+Shape.dimensions> location)
    where T : ITexelElement
    where Shape : __ITextureShape
    where access == 0
    where isCombined == 1;

/// Requires Capability Set 2:
T _Texture<T, Shape, isArray, isMS, sampleCount, access, isShadow, isCombined, format>.Sample(
    vector<float, isArray+Shape.dimensions> location,
    vector<int, Shape.planeDimensions> offset)
    where T : ITexelElement
    where Shape : __ITextureShape
    where access == 0
    where isCombined == 1;

/// Requires Capability Set 3:
T _Texture<T, Shape, isArray, isMS, sampleCount, access, isShadow, isCombined, format>.Sample(
    vector<float, isArray+Shape.dimensions> location,
    vector<int, Shape.planeDimensions> offset,
    float clamp)
    where T : ITexelElement
    where Shape : __ITextureShape
    where access == 0
    where isCombined == 1;

T _Texture<T, Shape, isArray, isMS, sampleCount, access, isShadow, isCombined, format>.Sample(
    vector<float, isArray+Shape.dimensions> location,
    vector<int, Shape.planeDimensions> offset,
    float clamp,
    out uint status)
    where T : ITexelElement
    where Shape : __ITextureShape
    where access == 0
    where isCombined == 1;

/// Requires Capability Set 1:
T _Texture<T, Shape, isArray, isMS, sampleCount, access, isShadow, isCombined, format>.Sample(
    SamplerState s,
    vector<float, isArray+Shape.dimensions> location)
    where T : ITexelElement
    where Shape : __ITextureShape
    where access == 0
    where isCombined == 0;

/// Requires Capability Set 2:
T _Texture<T, Shape, isArray, isMS, sampleCount, access, isShadow, isCombined, format>.Sample(
    SamplerState s,
    vector<float, isArray+Shape.dimensions> location,
    vector<int, Shape.planeDimensions> offset)
    where T : ITexelElement
    where Shape : __ITextureShape
    where access == 0
    where isCombined == 0;

/// Requires Capability Set 4:
T _Texture<T, Shape, isArray, isMS, sampleCount, access, isShadow, isCombined, format>.Sample(
    SamplerState s,
    vector<float, isArray+Shape.dimensions> location,
    vector<int, Shape.planeDimensions> offset,
    float clamp)
    where T : ITexelElement
    where Shape : __ITextureShape
    where access == 0
    where isCombined == 0;

T _Texture<T, Shape, isArray, isMS, sampleCount, access, isShadow, isCombined, format>.Sample(
    SamplerState s,
    vector<float, isArray+Shape.dimensions> location,
    vector<int, Shape.planeDimensions> offset,
    float clamp,
    out uint status)
    where T : ITexelElement
    where Shape : __ITextureShape
    where access == 0
    where isCombined == 0;

Parameters

location : vector<float, isArray + Shape.dimensions>

The location to sample the texture at.

offset : vector<int, Shape.planeDimensions>

Texel offset to apply.

clamp : float

The maximum level of detail to use.

status : uint

[out] The result status of the operation. This parameter is currently only used when targeting HLSL. For other targets, the result status is always 0.

s : SamplerState

The SamplerState to use for the sampling operation. This parameter is omitted when this is a combined texture sampler type (isCombined==0).

Return value

The sampled texture value.

location is a vector of floats as follows:

  • For 1d/2d/3d-textures, the vector is a 1d/2d/3d-vector specifying the sample location. Usually, normalized coordinates are used such that the coordinate range [0, 1] denotes the full span of the texture. Depending on the sampler state and the sampled texture type, other conventions may also be used. For example, GL_TEXTURE_RECTANGLE uses non-normalized texel locations.
  • For cube textures, the location is a 3d-vector specifying the direction from the center of the cube at the sample. The direction does not need to be normalized.
  • For texture arrays, the location vector is appended with the array index. The array index (float) is first rounded to the nearest integer value and then clamped to [0, d-1] where d is the number of array elements.

Remarks

The Sample function is defined for all read-only texture types, including Texture1D, Texture2D, Texture3D, TextureCube, Texture1DArray, Texture2DArray and TextureCubeArray.

This function requires the implicit sampling derivatives, which are always available in the fragment stage. In other stages, the derivatives are enabled on the target using the appropriate target extensions as necessary. It is an error to use this function when implicit derivatives cannot be enabled. See also capability GL_NV_compute_shader_derivatives.

This function is not available for read-write and write-only texture types.

For HLSL/D3D targets, the texture element type must be a scalar or vector of float or half types.

Availability and Requirements

Capability Set 1

Defined for the following targets:

hlsl

Available in all stages.

glsl

Available in all stages.

cpp

Available in all stages.

cuda

Available in all stages.

metal

Available in all stages.

wgsl

Available in all stages.

spirv

Available in all stages.

Capability Set 2

Defined for the following targets:

hlsl

Available in all stages.

glsl

Available in all stages.

cpp

Available in all stages.

metal

Available in all stages.

wgsl

Available in all stages.

spirv

Available in all stages.

Capability Set 3

Defined for the following targets:

hlsl

Available in all stages.

glsl

Available in all stages.

cpp

Available in all stages.

metal

Available in all stages.

spirv

Available in all stages.

Requires capability: spvSparseResidency.

Capability Set 4

Defined for the following targets:

hlsl

Available in all stages.

glsl

Available in all stages.

cpp

Available in all stages.

metal

Available in all stages.

spirv

Available in all stages.

See Also

SampleBias, SampleLevel, SampleLevelZero, SampleGrad, SampleCmp, SampleCmpLevelZero, SampleCmpLevel, SampleCmpBias, SampleCmpGrad.