| Field | Value |
|---|---|
| Target | brender |
| Status | completed |
| Type | cmake-datafile-model-render-smoke |
| Host | Windows local probe with Visual Studio 18 2026 and MSVC 19.50.35721.0, Win32 Debug target |
| Harness | brender-v132-portable-core-plan |
| Build | brender-v132-build-environment |
| Reproduction | brender-critical-edition-source-build |
| Exit Code | 0 |
| Transcript | external-workspace:C:\dev\public\engine-revival-workspaces\brender-v132-portable-core-build-model-smoke-2026-07-03.txt; external-workspace:C:\dev\public\engine-revival-workspaces\brender-v132-portable-core-ctest-model-smoke-2026-07-03.txt |
engine-revival materialize-brender-harness ...; cmake -S <harness> -B <build> -A Win32 -DBRENDER_SOURCE_DIR=<checkout>; cmake --build <build> --config Debug --target brender_core_model_smoke; ctest --test-dir <build> -C Debug --output-on-failure (test loads ${BRENDER_SOURCE_DIR}/dat/duck.dat)Built and ran brender_core_model_smoke.exe with exit 0 loading dat/duck.dat (id 'Object03', 74 verts, 108 faces, 3756 lit pixels) and additionally rendered teapot/skull/torus period models; passed 8/8 CTest cases with -C Debug.
The materialized harness, build tree, smoke executables, the brender_core_float library, and the generated PPM render output were kept outside this metadata repo. The BRender model datafiles were read in place from the public source checkout and are not copied into this repo. No generated binaries, vendored BRender source or assets, private material, or restricted SDK content are committed.
This attempt closes the loop from framework startup to real BRender content rendering. The generated brender_core_model_smoke target loads a real period model from a native binary BRender datafile with BrModelLoad (which needs nothing beyond BrBegin: its chunk-handler table is static and file I/O uses BRender's default stdio filesystem), auto-frames the model from its own vertex bounds, builds a world/camera/model actor tree, projects it with the engine's BrActorToScreenMatrix4, and renders every face solid, flat-shaded and depth-buffered with the portable rasterizer. Verified against several period assets read in place from the public checkout's dat/ directory: duck.dat (74 verts, 108 faces, the CTest case), plus teapot.dat (821 verts, 1560 faces), skull.dat (702 verts, 1243 faces), and torus.dat (128 verts, 256 faces) all render correctly, so the rasterizer scales from tens to over a thousand faces with correct per-pixel occlusion. All rendering is pure C over the memory pixelmap; the assembly softrend driver is not used and no BRender asset is copied into the repo. The duck case passed as CTest case 8 of 8 under a Visual Studio Win32 Debug target. It does not claim multi-part model assembly, original material/texture resolution, BRender's own renderer, x64 portability, or release packaging.
- the model smoke still requires a 32-bit C target
- BrModelLoad loads a single model chunk per call; multi-part datafiles such as coupe.dat need BrModelLoadMany to assemble every part
- the loaded model is shaded flat by the portable rasterizer using computed normals; its original materials and textures are not resolved (BrMapFindHook/BrMaterialFindHook not registered)
- rendering is the portable C rasterizer, not BRender's period softrend renderer
- load multi-part datafiles with BrModelLoadMany and render whole scenes (e.g. the full coupe)
- register BrMaterialFindHook/BrMapFindHook to resolve and render the models' original materials and textures
- package the portable render path and a model viewer as the brender-archival flagship deliverable
- keep generated binaries and PPM output out of git; read model datafiles in place from the public checkout
| Source | Type | Confidence | Scope | URL |
|---|---|---|---|---|
| Argonaut Blazing Render (BRender) v1.3.2 source repository | repository | high | BRender 1.3.2 source availability, provenance, and MIT license posture | https://github.com/foone/BRender-v1.3.2 |
| BRender preservation index | curated-index | high | BRender source-release and binary-SDK index | https://blazingrender.net/ |