mirror of
https://github.com/Cesarus85/ringfall-mjolnir-vr.git
synced 2026-10-23 08:00:24 +02:00
The Quest 3 at 90 Hz with graphics "high" spends 5-9 ms of GPU a frame on the eyes and shows stale frames (ASW, doubled pictures as the head turns); "medium" holds, so the frame is short of GPU time. The eyes are now drawn at full detail about each lens's centre and coarser towards their edges with GL_QCOM_texture_foveated (the Quest's Adreno 740), where the lenses blur them anyway. - vr.foveation "off", "low", "medium" (the default) or "high", a row on the VR options' MORE page (dim where the GPU has no foveation, as the Steam Frame's zink); read as it changes. - The focal point of each eye is its lens centre, tangent 0, in the picture's coordinates: off the middle, the Quest's views being asymmetric. Full detail within sqrt(1 + area) / gain of it (0.69, 0.58, 0.43 of the half width), down to a least density of 1/2, 1/4, 1/8. - Only the eyes' targets: the multiview layers, which nothing else draws into; one eye at a time, the back buffer only from the eye's camera to its copy into the headset's image, so the HUD, menus, scope, crosshair and names drawn into it after stay at full detail. A texture is first foveated when the setting is not off (it cannot be undone); "off" afterwards sets the gain to 0, full detail everywhere. - The GL ES log line names foveation, GL_KHR_parallel_shader_compile and the program binary formats the driver has; the first foveated target logs the extension's features and focal points, vr.c the level and the lens centres. Checked: the APK builds; the desktop and web paths compile (no foveation code outside HALO_ANDROID). Not tried on a headset. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>