mirror of
https://github.com/mitch030504/Wiicompiled_VR_Frame.git
synced 2026-10-06 08:00:25 +02:00
The panel was drawn into the eye images, so below a 1.00x OpenXR resolution its 1440x1080 canvas was minified into a small eye region and the text became hard to read. It is now submitted as a quad layer of its own over the scene's projection or menu quad, which the compositor samples directly at any render scale. Each backend (D3D12, Windows Vulkan, Quest) makes the panel's swapchain pair (plus two shared buffers on the Quest) the first time the panel opens. While it is open, the frame hands Aurora one more stereo target after the eyes, which the bridge fills with the panel texture or a transparent image. The panel image follows the eyes' displayed/retained pairing, so a cancelled frame never shows an unwritten panel. The quad hangs where the pointer's hits are tested. Aurora leaves the panel out of the eyes in layer mode, and a backend that cannot make the layer falls back to drawing it into the eyes. On the Quest, debug.wiicompiled.panel_layer 0 selects the old path at run time. Measured there at a race start (render_scale 0.8), the layer costs nothing while the panel is closed; while it is open, app GPU time is 10.5 ms against 9.7 ms drawn into the eyes, with unchanged frame rates. The replay tests cover lazy creation, cancelled frames, closed and unplaced panels, and render-first pacing on D3D12 and Windows Vulkan. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Aurora is a source-level GameCube & Wii compatibility layer intended for use with game decompilation projects.
Originally developed for use in Metaforce, a Metroid Prime reverse engineering project. It now powers several completed source ports, including Dusklight.
Features
- Application layer using SDL3
- Runs on Windows, Linux, macOS, iOS, tvOS, Android
- GX compatibility layer
- Graphics API support: D3D12, Vulkan, Metal
- Highly accurate and performant GX implementation
- Robust pipeline cache system with "transferable" cache support for releases
- Dolphin-compatible texture pack support
- Widescreen & resolution scaling support
- Custom APIs for offscreen rendering
- PAD compatibility layer
- Utilizes
SDL_Gamepadfor wide controller support, including GameCube controller adapters - Automatically saves and loads controller bindings and port mappings
- Gyro & mouse support
- Utilizes
- DVD compatibility layer
- Utilizes nod to support all GameCube/Wii disc image types, including RVZ
- CARD compatibility layer
- Full compatibility with Dolphin
.gciand.rawfor game saves
- Full compatibility with Dolphin
- Dear ImGui built-in for simple debug UIs
Graphics
The GX compatibility layer is built on top of WebGPU, a cross-platform graphics API abstraction layer. WebGPU allows targeting all major platforms simultaneously with minimal overhead. The WebGPU implementation used is Chromium's Dawn.
Building
See docs/building.md for build instructions, CMake integration, and configuration options.
License
Aurora is licensed under the MIT License.

