diff --git a/context/bgf-format.md b/context/bgf-format.md index 08a55e2..e3a95d1 100644 --- a/context/bgf-format.md +++ b/context/bgf-format.md @@ -49,12 +49,14 @@ LOD whose band contains the camera distance. - **Textured** punch (arena walls/catwalks): black texels = HOLES (alpha-test in the opaque pass). Coplanar shells inside one LOD z-fight → depth-bias by submission ordinal. [T2] - **Texture-less** punch (the `*_cop` cockpit canopies: blakskn + `softer` ramp, NO texture tag - in the BMF — byte-verified, 238-byte BLXSKIN.BMF): the frame/window split is the GEOMETRY — - every `_cop` is an open strut lattice (38-59% boundary edges, all 12 mechs); rendered - single-sided with per-face INWARD winding orientation (the l/r torso patches are MIRRORED, so - no single global winding works) the struts are the dark frame and the openings show the world. - The old "canopy windows are punch texels" claim was WRONG — there is no texel to key. See - [[cockpit-view]]. [T2 render-verified in-game on Madcat vs gameplay footage] + in the BMF — byte-verified, 238-byte BLXSKIN.BMF): **the PUNCH-tagged patches ARE the + transparent WINDOWS** (the whole tagged geogroup renders as holes); the visible frame is only + the NON-punch geometry, itself an open strut lattice rendered single-sided with per-face + INWARD winding (the l/r torso patches are MIRRORED, so no single global winding works). + Verified by rendering every shell from its mech's AUTHORED eye (SKL [jointeye]) — the punch + panes sit exactly over the window apertures in all 8 mechs; all-punch canopies + (bhk1/loki/vulture/avatar) are authentically FRAMELESS. The old "canopy windows are punch + texels" claim was WRONG — there is no texel to key. See [[cockpit-view]]. [T2 in-game, all 8] ## Shading model (from libDPL DPLTYPES.H) Shading is selected PER-GEOMETRY by vertex type: diff --git a/context/cockpit-view.md b/context/cockpit-view.md index 9f3da76..3f772f8 100644 --- a/context/cockpit-view.md +++ b/context/cockpit-view.md @@ -5,7 +5,7 @@ status: living source_sections: "task #55 (2026-07-10); reference/decomp part_007.c/part_013.c/part_014.c/part_011.c; engine/MUNGA_L4/bgfload.cpp, L4VIDRND.cpp; game/reconstructed/btl4vid.cpp" related_topics: [rendering, bgf-format, gauges-hud, subsystems, decomp-reference] key_terms: [material-ramp, siteeyepoint] -open_questions: ["gyro eye-joint steady offset + hit-bounce (task #56)", "non-Madcat mechs blocked at rest eye position", "exact unlit ramp index for the frame colour (BT_COP_RAMP_L=0.08 is T3 tuned-to-footage)"] +open_questions: ["gyro tail: gait jolt/rumble [T3 gates], sway model, torso-pitch eye writer, damageForce fill", "exact unlit ramp index for the frame colour (BT_COP_RAMP_L=0.08 is T3 tuned-to-footage)"] --- # First-Person Cockpit: the *_cop Canopy + the Authentic Eyepoint @@ -41,9 +41,10 @@ Verified in-game on the Madcat against gameplay footage. [T2] - The shell SHOWS by default in the inside view (btl4vid.cpp ApplyViewSkeleton); `BT_HIDE_COCKPIT=1` hides it (diag). - **Wrong turns, recorded so they stay dead:** (a) "windows are punch texels" — no texel exists; - (b) dropping the PUNCH-tagged batches as "windshield glass" — the punch patch IS the visible - frame (dropping it removed the whole cockpit); (c) a view-direction face-cut heuristic — not - data-derivable, superseded by the lattice + winding treatment. + (b) "the punch patch IS the visible frame / drop-punch removes the cockpit" — an artifact of + testing with the broken pre-inverse eye; with the authentic eye the punch patches are plainly + the WINDOWS (see §resolved below) and dropping them is correct; (c) a view-direction face-cut + heuristic — not data-derivable, superseded by the lattice + winding + punch-drop treatment. ## The authentic eyepoint (decomp-verified [T1])