Devlog — glTF PBR Parity Milestone

This week marks an important milestone for the Metal PathTracer:

structural glTF 2.0 PBR parity.

Below is the current render of the classic Damaged Helmet asset — one of the standard reference models used across engines and viewers:

(Image above)

While most glTF viewers rasterize assets in real time, this renderer path traces them. Achieving comparable material behavior requires more than loading textures — it requires reconstructing how raster pipelines handle filtering, tangent space, and material response.

This update brings several foundational improvements:

Physically Correct Texture LOD

Path tracers don’t have access to screen-space derivatives like raster engines do.

To ensure proper filtering of roughness, metallic, and normal maps, the renderer now implements ray-cone–based texture LOD selection.

This allows glossy surfaces and fine material detail to filter correctly under path tracing, eliminating structured aliasing and producing stable accumulation over time.

Industry-Standard Tangent Space

The renderer now uses the reference MikkTSpace implementation for tangent generation — the same standard used by Blender, Unreal, and most glTF pipelines.

This ensures consistent normal map interpretation across tools and engines.

glTF Sampler Fidelity

Per-texture sampler states defined in glTF are now fully respected:

This brings the material pipeline closer to authored intent.

Physically Derived Specular Response

Dielectric reflectance is now computed directly from material IOR.

This aligns specular response with physically based definitions and improves backend consistency.

For a renderer built natively on Apple Silicon using Metal, this is a significant step toward production-grade material correctness.

This kind of foundational work is what makes everything else possible.