Testing Blender Shader Nodes in Spectral Engine: Principled BSDF Stability & Cycles Parity Tests
Hey everyone,
Quick progress update on the Spectral Render Engine development.
Over the past few days, I have been setting up a standardized benchmark suite to test how our engine holds up against Cycles GPU (OptiX). To keep the comparison fair and grounded, I used the glTF USD Shader Ball asset, pure HDRI studio lighting (no extra lamps or suns), the default AgX color management transform, and matched render settings across both engines (64 samples, 12 max bounces, and OpenImageDenoise enabled).
The Goal Behind This Benchmark
The main purpose here is sanity checking our shader translations, lighting coordinates, and overall stability.
One of the recent fixes tackled an environment map rotation bug where our HDRI equirectangular mapping was rotated 90 degrees compared to Blender standard coordinates. Now the softbox reflections and environment alignment match Cycles properly.
Current State of Shaders
To be completely transparent: our shader system is an ongoing effort, and not every Blender node is 100% compatible or an exact 1:1 match just yet. There are still procedural textures, vector math edge cases, and curve evaluation quirks that we are ironing out in our translation and baking pipelines.
However, the core shading foundation is already solid:
- Principled BSDF: Metallic, roughness response, base color, and clearcoat layers are behaving consistently.
- Standard Closures: Dedicated Metallic, Glass (dielectric refraction), Diffuse, Sheen, and Emission nodes are now predictable and stable under varied lighting.
- Basic Texturing: Standard image maps and UV coordinates translate cleanly into the engine.
The focus right now is closing the remaining gaps on complex procedural nodes and ensuring that standard Blender material setups translate with minimal friction.
I would love to hear your thoughts, feedback, or any specific material stress tests you think I should run next.
Cheers!
-Farras



