Monograph · Glossary
Reference
Glossary
Every dotted underline in the chapters is a jargon term. Hover (or keyboard-focus) it for a short definition. This page lists the full dictionary so you can browse or search without context.
Tip: acronyms like GGX are auto-linked in chapter prose — not inside code blocks.
Assets
FBX
DCC interchange format. Loaded through Assimp for meshes/materials (animation path was renovation-scoped).
GLB
Single-file binary package of a glTF scene (meshes, materials, textures).
glTF
Standard 3D asset format (often .glb). OHAO loads metallic-roughness PBR via tinygltf.
Audio
miniaudio
Single-file audio library. AudioSystem is a thin facade over it (SFX/Music/Ambient, 3D listener).
SFX
One-shot gameplay/UI sounds. One of three AudioSystem mix buses (with Music and Ambient).
Camera
FOV
Angular width of the camera frustum. Extracted from the inverse projection in the path tracer.
Deferred
CSM
Split the view frustum into distance cascades, each with its own shadow map, so nearby shadows stay sharp without a huge single map.
G-buffer
Same as GBuffer: MRT surface data for deferred lighting.
GBuffer
Multiple render targets that store surface data (position, normal, albedo, …) so lighting can run as a full-screen pass without re-drawing meshes per light.
MRT
Writing several color attachments in one pass (e.g. GBuffer0–2 + velocity).
Denoise
DLSS
NVIDIA family of neural upscalers/reconstructors. In this repo, Ray Reconstruction (DLSS-RR) is the relevant mode when NGX is linked.
DLSS-RR
NVIDIA NGX path that denoises/reconstructs ray-traced signals with AI, using extended AOV guides (motion, hit distance, …).
NGX
SDK layer that hosts DLSS/DLSS-RR. CMake enables OHAO_DLSS when the static NGX lib is present.
NRD
Realtime denoise suite. OHAO uses REBLUR-style paths; inputs must be packed (YCoCg + normalized hit distance), not raw linear RGB.
OIDN
CPU/GPU denoise library. OHAO’s default offline path: beauty guided by albedo + normal AOVs.
REBLUR
NRD algorithm for noisy diffuse/specular radiance with hit-distance guidance. Demands correct AOV packing.
YCoCg
Color space used when packing radiance for NRD: Y = brightness, Co/Cg = chroma. Feeding linear RGB here caused the magenta-helmet bug.
Host
GLFW
Window/input library used by the interactive example viewer—not required by the core offscreen renderer.
Imaging
ACES
Film-style curve that compresses HDR values into displayable LDR. One of OHAO’s tonemap operators.
AOV
Extra render targets beside beauty—albedo, normal, depth, roughness, diffuse/specular radiance—used for denoising and debugging.
HDR
Colors stored above the 0–1 display range (e.g. RGBA32F accumulation) before tonemapping compresses them for the screen.
LOD
Mip level or quality tier. Deferred IBL uses roughness to pick an env-map LOD.
Light transport
GI
Light that has bounced at least once (indirect). Full path tracing estimates multi-bounce GI; hybrid RT often does one bounce only.
MIS
Blend two (or more) sampling strategies—e.g. “sample the light” and “sample the BRDF”—with weights from their PDFs so neither strategy alone creates huge fireflies.
NEE
Explicitly sample a point on a light and cast a shadow ray, instead of waiting for a random bounce to hit the light by chance. Cuts noise on small bright lights.
How likely a continuous random sample was. Monte Carlo divides contribution by the PDF so rare and common samples stay unbiased.
PT
Monte Carlo method that follows light paths with random bounces. OHAO’s KHR ray-tracing offline/realtime profiles.
ReSTIR
Resamples light candidates over space and time for efficient many-light / GI sampling. Reservoir planes live at set-0 bindings 29–34 in the path tracer.
spp
How many independent path samples contribute to one pixel before (or while) averaging. Higher spp → less noise, more cost.
SPP
Same as spp: Monte Carlo samples averaged into one pixel.
Lighting
HDRI
Floating-point environment map that can store sun-bright values. Sampled for path-tracer miss/env MIS and deferred IBL.
IBL
Lighting from an environment map (usually HDR equirectangular) instead of only analytic lights. Used in deferred reflections and path-tracer miss rays.
Materials
BRDF
How much light reflects from an incoming direction toward an outgoing direction at a surface. OHAO uses Cook-Torrance with a GGX microfacet lobe + Lambert diffuse.
BSDF
Generalization of the BRDF that can include transmission (refraction) as well as reflection.
BSSRDF
True subsurface transport model (entry and exit points differ). Heavier than the engine’s approximate SSS hacks.
Cook-Torrance
Specular BRDF form D·G·F / (4 n·v n·l). OHAO evaluates D=GGX with height-correlated Smith G.
F0
How reflective a surface is when viewed head-on. Dielectrics ≈ 0.04; metals tint F0 toward base color. F₀ = lerp(0.04, baseColor, metallic).
Fresnel
Surfaces reflect more at grazing angles. Schlick approximation: F = F₀ + (1−F₀)(1−cosθ)⁵.
GGX
Industry-standard microfacet NDF used in modern PBR. Controls how spread-out specular highlights are as roughness increases. Implemented in brdf_ggx.glsl.
Lambert
Ideal matte reflector: f = albedo/π. Used for the diffuse lobe alongside GGX specular.
NDF
In microfacet theory: statistical distribution of tiny surface facet normals. GGX is OHAO’s NDF for specular highlights.
ORM
Packed texture: R = ambient occlusion, G = roughness, B = metallic (glTF convention). Multiplies material scalars in GBuffer and RT.
PBR
Shading that follows energy-aware material models (metallic-roughness, Fresnel, microfacet BRDFs) so assets look consistent under different lights.
SSS
Light that enters a surface and exits nearby (skin, wax). OHAO’s SSS pass is biased look-dev, not a full BSSRDF.
Math
AABB
Box aligned to world axes used for culling and broad-phase collision.
NDC
Post-projection coordinates (roughly −1…1). Used for velocity (TAA) and camera ray construction.
Physics
Jolt
Third-party rigid-body engine behind OHAO’s IPhysicsBackend implementation.
Post
DoF
Optical blur for out-of-focus regions. Available as an experimental post effect.
SSAO
Approximate contact shadows/occlusion from the depth (and normals) already in the G-buffer—cheap ambient darkening in crevices.
SSGI
Approximate bounce lighting from on-screen data only. Experimental / look-dev in deferred.
SSR
Trace reflections in screen space using depth; fast but misses off-screen geometry. Experimental in OHAO deferred.
TAA
Blend the current frame with history using motion vectors to smooth edges and reduce shimmer. Needs sub-pixel jitter.
Ray tracing
AS
Generic term for BLAS/TLAS used to accelerate ray–triangle tests on the GPU.
BLAS
Vulkan RT structure for one mesh’s triangles. Built once per static mesh; referenced by TLAS instances.
RT
Casting rays through an acceleration structure. Includes full path tracing and cheaper hybrid queries (shadow/GI rays).
SBT
GPU table that maps ray-query geometry to raygen / miss / hit shader groups in a ray-tracing pipeline.
TLAS
Vulkan RT structure of instances. Each instance points at a BLAS plus a transform. Shared by the path tracer and hybrid RT techniques.
Realtime
FPS
How many images the interactive path presents each second.
Sampling
CDF
Running integral of a PDF. Env maps build marginal/conditional CDFs so bright texels are sampled more often.
PCG
Fast hash-style RNG used for the realtime path-tracer profile when Sobol is too heavy.
Sobol
Low-discrepancy sample sequence (often Owen-scrambled). Default offline path-tracer sampler for faster convergence than pure random.
Scene
ECS
Scene objects (actors) hold components (mesh, material, light, physics) instead of deep inheritance trees.
TRS
The three parts of a transform. Composed into a matrix for rendering and physics sync.
Vulkan
Bindless
Textures addressed by index in a large array (sampler2D textures[]) instead of rebinding descriptor sets per draw.
KHR
In this engine: VK_KHR_ray_tracing_pipeline / acceleration_structure—the official Vulkan ray-tracing APIs.
SSBO
Large GPU buffer readable/writable in shaders (lights, materials, CDFs). More flexible than a small UBO.
UBO
Small, frequently updated GPU buffer for constants (camera, few lights). Deferred uses a tight light UBO budget.
VMA
Library that simplifies GPU memory allocation for buffers and images.