Skip to content

Add SMAA, lens flares, and reflection probes - #316

Open
bdero wants to merge 8 commits into
masterfrom
bdero/fidelity-followups
Open

Add SMAA, lens flares, and reflection probes#316
bdero wants to merge 8 commits into
masterfrom
bdero/fidelity-followups

Conversation

@bdero

@bdero bdero commented Aug 15, 2026

Copy link
Copy Markdown
Owner

Three fidelity features and the deferred follow-ups from #313. SMAA 1x joins the anti-aliasing modes (a port of the Jimenez et al. reference implementation), lens flares render ghost chains and a halo inside the bloom pyramid, and parallax-corrected reflection probes capture the scene into local environments through the new Scene.captureEnvironment, blended in by camera position. The clearcoat lobe now responds to rect area lights, the screen-space indirect light reprojects its radiance history so the bounce stays put under camera motion, and MATERIALS.md documents the portable shader rules custom-shader authors need. Three new smoke goldens: smaa, lens_flare, and reflection_probe.

@bdero bdero added the rendering Behavior when preparing or drawing geometry to the screen. label Aug 15, 2026
@argos-ci

argos-ci Bot commented Aug 15, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Argos notifications ↗︎

Build Status Details Updated (UTC)
android_gles (Inspect) ⚠️ Changes detected (Review) 3 added Aug 16, 2026, 12:33 PM
android_vulkan (Inspect) ⚠️ Changes detected (Review) 3 added Aug 16, 2026, 12:33 PM
linux (Inspect) ⚠️ Changes detected (Review) 3 added Aug 16, 2026, 12:28 PM
web (Inspect) ⚠️ Changes detected (Review) 3 added Aug 16, 2026, 12:29 PM
windows (Inspect) ⚠️ Changes detected (Review) 3 added Aug 16, 2026, 12:31 PM

@bdero
bdero force-pushed the bdero/fidelity-followups branch from 4538266 to d39a0d1 Compare August 15, 2026 22:14
bdero added 8 commits August 16, 2026 05:21
Custom-shader authors had no way to learn the cross-backend rules (loop
shape, shift semantics, the ES 3.00 toolbox, sampler budget, precision,
resource liveness) without tripping over them one platform at a time.
The coat previously ignored area lights, so coated surfaces lost their
panel highlight. Integrates the coat's own LTC lobe over the same rect
with the coat normal, roughness, and dielectric reflectance.
The gather sampled last frame's scene color at current-frame UVs, so
the bounce dragged a frame behind any camera motion. Each radiance tap
now reprojects its view-space position through the view-projection that
rendered the history, falling back to its own UV off-screen. Bounce
from moving objects still lags a frame; see TODO(velocity-reprojection).
AntiAliasingMode.smaa runs enhanced subpixel morphological antialiasing
(SMAA 1x), three post passes over the tone-mapped image: luma edge
detection, blending weights over the reference area/search textures, and
neighborhood blending. Cleaner edges than fxaa with far less texture
blurring, supported on every backend. Ported from the Jimenez et al.
reference implementation; the required license rides in smaa.glsl.
BloomSettings.lensFlare renders a chain of internal-reflection ghosts
mirrored through the screen center plus a circular halo, both with
radial chromatic dispersion, from a low bloom mip; the upsample stages
blur and composite them with the rest of the glow. Ghost construction
follows the pseudo lens flare technique; persisted through the fscene
effects block.
ReflectionProbeComponent captures the scene's linear HDR lighting at
its node into a local environment (six faces, assembled and prefiltered
through the sky-bake machinery) and blends it into the image-based
lighting by camera position through the environment cross-fade.
Reflection lookups intersect the probe's box proxy and sample toward
the hit, so reflections track the captured surfaces instead of floating
at infinity. Scene.captureEnvironment exposes the capture on its own.
@bdero
bdero force-pushed the bdero/fidelity-followups branch from d39a0d1 to 7452b2a Compare August 16, 2026 12:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

rendering Behavior when preparing or drawing geometry to the screen.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant