OHAO · Implementation Monograph

Monograph · Glossary

G

Reference

Glossary

How to use

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

Autodesk FBX

DCC interchange format. Loaded through Assimp for meshes/materials (animation path was renovation-scoped).

GLB

Binary glTF

Single-file binary package of a glTF scene (meshes, materials, textures).

glTF

GL Transmission Format

Standard 3D asset format (often .glb). OHAO loads metallic-roughness PBR via tinygltf.

Audio

miniaudio

miniaudio library

Single-file audio library. AudioSystem is a thin facade over it (SFX/Music/Ambient, 3D listener).

SFX

Sound effects category

One-shot gameplay/UI sounds. One of three AudioSystem mix buses (with Music and Ambient).

Camera

FOV

Field of View

Angular width of the camera frustum. Extracted from the inverse projection in the path tracer.

Deferred

CSM

Cascaded Shadow Maps

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

Geometry Buffer

Same as GBuffer: MRT surface data for deferred lighting.

GBuffer

Geometry Buffer

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

Multiple Render Targets

Writing several color attachments in one pass (e.g. GBuffer0–2 + velocity).

Denoise

DLSS

Deep Learning Super Sampling

NVIDIA family of neural upscalers/reconstructors. In this repo, Ray Reconstruction (DLSS-RR) is the relevant mode when NGX is linked.

DLSS-RR

DLSS Ray Reconstruction

NVIDIA NGX path that denoises/reconstructs ray-traced signals with AI, using extended AOV guides (motion, hit distance, …).

NGX

NVIDIA GameWorks / DLSS SDK host

SDK layer that hosts DLSS/DLSS-RR. CMake enables OHAO_DLSS when the static NGX lib is present.

NRD

NVIDIA Real-time Denoisers

Realtime denoise suite. OHAO uses REBLUR-style paths; inputs must be packed (YCoCg + normalized hit distance), not raw linear RGB.

OIDN

Open Image Denoise (Intel)

CPU/GPU denoise library. OHAO’s default offline path: beauty guided by albedo + normal AOVs.

REBLUR

NRD REBLUR denoiser

NRD algorithm for noisy diffuse/specular radiance with hit-distance guidance. Demands correct AOV packing.

YCoCg

Luma / chroma color encoding

Color space used when packing radiance for NRD: Y = brightness, Co/Cg = chroma. Feeding linear RGB here caused the magenta-helmet bug.

Host

GLFW

Graphics Library Framework

Window/input library used by the interactive example viewer—not required by the core offscreen renderer.

Imaging

ACES

Academy Color Encoding System (tonemap)

Film-style curve that compresses HDR values into displayable LDR. One of OHAO’s tonemap operators.

AOV

Arbitrary Output Variable

Extra render targets beside beauty—albedo, normal, depth, roughness, diffuse/specular radiance—used for denoising and debugging.

HDR

High Dynamic Range

Colors stored above the 0–1 display range (e.g. RGBA32F accumulation) before tonemapping compresses them for the screen.

LOD

Level of Detail

Mip level or quality tier. Deferred IBL uses roughness to pick an env-map LOD.

Light transport

GI

Global Illumination

Light that has bounced at least once (indirect). Full path tracing estimates multi-bounce GI; hybrid RT often does one bounce only.

MIS

Multiple Importance Sampling

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

Next Event Estimation

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.

PDF

Probability Density Function

How likely a continuous random sample was. Monte Carlo divides contribution by the PDF so rare and common samples stay unbiased.

PT

Path Tracing / Path Tracer

Monte Carlo method that follows light paths with random bounces. OHAO’s KHR ray-tracing offline/realtime profiles.

ReSTIR

Reservoir Spatio-Temporal Importance Resampling

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

Samples Per Pixel

How many independent path samples contribute to one pixel before (or while) averaging. Higher spp → less noise, more cost.

SPP

Samples Per Pixel

Same as spp: Monte Carlo samples averaged into one pixel.

Lighting

HDRI

High Dynamic Range Image (environment)

Floating-point environment map that can store sun-bright values. Sampled for path-tracer miss/env MIS and deferred IBL.

IBL

Image-Based Lighting

Lighting from an environment map (usually HDR equirectangular) instead of only analytic lights. Used in deferred reflections and path-tracer miss rays.

Materials

BRDF

Bidirectional Reflectance Distribution Function

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

Bidirectional Scattering Distribution Function

Generalization of the BRDF that can include transmission (refraction) as well as reflection.

BSSRDF

Bidirectional Scattering Surface Reflectance Distribution Function

True subsurface transport model (entry and exit points differ). Heavier than the engine’s approximate SSS hacks.

Cook-Torrance

Cook–Torrance microfacet specular

Specular BRDF form D·G·F / (4 n·v n·l). OHAO evaluates D=GGX with height-correlated Smith G.

F0

Base reflectance at normal incidence

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

Fresnel reflectance

Surfaces reflect more at grazing angles. Schlick approximation: F = F₀ + (1−F₀)(1−cosθ)⁵.

GGX

Trowbridge–Reitz / GGX normal distribution

Industry-standard microfacet NDF used in modern PBR. Controls how spread-out specular highlights are as roughness increases. Implemented in brdf_ggx.glsl.

Lambert

Lambertian diffuse

Ideal matte reflector: f = albedo/π. Used for the diffuse lobe alongside GGX specular.

NDF

Normal Distribution Function

In microfacet theory: statistical distribution of tiny surface facet normals. GGX is OHAO’s NDF for specular highlights.

ORM

Occlusion / Roughness / Metallic map

Packed texture: R = ambient occlusion, G = roughness, B = metallic (glTF convention). Multiplies material scalars in GBuffer and RT.

PBR

Physically Based Rendering

Shading that follows energy-aware material models (metallic-roughness, Fresnel, microfacet BRDFs) so assets look consistent under different lights.

SSS

Subsurface Scattering

Light that enters a surface and exits nearby (skin, wax). OHAO’s SSS pass is biased look-dev, not a full BSSRDF.

Math

AABB

Axis-Aligned Bounding Box

Box aligned to world axes used for culling and broad-phase collision.

NDC

Normalized Device Coordinates

Post-projection coordinates (roughly −1…1). Used for velocity (TAA) and camera ray construction.

Physics

Jolt

Jolt Physics

Third-party rigid-body engine behind OHAO’s IPhysicsBackend implementation.

Post

DoF

Depth of Field

Optical blur for out-of-focus regions. Available as an experimental post effect.

SSAO

Screen-Space Ambient Occlusion

Approximate contact shadows/occlusion from the depth (and normals) already in the G-buffer—cheap ambient darkening in crevices.

SSGI

Screen-Space Global Illumination

Approximate bounce lighting from on-screen data only. Experimental / look-dev in deferred.

SSR

Screen-Space Reflections

Trace reflections in screen space using depth; fast but misses off-screen geometry. Experimental in OHAO deferred.

TAA

Temporal Anti-Aliasing

Blend the current frame with history using motion vectors to smooth edges and reduce shimmer. Needs sub-pixel jitter.

Ray tracing

AS

Acceleration Structure

Generic term for BLAS/TLAS used to accelerate ray–triangle tests on the GPU.

BLAS

Bottom-Level Acceleration Structure

Vulkan RT structure for one mesh’s triangles. Built once per static mesh; referenced by TLAS instances.

RT

Ray Tracing

Casting rays through an acceleration structure. Includes full path tracing and cheaper hybrid queries (shadow/GI rays).

SBT

Shader Binding Table

GPU table that maps ray-query geometry to raygen / miss / hit shader groups in a ray-tracing pipeline.

TLAS

Top-Level Acceleration Structure

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

Frames Per Second

How many images the interactive path presents each second.

Sampling

CDF

Cumulative Distribution Function

Running integral of a PDF. Env maps build marginal/conditional CDFs so bright texels are sampled more often.

PCG

Permuted Congruential Generator

Fast hash-style RNG used for the realtime path-tracer profile when Sobol is too heavy.

Sobol

Sobol quasi-Monte Carlo sequence

Low-discrepancy sample sequence (often Owen-scrambled). Default offline path-tracer sampler for faster convergence than pure random.

Scene

ECS

Entity Component System (actor/component model)

Scene objects (actors) hold components (mesh, material, light, physics) instead of deep inheritance trees.

TRS

Translation / Rotation / Scale

The three parts of a transform. Composed into a matrix for rendering and physics sync.

Vulkan

Bindless

Bindless textures

Textures addressed by index in a large array (sampler2D textures[]) instead of rebinding descriptor sets per draw.

KHR

Khronos (Vulkan extension prefix)

In this engine: VK_KHR_ray_tracing_pipeline / acceleration_structure—the official Vulkan ray-tracing APIs.

SSBO

Shader Storage Buffer Object

Large GPU buffer readable/writable in shaders (lights, materials, CDFs). More flexible than a small UBO.

UBO

Uniform Buffer Object

Small, frequently updated GPU buffer for constants (camera, few lights). Deferred uses a tight light UBO budget.

VMA

Vulkan Memory Allocator

Library that simplifies GPU memory allocation for buffers and images.