sample
One evaluation made at a chosen position within or around a pixel before reconstruction.
Appears in: Lesson 01, Lesson 02, Lesson 03, Lesson 04, Lesson 08, Lesson 09, Lesson 12, Lesson 13, Lesson 14, Lesson 17, Lesson 19, Lesson 25, Lesson 26, Lesson 28
Back to glossary top ↑
sample index
The integer identifying which sample in a reproducible sequence is being evaluated for a pixel or path.
Appears in: Lesson 13, Lesson 26
Back to glossary top ↑
sampling noise
Visible variance caused by estimating a result from a finite changing sample set. It differs from structured aliasing even though adding well-chosen samples may reduce both.
Also encountered as: sample noise
Appears in: Lesson 13
Back to glossary top ↑
SBT record
One aligned shader-binding-table record containing a shader group handle and, when used, application record data. Its address and stride must obey the reported ray-tracing pipeline properties.
Also encountered as: shader binding table record
Appears in: Lesson 28
Back to glossary top ↑
SBT region
One device-address range passed to the trace-rays command for ray-generation, miss, hit or callable records. Each non-empty region states an address, stride and size under Vulkan's alignment rules.
Also encountered as: shader binding table region
Appears in: Lesson 28
Back to glossary top ↑
scene
The collection of geometry, materials, lights and camera state considered by a render.
Appears in: Lesson 01, Lesson 02, Lesson 03, Lesson 04, Lesson 05, Lesson 07, Lesson 08, Lesson 09, Lesson 10, Lesson 11, Lesson 12, Lesson 13, Lesson 14, Lesson 15, Lesson 17, Lesson 18, Lesson 19, Lesson 20, Lesson 21, Lesson 22, Lesson 23, Lesson 24, Lesson 26, Lesson 27, Lesson 28
Back to glossary top ↑
Schlick approximation
A compact approximation of unpolarised Fresnel reflectance based on view angle and refractive indices.
Also encountered as: Schlick's approximation
Appears in: Lesson 12
Back to glossary top ↑
scratch buffer
Temporary buffer storage supplied to an acceleration-structure build or update operation and sized from Vulkan's build requirements.
Appears in: Lesson 27
Back to glossary top ↑
secondary ray
A ray created at a surface hit, for example a shadow, reflection or transmission ray.
Also encountered as: recursive ray
Appears in: Lesson 05, Lesson 11, Lesson 14, Lesson 22, Lesson 23, Lesson 24, Lesson 25, Lesson 28
Back to glossary top ↑
self-intersection
A false immediate hit caused when a secondary ray begins numerically on or just inside the surface that created it.
Also encountered as: shadow acne
Appears in: Lesson 08, Lesson 23
Back to glossary top ↑
semaphore
A Vulkan synchronisation object used to order queue operations, including acquisition and presentation relationships.
Appears in: Lesson 18, Lesson 26
Back to glossary top ↑
shader binding table
A device-addressed buffer of aligned shader-group records that selects ray-generation, miss, hit and callable groups for a trace-rays command.
Also encountered as: SBT
Appears in: Lesson 28
Back to glossary top ↑
shader built-in
A stage-defined shader input or output supplied by the execution environment, such as a global invocation ID or ray launch ID. It is not fetched through an application descriptor binding.
Also encountered as: shader built-ins, built-in input, built-ins
Appears in: Lesson 17, Lesson 27, Lesson 28
Back to glossary top ↑
shader call
A nested invocation from one ray-tracing shader to another through a trace or callable operation. Pipeline recursion limits permit such calls; they do not create them automatically.
Also encountered as: shader calls
Appears in: Lesson 28
Back to glossary top ↑
shader compiler
A tool that translates human-readable shader source into a target such as Vulkan SPIR-V and reports source or target errors. Successful compilation does not establish runtime feature support or agreement with the host resource layout.
Also encountered as: glslc, glslangValidator, DXC, slangc
Appears in: Lesson 17, Lesson 20
Back to glossary top ↑
shader entry point
A named shader function selected for one pipeline stage, such as main in the course examples. A module may contain code, but the pipeline stage states which entry point and stage use are intended.
Also encountered as: entry point, shader entry points
Appears in: Lesson 17
Back to glossary top ↑
shader group
A ray-tracing pipeline record that associates one general shader or a compatible set of hit shaders for later selection through the shader binding table.
Appears in: Lesson 28
Back to glossary top ↑
shader group handle
Implementation-provided bytes that identify a ray-tracing pipeline shader group when copied into a shader-binding-table record. The bytes are obtained from the created pipeline rather than invented by the application.
Appears in: Lesson 28
Back to glossary top ↑
shader interface
The agreement between host-created layouts and shader declarations for descriptors, push constants, buffer members and stage inputs or outputs.
Appears in: Lesson 06, Lesson 17
Back to glossary top ↑
shader language
A human-readable language used to express graphics or compute shader work. GLSL, HLSL and Slang can target Vulkan, while Vulkan's traditional shader-module route consumes their compiled SPIR-V rather than the source text.
Also encountered as: shader languages, shading language, shading languages
Appears in: Lesson 02, Lesson 17
Back to glossary top ↑
shader module
A Vulkan object containing shader code, traditionally SPIR-V, used when pipeline shader stages are created.
Appears in: Lesson 17, Lesson 28
Back to glossary top ↑
shader source
The human-readable program supplied to a shader compiler. Keeping source and the compiler command permits the SPIR-V module input to be reproduced rather than treated as an unexplained binary.
Also encountered as: shader source code
Appears in: Lesson 17
Back to glossary top ↑
shader stage
One programmable responsibility in a pipeline, such as compute, ray generation, miss or closest hit. A shader stage is code selected for that responsibility; a pipeline stage is the wider Vulkan execution-scope term.
Also encountered as: shader stages
Appears in: Lesson 11, Lesson 17, Lesson 27, Lesson 28
Back to glossary top ↑
shader storage buffer
A descriptor-accessed buffer whose shader interface permits storage-class reads and, where declared, writes to structured data.
Also encountered as: SSBO, storage buffer
Appears in: Lesson 19, Lesson 20, Lesson 21, Lesson 23, Lesson 24, Lesson 25
Back to glossary top ↑
shadow ray
A bounded visibility ray sent from a surface point towards a light sample.
Appears in: Lesson 05, Lesson 07, Lesson 08, Lesson 10, Lesson 21, Lesson 22, Lesson 23, Lesson 27, Lesson 28
Back to glossary top ↑
Slang
A high-level shader language and toolchain with an HLSL-related syntax and facilities for reusable shader code. It can emit Vulkan-targeted SPIR-V, so Vulkan still receives a compiled module representation rather than Slang source.
Also encountered as: Slang shader language
Appears in: Lesson 17
Back to glossary top ↑
Snell's law
The relationship between incident angle, transmitted angle and the two refractive indices at a boundary.
Also encountered as: Snell law
Appears in: Lesson 12
Back to glossary top ↑
spatial aliasing
Structured image error produced when the sample pattern cannot represent or distinguish spatial variation in the scene signal. Blurring the result can hide an edge but cannot recover visibility that was never sampled.
Also encountered as: aliasing
Appears in: Lesson 09, Lesson 13
Back to glossary top ↑
specular
A view-dependent local highlight used here to represent concentrated reflection around a preferred direction.
Appears in: Lesson 06, Lesson 07, Lesson 08, Lesson 11, Lesson 22, Lesson 23
Back to glossary top ↑
sphere
A surface whose points are all one radius from a centre point.
Appears in: Lesson 01, Lesson 03, Lesson 04, Lesson 05, Lesson 06, Lesson 07, Lesson 08, Lesson 09, Lesson 10, Lesson 11, Lesson 12, Lesson 13, Lesson 14, Lesson 18, Lesson 19, Lesson 20, Lesson 21, Lesson 22, Lesson 23, Lesson 24, Lesson 27
Back to glossary top ↑
SPIR-V
The binary intermediate language consumed by Vulkan shader modules for the traditional Vulkan shader ingestion path.
Also encountered as: SPIRV
Appears in: Lesson 17, Lesson 28
Back to glossary top ↑
sRGB
A standard non-linear colour encoding used for display-oriented values. When an sRGB image format performs the relevant conversion, the shader must not apply the same display encoding a second time.
Also encountered as: SRGB
Appears in: Lesson 22
Back to glossary top ↑
stage mask
The part of a Vulkan dependency that identifies where in device execution the source or destination operations occur. It answers where the relevant access happens, while the access mask answers what kind of memory access it is.
Also encountered as: stage masks, VkPipelineStageFlags2
Appears in: Lesson 18
Back to glossary top ↑
staging buffer
Host-accessible temporary buffer storage used to transfer data into a device-local resource.
Appears in: Lesson 21
Back to glossary top ↑
std430
A shader block layout convention that defines member alignment, offsets and array or structure strides for storage-buffer data.
Appears in: Lesson 21, Lesson 24
Back to glossary top ↑
storage image
An image view exposed through a storage-image descriptor for unfiltered shader loads, stores and supported atomic operations.
Appears in: Lesson 15, Lesson 16, Lesson 17, Lesson 18, Lesson 19, Lesson 20, Lesson 22, Lesson 26, Lesson 27, Lesson 28
Back to glossary top ↑
stratification
Dividing a sample domain into regions and taking samples from each to improve coverage.
Appears in: Lesson 13
Back to glossary top ↑
stride
The byte distance from the start of one array element or table record to the start of the next. It includes required padding and must satisfy the layout or device alignment contract.
Also encountered as: record stride, array stride
Appears in: Lesson 21, Lesson 24, Lesson 28
Back to glossary top ↑
suballocation
A region assigned from a larger device-memory allocation and bound to one resource at an offset satisfying that resource's size, alignment and memory-type requirements.
Appears in: Lesson 16
Back to glossary top ↑
surface normal
A unit direction perpendicular to a surface at the hit point.
Also encountered as: geometric normal, normal
Appears in: Lesson 05, Lesson 06, Lesson 07, Lesson 08, Lesson 09, Lesson 10, Lesson 11, Lesson 12, Lesson 19, Lesson 20, Lesson 22, Lesson 23, Lesson 24, Lesson 25
Back to glossary top ↑
swapchain
A Vulkan object that provides a rotating set of presentable images for a surface and coordinates image acquisition with presentation.
Appears in: Lesson 15, Lesson 18
Back to glossary top ↑
swapchain image
An image provided by a swapchain for presentation. The application obtains its handle and uses it according to the swapchain's format, usage, acquisition and presentation rules rather than creating it independently.
Appears in: Lesson 16, Lesson 18
Back to glossary top ↑
Synchronization2
The Vulkan synchronisation interface used by this course. Introduced by VK_KHR_synchronization2 and promoted to Vulkan 1.3, it places stage and access masks together in barrier structures used by commands such as vkCmdPipelineBarrier2. It makes a dependency clearer; it does not infer one.
Also encountered as: synchronisation2, synchronization 2, synchronisation 2, sync2, VK_KHR_synchronization2
Appears in: Lesson 15, Lesson 18
Back to glossary top ↑