Skip to content

Architecture & Changelog

Norz3n edited this page Oct 11, 2026 · 35 revisions

Architecture & Changelog

Technical breakdown of the Ray-MMD ReForge rendering pipeline and version history.


1. Pipeline Architecture

Ray-MMD ReForge utilizes a High Dynamic Range (HDR) Deferred Rendering pipeline:

graph TD
    A[Geometry & Material Passes] --> B[G-Buffer MRT Generation]
    B --> C[Octahedral Normal Encoding & Math Core]
    B --> D[Shadow Cascades, PCSS & Contact Shadows]
    B --> E[Screen-Space Global Illumination SSGI 3.0]
    B --> F[Vectorized SIMD Screen-Space Reflections SSR]
    B --> G[GTAO / HBSSDO Ambient Occlusion & Temporal Denoise]
    B --> H[Directional Water Caustics]
    B --> SV[Snowdrop Top-Down Sky Visibility & Heightfield AO]
    SV --> I[HDR Deferred Lighting & EON / Dual-Lobe Shading]
    E --> I
    F --> I
    G --> I
    D --> I
    H --> I
    I --> J[Separable SSSS Scattering & Subsurface]
    J --> K[Volumetric Clouds & Atmospheric Fog]
    J --> L[AgX Filmic HDR Tonemapping]
    L --> M[Bloom, Spectral Dispersion & Film Halation]
    M --> N[SMAA / TAA / G-DLAA Anti-Aliasing]
    N --> O[Final LDR Output to Viewport]
Loading

2. G-Buffer Layout

Render Target Format Channel Data
GBuffer 5 A8R8G8B8 RGB: Albedo, A: Material Type / Alpha
GBuffer 6 A8R8G8B8 RGB: View-Space Normal (Octahedral Decoded), A: Smoothness
GBuffer 7 A8R8G8B8 RGB: Specular / F0, A: Custom Data A
GBuffer 8 A16B16G16R16F R: Linear Depth, G: Metalness, B: Custom Data B, A: Shading Model ID

3. Version History

v1.22.0

  • Physical Volumetric Fog & Atmospheric Godrays Subsystem (Shader/Fog/*, FogController.pmx):
    • Complete Subsystem Consolidation: Fully phased out and removed legacy fragmented fog assets (AtmosphericFog, GroundFog, VolumetricCube, VolumetricSphere, Time of fog). Replaced with a unified, high-performance physical fog engine integrated directly into the deferred pipeline.
    • Dual-Layer Analytical Height Fog (FogCommon.fxsub): Closed-form dual-layer exponential fog model inspired by UE5 and Google Filament, accounting for base atmosphere and low ground mist with height falloffs, start distance gating, and maximum opacity clamping.
    • Physically Raymarched Volumetric Godrays (VolumetricFog.fxsub): Screen-space and world-space raymarched light scattering coupled directly to the directional sun zenith angle and Cascaded Shadow Maps (CSM). Employs Henyey-Greenstein forward phase scattering with Mie asymmetry tuning (MiePhase).
    • Mist Turbulence & Wind Drift: 3D procedural noise modulation creating dynamic ground mist swirls and animated wind velocity drift.
    • Cross-Bilateral Edge-Preserving Denoising (FogComposite.fxsub): High-speed depth-aware composite and bilateral filter eliminating raymarching stepping slices while preserving sharp character contours.
    • Standalone Purpose-Built Controller (FogController.pmx): Dedicated 42-morph controller (Tools/generate_fog_controller.py) for comprehensive live tuning:
      • Density & Opacity: FogDensity+/-, GroundDensity+/-, MaxOpacity+/-.
      • Color & Sun: FogR/G/B+/-, SunR/G/B+/-, SunIntensity+/-, MiePhase+/-.
      • Height & Distance: FogHeight+/-, HeightFalloff+/-, GroundHeight+/-, GroundFalloff+/-, StartDistance+/-, CutoffDistance+/-.
      • Godrays & Dynamics: Godrays+/-, RayDensity+/-, MistNoise+/-, WindSpeed+/-.
  • Google Filament PBR & Shading Algorithms:
    • Belcour & Barla (2017) Thin-Film Spectral Iridescence (Shader/Lighting/BRDF.fxsub): Pre-integrated spectral evaluation using convolved Gaussians against CIE XYZ / Rec.709 color curves, rendering authentic physical rainbow wave interference for car coatings, soap bubbles, and pearl finishes.
    • Kulla-Conty Energy Conservation for IBL (Shader/Lighting/ibl.fxsub): Multi-bounce specular energy compensation recovering lost interreflection energy on high-roughness surfaces in both direct split-sum and analytical environments.
    • Spherical Caps Intersection Specular AO (Shader/Lighting/ibl.fxsub): Analytical cone-cone intersection (Oat & Sander / Jimenez 2016) replacing heuristic specular occlusion with exact solid-angle horizon clipping.
    • Clear Coat Base Energy Conservation (Shader/Lighting/skylighting.fxsub): Physical $(1.0 - F_c)$ energy conservation attenuating underlying diffuse and specular layers based on clear coat top reflection.
    • Colored Penumbra (Filament SSS Emulation) (Shader/Lighting/ShadingMaterials.fxsub): Adds saturated warm reddish/amber energy along terminator shadow boundaries on skin and cloth, eliminating harsh grey shadow borders.
    • Specular Multi-Bounce AO for Metals (Shader/Lighting/ShadingMaterials.fxsub): Jimenez specular multi-bounce formulation preventing dark cavity crushing and preserving authentic tinted specular bounce on colored metals (gold, copper, brass).
  • Transmission & Media Physics:
    • Beer-Lambert Optical Absorption (Shader/Lighting/ShadingMaterials.fxsub): Physical exponential depth attenuation ($T = e^{-\sigma_{\text{abs}} \cdot d}$) for SHADINGMODELID_GLASS, giving thick glass and deep water realistic body, mass, and optical density.
    • 4-Wavelength Spectral Dispersion ($K_0..K_3$): Upgraded glass dispersion from simple 2-tap RGB split to 4-wavelength spectrum (Fraunhofer C, d, e, F lines at 486.1, 546.1, 589.3, 656.3 nm) with temporal jitter.
  • Shadows & Filtering:
    • Screen-Space Contact Cone Tracing (SSCT) (Shader/Shadows/ContactShadow.fxsub): Upgraded linear contact shadow marching to expanding cone tracing with distance attenuation and soft contact penumbra.
    • Castaño (2013) 4-Tap PCF 3x3 Filter (Shader/Shadows/PCSS.fxsub, CascadedShadowMap.fxsub): Integrated Ignacio Castaño's ultra-fast bilinear 4-tap PCF 3x3 reconstruction for SUN_SHADOW_QUALITY 1, boosting performance on lower-tier hardware.
  • Post-Processing & Color Science:
    • Gran Turismo 7 (GT7) Tonemapper (HDR_TONEMAP_OPERATOR 11): Polyphony Digital's SIGGRAPH 2025 physically based tone curve calibrated to 250 nits paper white.
    • AgX Golden Look (HDR_TONEMAP_OPERATOR 12): Cinematic filmic response with warm golden highlight roll-off and rich tonality.
    • TPDF Triangular RGB Dithering (Shader/PostProcess/ColorGrading.fxsub): Implemented Morten S. Mikkelsen / Gjøl (2016) triangular probability density function (TPDF) blue-noise dithering, eliminating 8-bit banding without colored chroma grain.

v1.21.2

  • AMD D3D9 Anti-Aliasing Stabilization (Shader/AntiAliasing/*): Introduced dedicated ShadingMapLDR (A8R8G8B8) render target to prevent texture format validation failures on AMD Radeon D3D9 drivers.
  • Area Light Attenuation & Glass Emissive Passthrough: Fixed TubeLight range clamping and RectangleLight subsurface attenuation; resolved emissive material passthrough behind refractive glass.
  • Post-Process Undersampling Fix: Eliminated bloom and toon diffusion flare grid artifacts at high resolutions.
  • Resource Leak Resolution: Cleared D3D9 TAA hazards, corrected root include paths, and resolved render target leaks.

v1.21.1

  • Modern Tonemapping Operators: Added Blender 4.0 AgX Punchy (HDR_TONEMAP_OPERATOR 9) and Khronos Group 2024 PBR Neutral (HDR_TONEMAP_OPERATOR 10).
  • Unshadowed Eye Shading Model (SHADINGMODELID_EYE 10): Specialized anime eye shading model preserving bright eye whites and iris vibrancy independently of direct cast shadows.
  • Advanced Solar Lighting Improvements: Implemented Eddington solar limb darkening (SUN_LIMB_DARKENING 1) for physical center-to-limb quadratic intensity profile across the solar disk ($0.533^\circ$).
  • NVIDIA D3D9 SM 3.0 Instruction Budget Fixes: Optimized register allocation in PCSS and shadow pipelines for GeForce Pascal/Turing architectures.

v1.21.0

  • Next-Gen Percentage-Closer Soft Shadows (PCSS) & Contact Shadows (Shader/Shadows/*):
    • Physically Based Contact-Hardening (PCSS): Completely replaced VSM and legacy cascaded shadow filters with a true contact-hardening PCSS algorithm (Shader/Shadows/PCSS.fxsub). Dynamically determines penumbra softness based on occluder-to-receiver distance and the physical angular diameter of the sun (SUN_LIGHT_RADIUS = 0.015f / $0.53^\circ$).
    • Screen-Space Contact Shadows (SSCS): Short-range screen-space raymarching (Shader/Shadows/ContactShadow.fxsub) grounds characters and scene geometry, eliminating the floating "Peter-Panning" effect and resolving razor-sharp sub-millimeter contact occlusion under feet, fingers, nostrils, and fabric folds.
    • Adaptive Close-Up Antialiasing & Anti-Staircasing: Dynamically scaled shadow depth bias and Poisson sampling at close range (lerp(1e-4, 5e-4, cascadeRatio)), completely eliminating macro staircasing, jagged shadow edges, and shadow acne during extreme close-ups on character faces and bodies.
    • Seamless 4-Cascade Cross-Blending: Smooth analytical cascade boundary interpolation (CascadeCrossBlend) across all 4 orthogonal cascades, eliminating hard cutoff seams and popping when the camera orbits or zooms.
    • Cross-Bilateral Shadow Filtering: Edge-preserving cross-bilateral filter (Shader/Shadows/ShadowBilateralBlur.fxsub) denoises Poisson jitter while strictly preserving crisp contact silhouettes along depth and surface normal discontinuities.
    • Two-Sided Shadow Casting: Enabled CullMode = NONE on shadow casters with G-buffer normal alignment, preventing light leakage on paper-thin geometry (hair ribbons, clothes, leaves).
  • Modular PMX Controller Suite (Decommissioning Monolith):
    • Monolith Decommissioned: The bloated, legacy ray_controller.pmx has been officially phased out and decommissioned from the active toolchain.
    • Specialized Purpose-Built Controllers:
      • LightingController.pmx (14 morphs): Direct sunlight, ambient multi-light scaling, and decoupled ambient occlusion/subsurface/GI intensities (SunLight+/-, MultiLight+/-, SSAO+/-, SSAORadius+/-, SSDO+/-, SSSS+/-, SSGI+/-).
      • CameraController.pmx (14 morphs): Cinematic lens DOF (aperture Fstop+/-, FocalLength+/-, FocalDistance+/-, FocalRegion+/-, iris BladeCount-), optical artifacts (Vignette, Dispersion, DispersionRadius), and focus calibration (TestMode, MeasureMode).
      • BloomController.pmx (8 morphs): Independent threshold, radius, and HSV grading (BloomColorAllH/S/V), plus diffraction star burst (BloomStarFade).
      • DebugController.pmx: Real-time viewport diagnostics for G-buffer, PSSM, Cascades, ShadowMap, and SSGS raymarching.
    • Universal Shading Fallbacks: All analytical light shaders (directional_lighting, point_lighting, spot_lighting, etc.) and post-processing passes support direct dual-binding with graceful fallback.
  • Clean 10-Domain Modular Shader Architecture (Shader/*):
    • Domain-Specific Organization: Completely reorganized the 54 loose shader files in Shader/ into 10 structured, domain-isolated packages:
      • Shader/Core/: Base math, common routines, G-buffer layouts, samplers, textures, Monte Carlo, and velocity maps.
      • Shader/Lighting/: Shading materials, BRDFs, LTC area lights, IBL, and sky lighting.
      • Shader/Shadows/: PCSS, Contact Shadows, CascadedShadowMap, BilateralBlur, and ShadowMapGen.
      • Shader/Occlusion/: GTAO, HBAO, SSDO, and SkyVisibility.
      • Shader/GI/: Dedicated subpackages for GI/SSGI/ and GI/SSPT/.
      • Shader/SSR/: Consolidated trace, resolve, filter, blur, and visibility subshaders.
      • Shader/Subsurface/: SSSS post-process scattering and UV-space diffusion.
      • Shader/PostProcess/: HDR, Bloom, Bokeh, Lens Flares, Motion Blur, Tonemapping, and Color Grading.
      • Shader/AntiAliasing/: SMAA, TAA, FXAA, DLAA, and EdgeLine.
      • Shader/textures/: LUT textures and precomputed DDS maps.
    • Zero Broken Includes: Replaced and validated 1447 includes across all 1027+ files in the repository with 0 broken references and no intermediate stub files.
  • Refreshed Configuration (ray.conf, ray_advanced.conf):
    • Table of Contents & 11 Domain Banners: ray.conf now features a structured index and clearly delineated sections for immediate navigation.
    • Balanced Defaults: SUN_SHADOW_QUALITY set to Medium (2048x2048) by default for silky-smooth real-time viewport performance while preserving physical PCSS penumbra quality.
    • Cleaned Advanced Config: Removed obsolete, unused VSM variables (mSunVSMMinVariance, mSunVSMLightBleedingReduction, mSunVSMFilterRadius, mSunLightSize).

v1.20.22

  • Vectorized Screen-Space Reflections (SIMD SSRT) (Shader/SSR/SSR_Trace.fxsub):
    • Consolidated screen-space ray tracing into an optimized linear marching core using SIMD 4-sample texture batching, eliminating GPU warp divergence and ensuring stable 60+ FPS performance across complex scenes.
    • Implemented dynamic slope-based CompareTolerance scaling directly proportional to the ray's depth rate-of-change, eliminating grazing-angle misses on tilted surfaces.
    • Added direct hit-tap binding to eliminate silhouette overshoots and jagged edge teeth.
    • Built-in parametric screen-space border clipping to prevent offscreen ray wander.
    • Smooth four-stage confidence fade (travel distance, grazing angle, far-depth fade, facing test) with FP16 NaN/Inf/negative rejection.
  • Consolidation & Hi-Z Subsystem Elimination:
    • Fully removed SSR_HiZ.fxsub and Hi-Z pyramid generation passes, consolidating all ray traversal into the unified SSR_Trace shader while freeing VRAM render targets.
  • Per-Material SSR Blur Mask (Shader/textures.fxsub, Shader/SSRBlur.fxsub, Shadow/SSR blur *.fx):
    • Added SSRBlurMap offscreen target and 11 presets Shadow/SSR blur 0.0.fx … 1.0.fx allowing selective roughness/blur boost on specific material subsets without altering base PBR smoothness maps.
  • Diagnostic Visualization Controller (SSR_DEBUG / SSRDebugController.pmx):
    • Added compile-time debug switch and dedicated 5-mode diagnostic PMX controller supporting real-time visualization of Raymarch Traversal Steps (hit/miss/budget), Confidence Heatmap, Hit Distance, Hit Normals, and Surface Roughness.

v1.20.20

  • SSR Reflect-Source Visibility (Shader/textures.fxsub, Shader/SSRReflectVisibility.fxsub, Shadow/SSR reflect visibility *.fx):

    • Added SSRReflectMap (A8, clears to 1 = fully visible) — the source-side counterpart of SSRMap. SSRMap controls how much a material receives reflections; SSRReflectMap controls how strongly the material appears in other materials' reflections.
    • Applied at the SSR trace hit point: reflected radiance and confidence are scaled by the hit surface's reflect visibility, so hidden materials fall back cleanly to the env/IBL specular instead of leaving dark holes.
    • New per-material MME tab presets Shadow/SSR reflect visibility 0.0.fx … 1.0.fx (11 levels). The pass writes the preset constant only (mirrors SSRVisibility.fxsub): material/texture alpha is deliberately not applied — the ShadingMap radiance is already alpha-weighted by rendering, so scaling again would double-fade sheer materials (sheer tights, hair tips) out of reflections. Suppression is purely preset-driven; 0.0 presets win everywhere because nothing is clipped.
  • Material-Driven SSR Roughness (ray_advanced.conf, Shader/SSR/SSR_Resolve.fxsub):

    • mSSRSmoothnessDefault changed from 2.0 to 0.0: the previous default saturated gloss to 1.0 for every pixel, forcing mirror-sharp SSR regardless of material. SSR blur now follows each material's own smoothness (smoothness maps / MMD shininess), consistent with the IBL specular response. Set the bias back toward 2.0 to restore the legacy always-mirror look.
    • Roughness→pyramid LOD mapping strengthened from pow(roughness, 2) * 3 to pow(roughness, 1.5) * 3 (perceptual, UE-style mip selection): mid-gloss materials now reach the coarser pyramid levels instead of hugging the sharp full-res one.
  • SSR Self-Reflection Suppression (Shader/textures.fxsub, Shader/SSRSelfVisibility.fxsub, Shadow/SSR self visibility *.fx):

    • Added SSRSelfMap (A8, clears to 0 = no suppression). Flagged materials never bounce SSR between each other — the trace multiplies the receiver pixel's flag by the hit pixel's flag and scales confidence by 1 - selfReceiver * selfHit — while flagged materials keep reflecting every unflagged material and stay fully visible in unflagged reflections.
    • New per-material MME tab presets Shadow/SSR self visibility 0.0.fx … 1.0.fx (11 levels; 1.0 = never self-bounce, in-between = proportional suppression). Preset-driven like the other two maps, nothing clipped, works on additive/semi-transparent materials.
    • Use case: attach 1.0 to skin and hair to remove blurred self-smudging artifacts on face close-ups, where the reflected ray immediately re-hits nearby curved geometry of the same model inside the thickness window.

v1.20.18

  • Motion-Adaptive Temporal Denoising & Normal Rejection (Shader/SSGI/SSGITemporal.fxsub, Shader/SSPT/SSPTTemporal.fxsub):
    • Motion-Adaptive Temporal Alpha: Implemented dynamic screen-space velocity evaluation (pixelMotion = (uvCoord - prevUV) * ViewportSize). In static frames, alpha remains at 0.05 (95% history accumulation) for noise-free convergence. When camera motion is detected, alpha dynamically scales up to 0.35, eliminating lighting ghost trails and lag.
    • Surface Normal Rejection: Added bilateral normal alignment validation (dot(curNormal, prevNormal)). Stale history across rotated surface geometry and curvature is immediately rejected to prevent false light bleeding across silhouettes.
    • Velocity-Scaled Variance Clipping: Tightened the statistical neighborhood variance clamp box (gamma scales from 1.25 down to 0.75 under fast motion), aggressively cutting off delayed specular and indirect illumination trails.
    • Continuous Elapsed-Time Dithering (Shader/SSGI/SSGI_Trace.fxsub, Shader/SSPT/SSPT_Trace.fxsub): Decoupled ray direction and elevation dithering from animation time to continuous system elapsed time (elapsed). Ensures spatiotemporal dithering never freezes when animation playback is paused during manual viewport camera manipulation.
  • Default Configuration Updates (ray.conf):
    • Restored SKY_VISIBILITY_ENABLE to Mode 2 (Cinematic 8-direction cone-tracing) by default.

v1.20.17 (Hotfix)

  • Skybox G-Buffer Clipping Fix (Materials/material_skybox.fx):
    • Changed the default alpha from 1.0 to 0.0 to force clip() during the MaterialMap pass. This prevents the skybox from writing a solid black object (albedo = 0) to the G-Buffer, allowing the deferred rendering pipeline to cleanly skip the skybox and preserve the procedural sky generated in the Main tab.

v1.20.16

  • Deferred Ambient Occlusion Post-GI Composite (Shader/PostProcessAOComposite.fxsub, ray.fx, Shader/ShadingMaterials.fxsub):
    • Uniform Composite Darkening: Deferred SSDO computation and introduced AOCompositePS running immediately after SSGIFinalCombine. Ambient occlusion (SSAO/SSDO/GTAO) now uniformly darkens the fully composited radiance buffer (ShadingMap = direct + IBL + GI), preventing intense indirect GI bounces from washing out contact shadows, ambient occlusion, and geometric crevices.
    • Decoupled Diffuse AO: Diffuse AO is decoupled from ShadingMaterials.fxsub and SSGI_Resolve.fxsub / SSPT_Resolve.fxsub when GI is active, retaining an inline fallback when GI_ENABLE is 0. Specular occlusion (bent-normal GTSO) continues to run during ShadingImageBasedLighting before SSR overlays.
    • Material Passthrough: Glass and emissive surfaces cleanly bypass AOCompositePS, preserving optical clarity and luminescent emission.
  • Direct Solar Shadow Retention & Penumbra Gating (Shader/SSPT/SSPT_Resolve.fxsub, Shader/SSGI/SSGI_Resolve.fxsub, ray.conf):
    • Shadow Retention (SSPT_SHADOW_RETENTION 0.40f): Implemented direct shadow gating in SSPT and SSGI resolves. Indirect GI and specular GI radiance are scaled against ShadowMapSamp with a quadratic penumbra response curve (lerp(SSPT_SHADOW_RETENTION, 1.0f, directShadow * directShadow)).
    • Contrast Preservation: In direct sunlight (directShadow == 1.0), 100% of indirect bounce is retained. Inside cast shadows (directShadow == 0.0), GI is scaled by the retention factor (default 40%), preventing indirect room bounce from bleaching or blowing out directional sun shadows while still catching subtle warm/cool ambient reflection.
  • Escaped-Ray Sky Radiance Calibration (Shader/SSPT/SSPT_Trace.fxsub, Shader/SSPT/SSPT_Common.fxsub):
    • Replaced the hardcoded 30% ambient sky radiance on unoccluded rays with a tunable #define SSPT_SKY_LIGHT_AMOUNT 0.05f. Eliminates ambient skylight flooding into cast shadows and sheltered areas when characters stand in open outdoor environments.

v1.20.15 (Hotfix)

  • Glass Material Resolve Bypass (Shader/SSPT/SSPT_Resolve.fxsub, Shader/SSGI/SSGI_Resolve.fxsub):
    • Enforced an immediate return 0.0f; early exit in SSPTFinalCombinePS and SSGIFinalCombinePS when encountering mat.lightModel == SHADINGMODELID_GLASS. Because dielectric glass does not exhibit diffuse interreflection, bypassing diffuse GI accumulation eliminates milky matte fogging and preserves 100% optical transparency, specular highlights, and background IOR refraction.
  • Raymarch Transmission & False Bounce Fix (Shader/SSPT/SSPT_Trace.fxsub, Shader/SSGI/SSGI_Trace.fxsub):
    • Receiver Early Exit on Glass: Added an early check on the starting pixel's shading model (receiverModel == SHADINGMODELID_GLASS) to instantly return 0.0f, avoiding unnecessary raymarching computations for surfaces that do not gather diffuse GI.
    • Glass Raymarch Hit Skipping (continue): During screen-space raymarching in both SSPT and SSGI, surfaces tagged as SHADINGMODELID_GLASS are cleanly skipped via continue; before intersection gating. Rays seamlessly transmit through glass surfaces (windows, spectacles, display cases, bottles) without triggering false diffuse bounce reflections or casting artificial occlusion shadows onto surrounding geometry.

v1.20.14

  • Skin Lighting & Shadow Calibration under SSPT/SSGI (Shader/gbuffer.fxsub, Shader/ShadingMaterials.fxsub):
    • Softened Ambient Occlusion (SKIN_AO_STRENGTH 0.50): Rebalanced skin AO attenuation from 0.75 down to 0.50. Restores natural subsurface scattering (SSSS) shadow falloff and prevents deep contact occlusion from crushing contact shadows and facial contours into blackness.
    • Expanded Dermal Reflectance Range (SKIN_GI_REFLECTANCE_LIGHT 0.68f): Broadened light skin dermal reflectance from 0.42f to 0.68f (and dark skin from 0.15f to 0.22f). Prevents authored MMD skin textures from being excessively dampened in the G-buffer and deferred albedo stage while preserving physical melanin/hemoglobin absorption limits.
    • Enhanced Photometric GI Recovery (SKIN_GI_COMPENSATION 0.25f): Raised skin reception brightness compensation from 0.10f to 0.25f, ensuring skin effectively absorbs and reflects bounced ambient radiance.
  • Screen-Space Path Tracing & SSGI Resolve Enhancements (Shader/SSPT/, Shader/SSGI/):
    • Physical Albedo-Driven Skin Multi-Bounce: Replaced the restrictive hardcoded 0.95f damper with a dynamic albedo-driven multi-bounce interreflection curve (1.0 + (mat.albedo * 2.2) / max(1.0 - mat.albedo * 0.5, 0.1)). Eliminates the ~8x indirect radiance discrepancy between skin and surrounding fabrics/scenery in shaded environments.
    • Linearized Cavity Occlusion: Eliminated aggressive quadratic crevice absorption (AO^2) for skin in SSPT_Resolve.fxsub and SSGI_Resolve.fxsub, applying softened linear AO consistent with the physics of internal tissue light diffusion.
    • Viewport-Boundary Escaped Ray Radiance (Shader/SSPT/SSPT_Trace.fxsub): Removed insideScreen gating on escaped rays (intersected < 0.25f). Rays exiting screen boundaries without intersecting geometry now smoothly sample boundary environment sky radiance rather than returning pure black, eliminating dark halos in close-ups and camera-adjacent angles.
    • Rough Specular GI on Skin: Enabled subtle Fresnel-weighted indirect specular GI (specGi * 0.25f) on skin models, preserving volumetric depth and glancing sheen in shadowed silhouettes.

v1.20.13

  • Screen-Space Path Tracing (SSPT / RTGI) Pipeline (Shader/SSPT/, ray.conf):
    • Ground-Up qUINT RTGI Implementation: Implemented a full Screen-Space Path Tracing global illumination engine inspired by Marty McFly's qUINT RTGI, delivering true ray-traced room radiance, rich contact bounces, and physical color bleeding directly on DirectX 9 Shader Model 3.0.
    • Monte Carlo Cosine-Weighted Hemisphere Sampling (Shader/SSPT/SSPT_Trace.fxsub): Low-discrepancy hemisphere path tracing with golden angle rotation (SSPT_GOLDEN_ANGLE = 2.39996323) and 1D Bayer dither stratification. Employs Marty McFly's projected-axis orthonormal tangent frame formulation (BuildTangentMatrix) for seamless, artifact-free hemisphere orientation across steep surface curvature.
    • Progressive Quadratic Ray Stepping & Depth Thickness Test: Progressive step expansion (lambda = s * sqrt(s)) combining dense near-field precision for sharp contact shadows with broad reach for room-scale indirect bounces. Evaluates analytical depth thickness delta (delta = (pSample - pRay) * invThickness) to eliminate false light leaking through thin walls, fingers, and hair.
    • Color Bleeding & Secondary Bounce Feedback (SSPT_BOUNCES): Propagates radiant color transfer from lit surfaces and emissive materials onto surrounding geometry. Includes multi-bounce feedback loop simulating secondary bounces alongside smooth environment sky IBL fallback for escaped rays.
    • Edge-Preserving Cross-Bilateral Wavelet Denoiser (Shader/SSPT/SSPT_Filter.fxsub): Ported Ray-MMD's rock-solid separable cross-bilateral filter with Karis luminance outlier suppression and dyadic step progression (stride 1 -> stride 2). Reconstructs smooth, noiseless low-frequency indirect radiance while preserving micro-geometric silhouettes, normal creases, and surface contours.
    • Physically Based Deferred Integration (Shader/SSPT/SSPT_Resolve.fxsub): Fully integrates with Ray-MMD's G-buffer deferred pipeline, including Jimenez multi-bounce diffuse albedo interreflection, dermal absorption for skin (SSSS), glass Fresnel attenuation, cloth sheen, clearcoat base absorption, and rough specular GI (SSGI_SPECULAR_GI).
  • Unified Configuration & Presets (ray.conf, Shader/SSPT/SSPT_Common.fxsub):
    • New Default GI_ENABLE 3 (RTGI): Activated SSPT / RTGI as the default out-of-the-box GI mode. Existing modes (1 : Accent and 2 : Indirect) remain fully supported via modular routing in PostProcessSSGI.fxsub.
    • Unified Quality Presets (GI_QUALITY): Streamlined quality tiers into a single cohesive preset table shared across both SSGI and SSPT:
      • 1 : Low (12 Steps, 4 Rays) - Fast preview, minimum performance cost
      • 2 : Medium (12 Steps, 8 Rays) - Balanced real-time viewport performance
      • 3 : High (14 Steps, 12 Rays) - Rich indirect bounce for complex scenes
      • 4 : Cinematic (16 Steps, 16 Rays) - Maximum fidelity for high-resolution renders
    • Dedicated Configuration Defines in ray.conf: SSPT_SAMPLE_RADIUS, SSPT_Z_THICKNESS, SSPT_IL_AMOUNT, SSPT_AO_AMOUNT, SSPT_BOUNCES, SSPT_BOUNCE_WEIGHT, and SSPT_FILTER_SENSITIVITY, with full dynamic control via ray_controller.pmx (SSGI+ / SSGI-).

v1.20.12

  • Physically Based Shading (BRDF) Innovations (Shader/BRDF.fxsub, README.md):
    • ClearCoat Analytical Refraction & Beer-Lambert Absorption: Implemented Snell refraction angle deflection (RefractBlendClearCoatApprox) and thin-layer Beer-Lambert optical transmission through clearcoat (exp(-0.06 * max(thinDistance - 2.0, 0.0))). Propagates angular deflection to the substrate without tracing secondary rays, attenuating and tinting underlying specular while preserving energy.
    • Two-Sided Wrapped Diffuse Transmission for Thin Geometry (SubsurfaceShadingTwoSided): Implemented Steve McAuley (2011) energy-conserving two-sided wrapped transmission for SHADINGMODELID_SUBSURFACE. Provides physical backlit translucency for foliage, leaves, paper, cloth, and petals without needing screen-space probes or suffering G-buffer thickness artifacts.
    • Dual-Lobe Skin Specular Optimization: Streamlined DualLobeSkinSpecular (Jimenez et al. 2015) by evaluating Smith joint visibility and Fresnel once for the blended microfacet distribution instead of duplicating evaluations, reducing SM 3.0 instruction count while maintaining dual-profile realism.
    • Analytical Eye Iris Caustic Highlight (EyeIrisCaustic): Added Jimenez (2014) focused iris caustic highlight model for realistic eye rendering, evaluating focused illumination on the iris opposite incident light direction.
  • Half-Vector Math, Roughness & IBL Anisotropy Optimization (Shader/BRDF.fxsub, Shader/skylighting.fxsub):
    • Scalar Half-Vector Evaluation (Karis 2013): Eliminated expensive 3D vector normalization in specular half-vector evaluation, leveraging scalar identities where applicable to optimize ALU throughput.
    • Energy-Preserving Fully-Rough Microfacet Albedo Transfer: Unified EnergyPreservingFullyRough into a scalar factor function, ensuring microfacet energy conservation at extreme roughness levels without albedo loss.
    • Lazarov 2013 Environment BRDF Polynomial Approximation: Fast, high-accuracy analytical approximation for image-based lighting specular response.
    • Stable Anisotropic IBL Dominant Direction (ComputeAnisotropyDominantDir): Enhanced tangent frame calculations with pole singularity safety and roughness stretching, preventing tangent discontinuities under steep viewing angles.
  • Thin & Curved Glass Refraction Stabilization (Shader/ShadingMaterials.fxsub, Materials/Transparent/material_force_glass.fx):
    • Elimination of Background Object Duplication: Re-engineered screen-space refraction offset driven directly by view-space normal tilt (screenNormal = float2(material.normal.x, -material.normal.y)). Planar glass viewed straight-on now has zero false lateral displacement, completely preventing ghosted and duplicate objects behind windows and showcases.
    • Physical Thin-Glass Default (customA = 0.5): Calibrated default refraction strength in material_force_glass.fx from 8.0 down to 0.5, delivering subtle, physically convincing thin-glass refraction without geometric warping.
    • Smooth Chromatic Dispersion: Added balanced spectral separation (iorR = ior + dispersion, iorB = ior - dispersion), adding natural optical dispersion along screen refraction gradients.
    • Newton's Method Tracing Gating & Deflection Clamping: Gated high-order Newton's method screen-space refraction (GLASS_REFRACTION) strictly to thick or curved geometries (customDataA > 1.2), with screen deflection bounded (clamp(deltaUV, -0.015, 0.015)) to eliminate disjointed image jumps.
  • Hair Shimmering & Sub-Pixel Specular Aliasing Fix (Shader/BRDF.fxsub, README.md):
    • Restored Standard Diffuse BRDF on Hair Geometry: Reverted experimental Kajiya-Kay diffuse override from SurfaceEnergy. Solves distracting hair shimmering, sub-pixel specular aliasing, and crawling noise under camera movement.
    • Burley 2012 Aspect Ratio Parameterization: Restored Burley's energy-preserving aspect ratio parameterization for anisotropic GGX specular (SpecularBRDF_GGXAniso), producing smooth, continuous anisotropic highlights on hair strands and brushed surfaces without flickering.

v1.20.11

  • SSGI Performance & Precision Tuning (Shader/SSGI/, README.md):
    • Loop Optimization in Spatial Filter (SSGI_Filter.fxsub): Replaced [unroll] with [loop] inside SSGIBlurPS across bilateral blur passes. Mitigates aggressive DirectX 9 SM 3.0 code bloat, reduces shader binary size, and prevents register spilling for more efficient GPU thread scheduling.
    • Early Depth-Thickness Gating (SSGI_Trace.fxsub): Reordered ray traversal logic in SSGIPassPS so that adaptive depth thickness gating (ComputeThicknessWeight) is evaluated before fetching the G-buffer emitter normal (GetSSGINormal) and calculating backface dot products. Skips unnecessary texture lookups and trigonometry for geometry outside the valid thickness threshold.
    • Balanced GI_QUALITY 4 Cinematic Preset (SSGI_Common.fxsub): Calibrated the highest SSGI quality tier from 20 rays x 16 steps (radius 18) to 16 rays x 14 steps (radius 16), delivering substantial frame-rate improvements with imperceptible difference in diffuse bounce coverage and stability.
    • Attribution & Dead Code Cleanup (SSGI_Common.fxsub, README.md): Removed unused Halton3 base-3 radical inverse routine and updated the SSGI technical attribution table in README.md.
  • Dedicated _realistic Hashed Alpha Hair Variants (Materials/Hair/, Materials/Toon/Hair/):
    • Separated Realistic vs Stylized Workflows: Base hair material presets across standard and toon libraries (material_hair*.fx) now retain classic alpha cutout (HASHED_ALPHA_TEST_ENABLE 0). Stylized and anime-style models keep their sharp, crisp hair card silhouettes without subpixel stippling.
    • 40 New *_realistic.fx Presets: Introduced dedicated *_realistic.fx shaders across the entire hair collection (14 base presets + 26 procedural metallic/silky/bonus presets) with Wyman & McGuire (2017) band-limited Hashed Alpha testing enabled (HASHED_ALPHA_TEST_ENABLE 1, HASHED_ALPHA_SCALE 1.0f).
    • Targeted Soft AA Strands with TAA: High-fidelity, dense strand-based or semi-realistic hair models can seamlessly opt into soft anti-aliased hair cards and subpixel reconstruction without affecting anime models in the same scene.

v1.20.10

  • Anti-Aliasing Overhaul: SMAA Ultra+ & FXAA HQ (Shader/SMAA.fxsub, ray.conf, ray_advanced.conf):
    • Native 1x Ultra SMAA Pipeline: Replaced the legacy broken pseudo-2x routing with a dedicated, high-performance 1x Ultra SMAA pipeline.
    • Linear Depth Predication (Gbuffer8Map): Upgraded SMAAColorEdgeDetectionPS with G-Buffer linear depth predication (SMAA_DEPTH_THRESHOLD 0.05f, SMAA_DEPTH_SCALE 3.0f). Accurately detects delicate silhouettes (fine hair tips, eyelashes, accessories, geometric boundaries) that pure color contrast fails to resolve.
    • Dual-Axis Bilinear Blending: Re-architected SMAANeighborhoodBlendingPS with dual-axis bilinear sample weights (weight.xy and weight.zw). Completely eliminates diagonal jagged staircasing and crawling on thin hair strands and geometric edges.
    • Subpixel Micro-Feature Reconstruction: Added dedicated subpixel reconstruction (SMAA_SUBPIXEL_RECONSTRUCTION 1, weight 0.65f) to reconstruct subpixel details and 1-pixel features without blurring or softening textures.
    • FXAA Preset 12 HQ: Activated 12-sample FXAA quality preset with subpixel quality tuned to 0.75 for superior edge coverage in FXAA mode.
  • Band-Limited Hashed Alpha Hair Cutout (Materials/material_common_2.0.fxsub, Materials/Toon/material_common_2.0.fxsub):
    • Zero-Grain Solid Interior: Solved the noisy "sand/stipple" degradation on hair. Stochastic alpha testing is strictly band-limited to a narrow subpixel boundary fringe ([ALPHA_THRESHOLD - 0.12f, ALPHA_THRESHOLD + 0.12f]). Solid hair strand interiors (alpha >= 0.62f) remain 100% solid and opaque with zero noise, holes, or missing texels.
    • Dave Hoskins Hash without Sine: Replaced legacy trigonometric noise (sin(dot(...)) * 43758.5453f) with Dave Hoskins' polynomial Hash31 and power-of-two quantized scale (exp2(-floor(log2(maxDeriv))) per Wyman & McGuire, I3D 2017). Eliminates float precision loss, coordinate-dependent clumping, and swimming noise under camera movement on DirectX 9 SM 3.0.
    • Pass Synchronization & Halo/Veil Elimination: Synchronized Material2PS clipping with HashedAlphaClip and forced material.alpha = 0 for opaque hair pixels. Completely eliminates the dirty semi-transparent hair-card veil/film over skin while ensuring hair geometry correctly writes to Gbuffer8RT, preventing skin subsurface scattering (SSSS) dermal blood bleed onto hair silhouettes.
    • Full Hair Library Coverage: Enabled HASHED_ALPHA_TEST_ENABLE 1 across all 14 base hair materials and all 26 procedural hair presets (Procedural Metallic, Procedural Silky, and Procedural Bonus).

v1.20.9

  • Studio Color Grading Engine & Dedicated Controller (ColorGradingController.pmx, Shader/ColorGrading.fxsub, Shader/PostProcessHDR.fxsub):
    • Pre-Tonemap Linear HDR 3-Way Split Toning: Independent control over Shadows (Lift), Midtones (Gamma), and Highlights (Gain) with per-zone Tint (R/G/B), Contrast, and Saturation (0.0x desaturation to 4.0x boost). Includes ShadowLift+/- for black-level lift/crush and HighlightGain+/- for highlight intensity.
    • Perceptual Naka-Rushton Luma Partitioning: Tonal zones partition based on compressed perceptual brightness ($pLuma = \frac{luma}{luma + 0.18}$), smoothly mapping middle gray (0.18) to 0.50. Calibrated thresholds (mColorGradingShadowMax = 0.45f, mColorGradingHighlightMin = 0.40f in ray_advanced.conf) ensure lit skin, hair sheen, specular reflections, and sky all receive natural highlight grading without clipping or tone-map desaturation.
    • 2D White Balance (Temperature & Tint): Planckian blackbody Temperature+/- coupled with orthogonal Green/Magenta Tint+/-, normalized by luminance to prevent unwanted scene exposure shifts.
    • Smart Saturation & Color Wheel (Vibrance & Hue): Non-linear Vibrance+/- boosts muted/unsaturated tones while protecting already saturated colors and anime skin tones. Branchless 3D Rodrigues rotation (Hue+/-) enables full 360° global hue angle shifts in ~4 ALU instructions.
    • Cinematic Creative Film Presets: Built-in one-touch looks with uniform dynamic branching (zero GPU cost when inactive): TealOrange+, BleachBypass+, CrossProcess+, and Monochrome+.
    • 60-Morph Studio PMX Widget (ColorGradingController.pmx): Cleanly organized across Eyebrows (Master/Vibrance/Hue), Eyes (White Balance & Shadows/Lift), Mouth (Highlights/Gain & Midtones/Gamma), and Other (Color Balance & Film Presets). Features non-destructive max(...) binding with ray_controller.pmx.

v1.20.8

  • Unified Skin SSS Pipeline (Breaking Removal):
    • Single SSS Toolchain (Shader/BRDF.fxsub): SubsurfaceShading now always runs the UE SubsurfaceBxDF cheat path — WrappedDiffuse (w=1/3, n=1.5) + AO-scaled BackScatter + view-dependent InScatter + HSV-luminance-preserving Beer-Lambert transmission — plus SubsurfaceShadingBacklitGlow. Removed the SKIN_SSS_STYLE switch along with SubsurfaceShadingPreIntegratedSkin, SubsurfaceShadingPennerSkin, and the deferred-path skin branch (all skin now shares the standard diffuse branch).
    • Removed UE mobile skin trick (SKIN_SHADOW_ROTATE / SkinRotatedNoL): The shadow-rotated terminator knob is gone from both shader and ray.conf.
    • Deleted Shader/PreIntegratedSkin.fxsub and Shader/textures/shadowLUT.bmp: The LUT-based machinery is no longer referenced anywhere.
  • Transmittance Authoring:
    • Explicit sRGB transmittance constants across all skin materials — face skin (238, 104, 94), body skin (220, 90, 80) — converted to linear internally by GetCustomDataB.

v1.20.7

  • Texture-Space SSS Diffusion (SSSS_TEXSPACE):
    • Model UV-Space Irradiance (Shader/SSSUVSpace.fxsub): Each opaque skin material renders its direct sun irradiance into the model's UV atlas once per frame.
    • Constant Texture-Space Kernel (Shader/PostProcessScattering.fxsub): Convolves the UV irradiance field with the Christensen-Burley diffusion profile across UV coordinates. Scatter radius remains invariant to camera distance and completely eliminates screen-space silhouette haloing and light bleeding into background geometry/hair.
    • Robust Deferred Decode (Shader/ShadingMaterials.fxsub): Replaces the Lambert base with the convolved irradiance at the packed G-buffer UV. Non-matching texels, alpha pieces, and multi-model collisions seamlessly fall back to screen-space SSSS (albedoErr < 0.25f).
    • Target Lifetime & Filtering (Shader/textures.fxsub, ray.fx): SSSUVLightMap, SSSUVLightTemp, and SSSUVAlbedoMap declared shared with CLAMP addressing, LINEAR albedo sampling, and frame-start clearing in DeferredLighting.
  • Pre-Integrated Skin Shading Fixes:
    • Uncorrupted Diffuse Reflectance (Shader/BRDF.fxsub): Removed destructive Beer-Lambert transmittance multiplication that previously destroyed 99.8% of green and 99.99% of blue direct sunlight.
    • Polynomial Safety Bounding: Added saturate clamps on curvature, curva, and interpolation weights to eliminate negative polynomial extrapolation spikes.
    • Backlight-Only Penner Translucency: Gated strictly to backlit hemisphere ($N \cdot L &lt; 0$) with quadratic falloff, eliminating red blobs on lit facial features.
    • Smooth Geometric Curvature Scaling: Reduced normal derivative scale from 18.0f to 2.0f in MaterialPS and Material2PS.

v1.20.6

  • Full Static-Review Pass Across Shader Codebase:
    • Toon Material Common Re-Sync: Materials/Toon/material_common_2.0.fxsub replaced with PBR copy. Hex-tiling, micro-glitter, hashed alpha testing, detail normal map, and POM self-shadowing now work for all Toon-subtree materials.
    • Per-Object Motion Blur Contract Repair: Fixed producer encoder to velocity * 0.25 + 0.5 matching consumer (v - 0.5) * 4.0 decode. Isotropic screen-unit velocity length clamping.
    • AA Tail Clean Ping-Pong (ray.fx): Single-consumer pipelines route through ShadingMapTemp2 to eliminate D3D9 feedback loops; upgraded TAA history target to HDR A16B16G16R16F.
    • SSR Roughness Filter Alignment: SSR_BlurY* passes use Y texel size for half-texel alignment shift, properly centering filter lattice on non-square viewports.
    • Dead Code Cleanup: Removed orphaned PostProcessColorGrading.fxsub, skybox_fog.fxsub, HexTiling.fxsub, cloud.tga, and noise.png. Fixed BOKEH_MODE fallback default.
    • ANSI Encoding Safety: Normalized comments to pure ASCII across 26 files (zero UTF-8 BOM hazards for MME).
    • Controller Bindings Verified: All 102 CONTROLOBJECT bindings verified against real PMX morph names via pymeshio.

v1.20.5

  • Authorable BRDF / Skin / SSS Knobs (ray.conf, Shader/BRDF.fxsub):
    • SPEC_LIGHT_SIN_ALPHA: SphereMaxNoH softening (de Carpentier 2017 / Decima Engine) treating point-ish lights as angular spheres to soften highlight edges.
    • BRDF_FRESNEL_TYPE 1: Adobe F82 Fresnel (Kutz et al. 2021) preserving hue variation of colored speculars at mid angles.
    • BRDF_CLOTH_VIS_CHARLIE 1: Full Estevez & Kulla 2017 exponential fit for grazing-angle cloth sheen falloff.
    • Authorable Skin Knobs: SKIN_BACKLIT_STRENGTH / _G / _IOR (Henyey-Greenstein backlit forward glow), SKIN_SPEC_LOBE* (dual-lobe skin specular profile), and SKIN_SSS_MFP_SCALE (global mean-free-path multiplier).
  • Skin Dark-Blotch Elimination & Scale-Invariance:
    • Translucency thickness probe gated to forward lobe only, preventing background occluder blotches.
    • $C^1$ Monotone Hermite Soft Knee Energy Budgets in ShadingMaterials and skylighting, eliminating desaturated gray-blue blotches.
    • Restored ratio form deltaN/(deltaP + eps) in material subroutines for true scale-invariant geometric screen-space curvature.
  • Separable SSSS Wide-Diffusion Tuning Restoration:
    • SSSS blur restored to direction-split perspective-correction state with 2D 48px kernel clamp and loose bilateral depth tolerance.
  • Skylighting Compile Fix (X3528):
    • Flattened dynamic branch on alpha-material ShadingMaterial call containing ddx/ddy to resolve ps_3_0 compile error X3528.

v1.20.4

  • SkyVisibility Neutral Baseline & Bidirectional Controller Scaling:
    • Re-calibrated default baseline occlusion intensity from 1.0 down to 0.60 (mSkyVisibilityIntensity), preventing automatic saturation/clipping under covered geometry.
    • Re-mapped Intensity+ / SkyVis+ morph to scale up to 1.35×, allowing artists to dramatically deepen macro overhead shadows when desired.
    • Re-mapped Intensity- / SkyVis- morph to smoothly scale down to 0.0, enabling full attenuation and disabling of overhead occlusion.
    • Fixed downward normal penalty in Shader/SkyVisibility.fxsub so it exclusively activates on downward-tilted undersides ($N_y &lt; 0$) without falsely inflating occlusion on upright geometry or open outdoor walls.
    • Raised default ambient floor to 0.08 to prevent pitch-black artifacts in deeply covered spaces.
  • Separable SSSS Miniature Scale-Invariance & Normal Preservation:
    • Restored scale-invariant bilateral depth tolerance (max(linearDepth * 0.035f, 1e-4f) + tap span), removing the hardcoded 0.08 floor that leaked blur across tiny/doll-size characters.
    • Clamped blur kernel footprint to 24px (maxStep = 24.0f * ViewportOffset2), preventing close-up macro shots from swallowing miniature models into mush.
    • Upgraded normal rejection to power-law metric (pow(saturate(dot(N1, N)), 1.25)), preserving smooth blur across organic limb curves while strictly rejecting backfaces and perpendicular geometry ($N_1 \cdot N \le 0$) across nostrils, eyelids, and fingers.

v1.20.3

  • Top-Down Sky Visibility & Macro Heightfield AO (Snowdrop Engine / GDC 2016):
    • Implemented directional horizon search and cone-tracing ambient occlusion (Shader/SkyVisibility.fxsub, Shader/SkyVisibilityPass.fxsub).
    • Solves the longstanding ambient light leaking problem where outdoor skylight / ambient IBL illuminated covered spaces under canopies, bridges, roofs, porches, and open doorways.
    • Dedicated controller SkyVisibilityController.pmx with morphs for fine-tuning intensity (Intensity+/-), search radius (Radius+/-), ambient floor (Floor+/-), contrast curve (Contrast+/-), and center bone positioning.
    • Eliminated boundary clipping line and expanded occluder search footprint to 400 world units with distance falloff, fixing false overhead planar darkening.
    • Correct pipeline pass ordering in ray.fx: evaluated strictly before SSGI to ensure physically grounded indirect bounce light.

v1.20.2

  • Skin Shading & Subsurface Diffusion (SSSS) Refinements:
    • Intrinsic Epidermal Baseline Wrap: Added wavelength-dependent baseline wrap (baseWrap = float3(0.45, 0.22, 0.08)) in Shader/BRDF.fxsub (SubsurfaceShadingPreIntegratedSkin), allowing red spectrum light to bleed 45% past the terminator into deep shadow on flat and cylindrical geometry (arms, torso, neck), eliminating harsh cutoffs.
    • Continuous $C^1$ Quadratic Terminator Envelope: Replaced non-differentiable tent falloff with smooth quadratic curve saturate(1 - (N.L)^2), eliminating micro-artifacts and intensity ridges along shadow edges.
    • Hardware Bilinear SSSS Convolution: Converted SSSSBlurX and SSSSBlurY in ray.fx from point sampling to hardware bilinear filtering, eliminating subpixel stepping and dither noise.
    • Relaxed Bilateral Filter Weights (Shader/PostProcessScattering.fxsub): Converted normal rejection weights to Half-Lambert metric (saturate(dot * 0.5 + 0.5)), increased scale-invariant depth tolerance, expanded close-up kernel clamp to 48px, and removed unblurred shadow blendback on skin.
    • Curvature Regularization & Shadow Clip Protection: Clamped finite-difference denominator (max(deltaP_sq, 1e-3f)) in material subroutines and bypassed early-out clip(shadow - 1e-5) on skin materials.

v1.20.1

  • Next-Gen SSGI 3.0 Architectural Overhaul:
    • Ground-up redesign of Screen-Space Global Illumination inspired by Unreal Engine 5 Lumen SSRT (Shader/SSGI/SSGI_Trace.fxsub, Shader/SSGI/SSGI_Filter.fxsub, Shader/SSGI/SSGI_Resolve.fxsub).
    • Tom Duff et al. (2017) Orthonormal Tangent Basis: Branchless 8-instruction coordinate frame construction around surface normals without trigonometric functions.
    • Stratified Halton (2, 3) Cosine Hemisphere Rays: Focused ray density where radiative transfer is mathematically greatest.
    • Per-Pixel IGN Rotation: Full $[0, 2\pi)$ direction set rotation via Interleaved Gradient Noise with decoupled elevation and step jitter, eliminating radial banding and grazing self-intersections.
    • Analytical Screen-Edge Clipping (ClipRayToScreenEdge): Analytical ray step scaling to viewport boundaries with smooth vignetting and seamless IBL environment fallback.
    • Adaptive Depth Thickness Gating: Dynamic depth threshold test with backface rejection to prevent light leaks through fingers, ears, and thin walls.
    • Dyadic À-Trous Cross-Bilateral Reconstruction: 5x5 Karis luminance outlier rejection, dyadic stride $1.0 \to 2.0$, and tangent-plane distance edge-stopping (BilateralPlaneWeight) preserving gradients across tilted surfaces and character curves.
    • Calibrated Quality Presets: Low (4/12), Medium (8/12), High (12/14), and Cinematic (20/16).
    • Multi-Bounce Fix: Corrected visibility term handling to prevent double attenuation when combining SSAO/SSDO with diffuse indirect light.
    • Repository Governance: Added GitHub Issue forms (.github/ISSUE_TEMPLATE/), PR checklist, and CONTRIBUTING.md.

v1.20.0

  • Practical Real-Time Hex-Tiling (Mikkelsen 2022):
    • Integrated Morten S. Mikkelsen's stochastic hex-tiling algorithm (Shader/HexTiling.fxsub) into Materials/material_common_2.0.fxsub.
    • Eliminates repetitive tiling patterns on large surfaces (terrain, grass, asphalt, rock, concrete, fabrics) using equilateral triangle decomposition and Dave Hoskins polynomial hashing without trigonometric precision bugs.
    • Features luminance contrast blending for color maps and heightfield partial derivative ($dH/duv$) slope blending for tangent normal maps.
    • Shared HexTilingContext evaluates UV coordinates, barycentric weights, rotations, and partial derivatives once per pixel across Albedo, Normal, Sub-Normal, Smoothness, Metalness, and Occlusion channels.
    • Added Distance-Adaptive LOD Fade (HEX_TILING_DISTANCE_LOD 1) to smoothly collapse to 1 texture sample at distance, saving GPU memory bandwidth.
    • Added Height-Blended Displacement (HEX_TILING_HEIGHT_BLEND 1) using Frostbite/Unreal height-lerp for sharp, natural crevices.
  • Hashed Alpha Testing (Wyman & McGuire, I3D 2017):
    • Replaced hard binary alpha cutout (clip(alpha - threshold)) with scale-invariant stochastic spatial hashing (HASHED_ALPHA_TEST_ENABLE 1).
    • Combined with TAA history reconstruction, produces silky-smooth, soft anti-aliased transparency for anime hair tips, eyelashes, foliage, and lace while maintaining full deferred G-buffer depth, SSAO/GTAO, and shadow reception.
  • Detail Normal Maps & Micro-Surface Layering:
  • Multi-Spectral Pre-Integrated Skin Curvature SSS (Penner / Jimenez):
    • Integrated multi-spectral wavelength wrap ($w_r = 0.40, w_g = 0.18, w_b = 0.06$) directly into direct BRDF lighting, smoothly extending light into the shadow terminator up to $N \cdot L \le -0.35$.
    • Added saturated chromatic blood-fringe dispersion along the shadow boundary, giving character faces, hands, and noses natural organic warmth and translucency.
    • Preserved full energy conservation and separated forward skin diffusion from backward ear/thin feature transmission (SubsurfaceTranslucency).
  • Volumetric Clouds 2.0 with Adaptive Empty Space Skipping:
    • Implemented coarse adaptive stepping ($\times 2.25$ stride) in empty air, reducing primary ray noise samples by more than 50% across open sky regions.
    • Added precision boundary refinement ($0.75\times$ backstep) upon entering cloud density, preserving 100% of fine fractal wisps, multi-scattering, and Silver Lining without edge slicing.
    • Added early ray termination on exiting the 4.5 km atmospheric boundary.
  • CineStill 800T Multi-Scale Film Halation:
    • Upgraded filmic halation into a multi-octave diffusion model (blending 2nd and 3rd bloom tiers) simulating physical red wavelength back-scattering from the film polyester base.
    • Added non-linear highlight overexposure response and silhouette edge contrast bleeding (smoothstep(0.20, 1.10)).
    • Defaulted to FILMIC_HALATION_MODE 2 for the iconic warm crimson-amber glow on practical lights, neon, and specular glints.
  • Expanded 48-Preset Material Library (PBR & Toon):
    • Added 24 brand-new material presets fully mirrored in Materials/ and Materials/Toon/ (48 files total):
      • Architecture: Brick, Concrete, Asphalt, Wet Asphalt, Parquet, Rough Wood, Ceramic Tiles, Polished Marble.
      • Cloth: Leather Black, Latex, Denim, Wool, Stockings (Hashed Alpha), Lace (Hashed Alpha).
      • Nature: Ground Dirt, Ground Mud, Snow (SSS + Micro-Glitter), Ice, Sand (Micro-Glitter), Tree Bark.
      • Sci-Fi: Carbon Fiber (Anisotropic), Hologram (Emissive + Hashed Alpha), Cyber Grid, Diamond.
    • All materials feature native Hex-Tiling, Hashed Alpha testing, and auto-albedo adaptation.
  • Core Engine Performance Optimizations:
    • Contact Shadows: Hoisted view-projection matrix multiplications out of raymarching loops into clip-space homogeneous lerp.
    • XeGTAO: Replaced costly trigonometric cos/acos evaluations with square-root horizon identities and distance-squared early culling.
    • Point & Spot Lights: Added early range clipping clip(LightRange^2 - distSq).
    • Directional Lighting: Pre-scaled Vogel-disk PCF rotation vector outside the sample loop.
    • EON Diffuse BRDF: Hoisted reciprocal calculations out of E_FON_approx.
    • SSGI Raymarching: Replaced vector normalization divides with reciprocal square roots (rsqrt).
    • Hexagonal Bokeh DoF: Precomputed blur distance and inverse margin factors outside the sample loop.
    • Water Caustics: Statically precomputed Gerstner wave Hessian constants.
    • G-Buffer Normal Mapping: Eliminated redundant texture fetches for HQ and Ultra normal modes.

v1.19.0

  • McGuire 2014 2D DDA SSR Engine: Complete re-architecture of Screen-Space Reflections using Morgan McGuire & Michael Mara (2014) 2D digital differential analyzer (DDA) ray traversal. Integrated hybrid bisection and secant method root-finding with subpixel binary refinement search (SSR_QUALITY 1..4). Removed jitter grain and contact gap under feet; glossy and mirror reflections resolve sharply at full LOD 0.
  • Complete Removal of Legacy Hi-Z Subsystem: Fully eliminated all remaining hierarchical depth pyramid files (HiZ_Traversal.fxsub, HiZ_Build.fxsub, HiZ_Common.fxsub, HiZ_Main.fxsub). Refraction and SSR now evaluate directly against native G-buffer depth.
  • Overhaul of Volumetric Clouds & Skybox:
    • Ported SA_DirectX 3.0 cumulus cloud model with Frostbite / Nubis multi-scattering lighting and dual Beer-Powder attenuation.
    • Implemented spherical planetary Earth curvature and natural horizon projection for 60+ FPS unrolled raymarching.
    • Added anti-tiling domain warping with golden-angle rotation octaves to eliminate repetitive cloud patterns across wide horizons.
    • Calibrated MMD controller morphs (Cloud+ / Cloud-) to smoothly ramp from completely clear skies to lush cumulus formations without solid overcast artifacts.
    • Synchronized cloud top/bottom bounds with atmospheric fog godray transmission passes.
  • Percentage-Closer Soft Shadows (PCSS): Real-time contact-hardening soft shadows for cascaded directional sun maps (SUN_SHADOW_PCSS_ENABLE 1..4). Evaluates adaptive blocker search and penumbra filtering with world-space continuity across cascade splits, eliminating cascade seams and light bleeding.
  • Real-Time Directional Water Caustics: Implemented analytic wave curvature back-projection along sun direction (WATER_CAUSTICS_ENABLE 1) with chromatic dispersion and dedicated CausticsController.pmx (WaterHeight, Caustics intensity, and wave speed morphs).
  • Energy-Preserving Oren-Nayar (EON) Diffuse BRDF: Exact implementation of the Portsmouth, Kutz & Hill (JCGT 2025) diffuse model (DIFFUSE_BRDF_TYPE 1), preserving diffuse energy across high roughness angles.
  • G-DLAA Anti-Aliasing (AA_QUALITY 7): Hybrid geometric and directionally adaptive anti-aliasing preserving sharp silhouette lines and geometric details without temporal history lag. Fixed SMAA 1x routing.
  • Cornea Parallax & Micro-Glitter Material Suite:
    • Added true refractive cornea depth with iris parallax offset mapping (ComputeCorneaIrisParallax).
    • Procedural multi-layer micro-glitter sparkle presets (material_glitter.fx, material_glitter_gold.fx) with stochastic specular glint response.
    • Upgraded Charlie Sheen BRDF for microfiber and velvet cloth shading.
  • Octahedral Normal Encoding: Precision octahedral encoding/decoding for unit normal vectors in math core and G-buffer.
  • FidelityFX CAS & Dithering Polish: Eliminated diagonal moiré patterns in CAS sharpening and normalized temporal bent normals in GTAO.

v1.18.0

  • Ground-Truth Ambient Occlusion (GTAO & GTSO): Upgraded to reference XeGTAO architecture with cosine horizon integration, Jimenez multi-bounce color approximation, and material-level SSAOMap visibility masking. Eliminated background shadow halos and NaN singularities.
  • Disney Christensen-Burley 11-Tap BSSRDF: Multi-spectral subsurface scattering profile with strict incident energy budgeting and dermal chromatic dispersion along the shadow terminator.
  • Parallax Occlusion Mapping (POM) Self-Shadowing: Self-shadow raymarching for deep relief displacement textures.
  • Unified Heitz/Burley Anisotropic GGX Microfacet BRDF: Physical anisotropic reflection distribution for metals, hair, and brushed surfaces.
  • Triangular Blue-Noise Dithering & DoF Early-Exit: Subpixel noise decorrelation to eliminate banding and optimization for in-focus DoF regions.
  • Volumetric Light Shaft Occlusion: Depth-aware shadow occlusion integrated into atmospheric fog godrays.
  • SSGI 1:1 Resolution & Hi-Z Decoupling: Completely rewrote the SSGI trace algorithm to use hybrid linear-quadratic raymarching at full 1:1 screen resolution, removing all Hi-Z dependencies and fixing the 10x10 fractional grid artifacts.
  • Expanded Room-Scale Emissive Bounce: Doubled the maximum screen-space trace radius (up to 150m world radius), relaxed the quadratic falloff for emissive materials, and added a ray-progress fade to ensure smooth light boundaries without sharp screen-space cutoff rings.
  • Camera & Object Motion Blur: High-performance screen-space velocity motion blur supporting both camera view-projection history (Mode 1) and animated per-object skinned mesh vertex tracking via offscreen VelocityMap (Mode 2), with 12-tap linear accumulation and shutter speed control. Fully decoupled from TAA with custom multi-stage render target pass routing (ShadingMapTemp2) so it operates smoothly across all anti-aliasing modes (FXAA, SMAA x1/x2, TAA, or disabled).
  • Screen-Space Global Shadows (SSGS): Long-range screen-space directional shadow raymarching with distance-adaptive penumbra dilation (up to 15m range). Casts soft proximity shadows between nearby characters and objects independently of shadow map resolution.
  • Spectral / Chromatic Dispersion Bloom: Physically-grounded wavelength separation (Cauchy lens dispersion approximation) applied across downsampled bloom tiers, producing subtle to anamorphic chromatic rainbow fringes on high-intensity specular highlights and emissive sources.
  • Temporal HBAO Denoising: Temporal history accumulation with depth validation and 3x3 neighborhood box clamping for ambient occlusion (HBAO_TEMPORAL_DENOISE), providing rock-solid contact shading in motion without shimmering.
  • Volumetric Fog & God Rays 2.0: Upgraded atmospheric fog and sun rays with Henyey-Greenstein forward phase scattering and dynamic per-frame temporal interleaved gradient noise.
  • Cinematic Cat's Eye Bokeh (DoF 2.0): Optical mechanical vignetting simulation for depth of field (DOF_BOKEH_CATS_EYE), smoothly deforming circular bokeh discs into oval cat-eye shapes toward image edges.
  • Filmic Halation (Film Emulsion Bleed): Physically-modeled 35mm photographic film light bleed (FILMIC_HALATION_MODE), generating a subtle warm Kodak Vision3 red-orange halo specifically along high-contrast silhouette edges.

v1.16.0

  • Community Toon Shadow Grading: A single ToonShadowGrade pipeline in the BRDF grades every CEL/TONEBASED shadow color, with ray.conf knobs ported from the community toon shaders — multiply/add grade and YIQ hue rotation (PAToon2/M4Toon2), low-saturation auto-tint so shadows over white clothes and skin read as tinted rather than gray dirt (M4Toon2), a pow(albedo, n) self-power fallback for materials that define no shadow color (Jashin), a luminance-preserving warm push for anime skin shadows (T_ToonShader), and a silhouette rim light folded into the terminator before banding so it inherits the cel bands (Jashin). Float knobs gate through runtime ternaries with #ifndef defaults — the HLSL preprocessor #if is integer-only.
  • Crisp Cel Ramp: Band transition widths tightened (0.035/0.025 → 0.02/0.015), cast-shadow hardening sharpened to smoothstep(0.35, 0.65), the deep-shadow band now lerp(c, c*c, 0.5) instead of c*c (full squaring doubles chroma and reads burnt), and IBL ambient for toon materials quantized to 2 luma steps so the shadow fill stays flat.
  • Materials/Toon Library: The entire material tree duplicated as ready-made cel-shaded presets — CUSTOM_ENABLE 8 with per-category shadow colors (skin, hair including procedural presets, eyes, cloth, foliage, default lavender) — plus base cel and tone-based templates and a README. Editor/ skipped; Programmable/Water and Wetness copied verbatim; all MAP_FROM 1/2 texture references resolve inside the tree. See Toon Shading.
  • Fixed SSGI On Toon Receivers: The 4-step luma ladder in the GI combine zeroed bounced GI darker than 0.125 luma — which is essentially all bounce light — so CEL/TONEBASED materials received no SSGI at all. Toon receivers now take the generic Reinhard×albedo path; the double bilateral blur already keeps GI low-frequency enough not to smear the bands.

v1.15.0

  • Strengthened Contact Shadows: Decoupled from the Hi-Z traversal into a flat jittered linear march over a dual depth surface (freeing ps_3_0 temp registers in every lighting pass that inlines it); the trace range was lengthened 3× (up to 1.5 view-space units) with high-exponent visibility so micro-occlusion reads near sun-shadow darkness at typical camera distances, and occlusion now scales continuously with ray penetration — giving shadow edges a real penumbra instead of a frozen diagonal dither line.
  • Calibrated Skin GI Bounce: Skin's emitter contribution is clamped to a gain-invariant reference level (SKIN_GI_EMISSION_SCALE 0.04) — boosting SSGI fills the room without amplifying skin into a light source, while skin-to-skin bounce still scales — and skin reception dropped its extra Reinhard compression, so SSGI+ lights skin as linearly as every other surface.
  • Sane SSS Defaults & Grounded Skin: Fixed the swapped mSSSSIntensityMin/Max controller defaults (restored Min 0.04 / Max 0.02, matching upstream) so SSSS+/SSSS- widen/narrow the kernel as documented, and raised SKIN_AO_STRENGTH to 0.75 so figures no longer glow in cast shadows and stay attached to contact occlusion.
  • HDR Sky Fallback for SSGI: Sky radiance gathered at ray termination now samples the EnvLightMap HDR environment projection (instead of the LDR tonemapped scene background) via 4 jittered taps with a stronger, SSGISkyLight-scaled weight — a small bright keyhole such as a window now fills the room instead of collapsing into a single streak.
  • Removed Legacy Matcap Layer: The optional matcap highlight — the last remaining feature of the upstream forward layer — was redundant under deferred PBR specular + IBL and has been dropped; the Main pass is now purely the alpha cutout into the scene buffer.
  • Deferred-Lighting Optimization Pass: Removed a duplicated contact-shadow trace in the directional-light pass that ran the 16-step ray twice per lit pixel and squared its darkening; replaced the sun-shadow 5×5 PCF grid (25 taps) with a rotated 12-tap Vogel disk at the same footprint — the previously discarded IGN rotation now actually decorrelates the pattern between pixels; LOD-0 gather steps read G-buffer depth and shading model in a single tap; DecodeNormal lost its per-decode branch in favor of a clamp.
  • Removed Dead PCSS Code: The never-enabled PCSS_SHADOW_ENABLE branches (spot blocker search + penumbra filter, directional min/multiply selection) and their helpers (SearchRegionRadius, PenumbraRadius, ProjectToLight) are deleted — no behavior change, they never compiled in. Recoverable from git history if percentage-closer soft shadows ever get wired up for real.
  • Stability: Initialized diffuse/specular outputs in the area-light shadowless passes, preventing undefined values on the alpha path.

v1.14.0

  • Forced-Transparency Presets: Materials/Transparent/material_force_transparent.fx and material_force_glass.fx force the deferred transparent path on materials regardless of their source alpha — for models authored with opaque flags on see-through parts.
  • Hardened Cel Shading: CEL/Toon materials now evaluate through the terminator (deep-shadow band instead of a black back side with a hard line at nl = 0), take their band edges from geometry shadow only, harden incoming soft PCF/contact-shadow gradients, gate speculars into a crisp band keyed to the cel threshold, and luma-quantize IBL ambient to 1/4 steps so smooth ambient no longer breaks the bands.
  • Suppression Presets Win Over Exclusion Clips: SSGI/SSAO/SSR visibility presets ≤ 0 now take effect on additive-blended and sub-0.01-alpha pixels that the exclusion clips previously skipped — suppressed materials no longer receive GI or act as GI emitters (e.g. emissive eyes glowing in dark scenes).
  • SSS Energy Budget Raised to 1.4: Artistic glow headroom for the additive scatter term.
  • Compiler & Stability Fixes: Split the directional-light G-buffer decode into two stages to bring LightSourcePS back under the ps_3_0 temp-register budget (X4505), repaired Hi-Z includes broken by MME main-fx-relative paths, [flatten]-guarded ShadingMaterial for gradient legality, and initialized diffuse outputs in shadowless light passes.

v1.13.0

  • Tinted Glass Presets: material_glass_color.fx, material_glasses_color.fx, and material_plastic_color.fx inherit the MMD material diffuse color into transmission (ALBEDO_MAP_APPLY_DIFFUSE), with hue-preserving GLASS_TINT_EXPONENT compression (0.25) so colored glass stays strongly transparent.
  • Unified Alpha Cutout Threshold (0.5): All deferred passes (main_ex_alpha, main_ex_mask, main_ex_noalpha, main_ex_with_sphmap) now use one ALPHA_THRESHOLD 0.5 — pixels with alpha ≥ 0.5 render as opaque cutouts through the full deferred path (SSR, GI, and shadows apply to them) instead of falling into the forward-blended pass with its sorting artifacts.
  • Wetness Ordered-Dither Alpha Clipping: The Wetness subsystem modulates its cutout threshold per pixel with Interleaved Gradient Noise (AlphaDither over VPOS) — semi-transparent texels near the threshold dissolve into a stochastic screen-door pattern instead of clipping along hard geometry edges.

v1.12.0

  • Rough Specular GI (SSGI_SPECULAR_GI): Reuses the denoised GI radiance as a Fresnel(F0)-weighted indirect specular term, filling colored indirect reflections on rough surfaces where mirror SSR misses and the IBL cubemap is too blurry. Automatically off for skin, glass, and emissive materials.
  • Hi-Z Traced Glass Refraction (GLASS_REFRACTION): Refracted rays are traced through the Hi-Z depth pyramid to the true background point, falling back to the flat screen-offset path on miss. Fully independent of GI/SSR — it builds its own Hi-Z pyramid when neither feature is active.
  • Depth-Validated TAA History (AA_QUALITY 6): Stores per-frame linear depth in a second render target and rejects stale history when the reprojected point mismatches what was visible last frame, killing ghosting on moving models and disocclusions.
  • Outdoor Sky Radiance Gather: SSGI rays escaping towards the background gather skybox radiance at ray termination for smooth ambient fill; temporal phase dither activates only under TAA, static spatial dither keeps SMAA/FXAA modes stable.
  • Multi-Bounce Quadratic AO Attenuation: AO² curve applied to multi-bounce GI diffuse irradiance — HBAO contact shadows can darken corners deeply without GI wash-out.
  • Banding & Self-Illumination Fixes: White-noise hash jitter replaces IGN (whose fixed diagonal gradient survived the bilateral filter as banding without temporal accumulation), positive hemisphere cosine threshold eliminates coplanar floor self-sampling rings, jitters sky-fallback tap distances, samples MMD background via ScnSamp on sky pixels, and widens the indirect-mode denoiser.
  • Optimized Hi-Z SSR & BRDF Energy Conservation: View-space near-plane ray clipping, roughness-adaptive initial mip level, temporal dither for contact reflections, cross-bilateral geometry-aware (depth/normal) roughness pre-filtering, and analytical multi-scattering energy compensation in SpecularBRDF_GGX.
  • Scale-Invariant Separable SSSS: Kernel-relative world-space tolerance and a 16px blur kernel clamp keep subsurface scattering correct on macro-shot miniatures; guards normalize() NaN and marches translucency thickness probes past sky holes.
  • Physical Dermal Reflectance & Bounded Skin GI Emission: Skin albedo clamped to real dermal reflectance (10–45%) once in DecodeGbuffer so every consumer (direct, IBL, SSS, GI) stays physical; additive SSS capped to incident irradiance (SKIN_SSS_ENERGY_BUDGET), IBL cavity light-bleed bounded (5.5x → 0.8x), skin bounce emission suppressed to 12% (SKIN_GI_EMISSION_SCALE), and scattered skin AO unified under SKIN_AO_STRENGTH.
  • New Debug Controller Morphs: SSGIEmissiveBoost, SSGIModeGain, and SSGISkyLight tuning knobs (stock at 0) in the Other panel, plus the previously dormant SSGI cone angle now wired to the gather radius.
  • Hair Whorl Fix: Anisotropic tangent degeneracy at the hair crown resolved.

v1.11.1

  • Hi-Z SSR Stabilization: Near-plane ray endpoint clamping (Z ≥ 0.05) eliminates negative-W projective inversions; adaptive mip-texel DDA stepping removes cell boundary oscillation and horizontal scanline noise; symmetric 2×2 box reduction offsets stop cumulative spatial drift across mip levels; smooth Hermite confidence weighting preserves grazing and downward-tilted floor reflections; blur kernel scale guarded against division by zero.
  • Decoupled Occlusion: SSAO/HBAO no longer depend on the Hi-Z buffer, resolving reflection banding and specular occlusion cutouts.

v1.11.0

  • Procedural Vegetation & Foliage Wind Engine: Real-time World Position Offset (WPO) vertex wind animation system built directly into material_common_2.0.fxsub with zero rigging/physics requirements. Includes 4 specialized presets in Materials/Foliage/ (material_leaves_tree.fx, material_grass.fx, material_vines.fx, material_palm.fx). All shadows, depth, reflections, and SSGI light bounces animate synchronously.
  • Geometric Normal Variance Specular Anti-Aliasing: Toksvig / Kaplanyan microfacet filtering via screen-space normal derivatives (ddx/ddy), eliminating specular flickering and pixel crawling on hair, jewelry, and detailed meshes.
  • Directional Bent-Normal Specular Occlusion: Cone-traced directional ambient occlusion (Lagarde/Frostbite 2014) for IBL/SSR, preventing sky reflections from glowing inside crevices and clothing folds.
  • Thin-Film Wave Interference & Iridescence: Airy multi-spectral optical phase shift for ClearCoat materials (material_carpaint.fx), creating realistic rainbow pearlescence and soap bubble/oil sheen effects.
  • Hi-Z Hierarchical Contact Shadows: Complete rewrite using hierarchical depth traversal (HiZ_TraceRayDetailed), slope-scaled normal bias, and dual-hemisphere terminator fade (zero false wall artifacts).
  • Modular SSGI & Progressive Hi-Z LOD Gather: Decoupled trace, filter, and resolve passes with multi-scale Hi-Z pyramid raymarching, up to 75m world radius, and Jimenez multi-bounce indirect illumination.
  • SSGI Visibility Masking Pass: Dedicated SSGIVisibilityMap offscreen target with 11 mask presets (Shadow/SSGI visibility 0.0.fx ... 1.0.fx) to eliminate unwanted bounce light from emissive/anime eyes.
  • Physically Based Dermal Absorption Profile: Calibrated skin albedo reflectance and soft-knee photometric compression to eliminate unnatural fluorescent skin glow in bright GI scenarios.
  • Calibrated Eye Emissive & Socket Occlusion Isolation: Restored expressive 0.85 eye iris self-illumination while exempting eye materials from deep orbital cavity SSDO darkening.
  • Multi-Scale Hi-Z HBAO & SSDO: Direct MIP sampling from Hi-Z depth targets with sequential temporary register accumulation (<10 registers, resolving SM 3.0 X4505 limit).
  • Physical SSSS Translucency & Geometric Depth-Thickness: Henyey-Greenstein forward transmission lobe, multi-spectral flesh absorption, and screen-space geometric thickness measurement along light rays.
  • Normal-Preserving Bilateral SSSS Filter: Protects fine facial features (creases, eyelids, nostrils) from cross-boundary skin blur.
  • 5-Tap Catmull-Rom Bicubic TAA: Unreal Engine 5 standard temporal anti-aliasing reconstruction with Karis HDR anti-firefly luma weighting.
  • Karis 13-Tap Anti-Firefly Bloom Downsampling: 5 overlapping bilinear box filter groups eliminating specular shimmering and sparkling on metal and jewelry.
  • Atmospheric & Volumetric IGN Dithering: Interleaved Gradient Noise anti-banding jitter across all godrays, sky fogs, and volumetric cube/sphere haze.
  • Debug Controller Refactoring: Moved DebugController.fx to project root for seamless native MME include path resolution.

v1.10.1

  • Hi-Z Pyramid Integration: Consolidated conservative min-depth pyramid generation for screen-space effects.
  • Hair & Skin BRDF Refinements: Minor energy conservation fixes and stability tuning.

v1.10.0

  • Modular Hi-Z Traversal Engine: Clean-room hierarchical depth ray traversal architecture.
  • Optimized G-Buffer Packing: Channel remapping and precision upgrades for SM 3.0 compatibility.

v1.9.0

  • SSGI 2.0: Dual-mode Global Illumination with 75m world reach, 180-degree Lambertian wrap, and photometric soft-knee compression.
  • Dual-Lobe Skin Specular: MetaHuman/UE5 dual-specular lobe model.
  • Kajiya-Kay Hair BRDF: Anisotropic hair highlights with tangent shifts and transmission color bleed.
  • AgX Tonemapping: Official Blender 4.0 6th-order polynomial color science (16.5 EV).
  • Clean-Room Hi-Z SSR: 100% independent hierarchical depth pyramid raymarching.
  • CONVEX_NORMAL Mode: Refractive corneal dome correction for anime eye meshes.
  • Spectral Dispersion: Wavelength-separated RGB chromatic aberration for glass.
  • Panavision Flares: Anamorphic blue streak profile with exponential falloff.

v1.8.0

  • HBSSDO integration and Contact Shadow enhancements.
  • Subsurface scattering performance pass.
  • Shadow cascade filter radius tuning.

Clone this wiki locally