# Player glass transparency preview, r316

## Change

The player renderer now sorts `glass_vehicle` batches after the opaque car
body/interior and draws them with a tinted alpha of 0.76. Existing blue-gray
material color, sky panorama reflection, local environment reflection, and
specular highlights remain active. The side-view screenshot in review item 397
shows the interior and city through the side glass.

This is a WebGL appearance approximation, not a recovered retail opacity. The
selected opacity deliberately stays in one named constant in `viewer.js` so a
later correlated retail capture can replace it without changing the material
export.

## Retail evidence and limit

The installed PC executable's `IDI_CAR_FX` programmable shader calculates
view-dependent alpha for the car glass. The WINDSHIELD material helper sets
alpha minimum/range values of 0.3 and 0.7; the shader then multiplies those
values by the bound texture alpha and a view/normal term. Its effect defaults
are zero placeholders, and the installed car texture catalogs do not contain
the referenced paint or glass images. The fixed-function path also produces
different alpha behavior. See
[`car-programmable-shaders-r267.md`](car-programmable-shaders-r267.md) and
[`car-material-stages-r267.md`](car-material-stages-r267.md).

The glass layer's actual texture alpha, selected effect technique, and live
blend descriptor remain uncaptured because XP is not at gameplay. Therefore
the preview does not copy the retail alpha function. It makes the exported
windows read as tinted glass in the drivable WebGL view while those inputs are
missing.
