Three prepared surface scenes put material detail into the renderer itself. The floor, stone and copper patterns modify albedo and roughness independently through the existing editable node graph. There are no external image dependencies, baked lighting photographs or new BSDF implementations. See the native captures.
| Scene | Composition | What to inspect |
|---|---|---|
| 110 · Tessellated atelier | Ivory/charcoal stone floor, brass, clear glass and petrol enamel | A strong floor pattern provides perspective and a reference through the glass. Fine grain also changes the finish. |
| 111 · Walnut gallery | Stretched walnut grain, mineral slabs, warm copper and a cool glass sphere | Directional grain, soft mineral variation, and broad source reflections provide different material cues. |
| 112 · Obsidian cabinet | Dark fine-grained floor, copper panels and curved subjects | The rectangular sources reveal spatial roughness variation, which changes reflection sharpness as well as colour. |
Open directly
From this working project folder, run Showcases.bat -Scene 110 (or 111, 112). The scene menu also lists all three under Technique showcases / paired beauty scenes. The launcher picks the newest executable built inside this project and creates an isolated session; it preserves the ordinary prism.json and any existing viewer session.
Each preset selects the GPU path tracer, a composed camera, physical rectangular light sources, a bounded exposure, and no medium. The paired preview uses a 512 × 512 material bake per textured entity. Select a floor or subject and open its node editor to inspect or change the same graph used by the renderer. The initial render does not require opening the node editor.
The new prepared graph is scoped to these three scenes. Switching among them installs a fresh recipe; reloading restores its authored texture settings. Leaving them restores the graph that was active before entering, rather than leaking the stone floor onto an unrelated scene. This preserves the existing editor's previous-graph behaviour outside these presets.
Support and limits
- GPU path tracer: the intended reference route for these scenes. The geometry consists of finite quads, analytic boxes and spheres already supported by this backend. Albedo and roughness use the existing material bake.
- Rasterizer: available as a framing comparison. Its reflection/refraction and lighting approximations are not equivalent to the path-traced image.
- Other native integrators: not presented as texture-parity comparisons here. They have different material/node support, so the paired launcher does not advertise them for these three presets.
- The textures provide colour and roughness detail, not displacement or normal mapping. Fine details are limited by the material bake resolution and final pixel sampling. Walnut and mineral are procedural visual studies, not measured material datasets.
Reproducible validation
The additive scene work started from AIO commit 3512d683a7f2eca6f17e2f61892bdaebdb9303eb, with checkpoint branch checkpoint/pre-textured-scenes-20260913. The original C:/CC_RadianceLab backup was left unchanged. The old working-folder executable is retained in .work/textured-scenes-checkpoint/Prism.exe.
PrismShowcaseTest passed 689,113 checks across all 25 registry entries, source/mesh geometry, scene pairings, plus finite bounded procedural reflectance, nonzero spatial roughness variation and static (non-animated) graph recipes. Native image captures use the real GPU tracer with the node editor closed: 996 × 700, 512 samples/pixel, retaining float films locally and publishing binary hashes, configuration and output logs. Capture timing includes startup and material baking; it is not a steady-frame benchmark. Fresh starts were rendered for all three scenes; the scoped enter/reload/leave graph ownership was also reviewed in the scene-load hook.
The first captures revealed two pre-existing material inconsistencies. Direct-light NEE evaluated the base material even though continuation sampling and its PDF already used the texture's albedo/roughness; this washed out the pattern under direct illumination. The current-hit NEE calls now use those same sampled properties. The material-id-only wrapper remains for stored BDPT vertices, so this is not a claim of full node-texture parity for every bidirectional path connection. Ordinary material-baked quads also now receive the mesh-UV basis previously reserved for projector bakes, avoiding world-distance UV tiling of a single authored surface.
The untextured Amber Hour scene was captured before and after at the same 512 samples/pixel. RGB means differ by at most 1.8 × 10⁻⁶; relative image RMSE is 0.127%. It is a near-equal GPU regression image, not a bit-identity claim. Numerical comparison. The pre-fix native runtimes and intermediate films remain under .work/textured-scenes-evidence/ for inspection.
Build and capture in this working folder:
cmake -S . -B build-local -G "Visual Studio 17 2022" -A x64
cmake --build build-local --config Release --target PrismShowcaseTest Prism --parallel 6
./build-local/bin/Release/PrismShowcaseTest.exe
python docs/showcases/render_showcases.py .work/new-textured-captures --scenes 110,111,112 --samples 512 --binary build-local/bin/Release/Prism.exe
The copied historical build/CMakeCache.txt names the backup checkout. Use the isolated build-local directory above or the existing safe rebuild launcher; do not run CMake directly against that copied historical cache.