Update README.md

This commit is contained in:
Luke Street
2026-05-05 12:12:09 -06:00
parent bd464e536d
commit 6f8ebcb52e
4 changed files with 29 additions and 285 deletions
-266
View File
@@ -1,266 +0,0 @@
# GX API Support
- GXBump
- [x] GXSetNumIndStages
- [x] GXSetIndTexOrder
- [x] GXSetIndTexCoordScale
- [x] GXSetIndTexMtx
- [x] GXSetTevIndirect
- [x] GXSetTevDirect
- [x] GXSetTevIndWarp
- [ ] GXSetTevIndTile
- [ ] GXSetTevIndBumpST
- [ ] GXSetTevIndBumpXYZ
- [ ] GXSetTevIndRepeat
- GXCull
- [x] GXSetScissor
- [x] GXSetCullMode
- [ ] GXSetCoPlanar
- GXDispList
- [x] GXBeginDisplayList (stub)
- [x] GXEndDisplayList (stub)
- [x] GXCallDisplayList
- GXDraw
- [ ] GXDrawCylinder
- [ ] GXDrawTorus
- [ ] GXDrawSphere
- [ ] GXDrawCube
- [ ] GXDrawDodeca
- [ ] GXDrawOctahedron
- [ ] GXDrawIcosahedron
- [ ] GXDrawSphere1
- [ ] GXGenNormalTable
- GXFifo
- [x] GXGetGPStatus (stub)
- [ ] GXGetFifoStatus
- [x] GXGetFifoPtrs (stub)
- [x] GXGetCPUFifo (stub)
- [x] GXGetGPFifo (stub)
- [ ] GXGetFifoBase
- [ ] GXGetFifoSize
- [ ] GXGetFifoLimits
- [ ] GXSetBreakPtCallback
- [ ] GXEnableBreakPt
- [ ] GXDisableBreakPt
- [x] GXInitFifoBase (stub)
- [x] GXInitFifoPtrs (stub)
- [ ] GXInitFifoLimits
- [x] GXSetCPUFifo (stub)
- [x] GXSetGPFifo (stub)
- [x] GXSaveCPUFifo (stub)
- [ ] GXSaveGPFifo
- [ ] GXRedirectWriteGatherPipe
- [ ] GXRestoreWriteGatherPipe
- [ ] GXSetCurrentGXThread
- [ ] GXGetCurrentGXThread
- [ ] GXGetOverflowCount
- [ ] GXResetOverflowCount
- GXFrameBuffer
- [x] GXAdjustForOverscan
- [x] GXSetDispCopySrc (stub)
- [x] GXSetTexCopySrc
- [x] GXSetDispCopyDst (stub)
- [x] GXSetTexCopyDst
- [ ] GXSetDispCopyFrame2Field
- [ ] GXSetCopyClamp
- [x] GXSetDispCopyYScale (stub)
- [x] GXSetCopyClear
- [x] GXSetCopyFilter (stub)
- [x] GXSetDispCopyGamma (stub)
- [x] GXCopyDisp (stub)
- [x] GXCopyTex
- [ ] GXGetYScaleFactor
- [ ] GXGetNumXfbLines
- [ ] GXClearBoundingBox
- [ ] GXReadBoundingBox
- GXGeometry
- [x] GXSetVtxDesc
- [x] GXSetVtxDescv
- [x] GXClearVtxDesc
- [x] GXSetVtxAttrFmt
- [ ] GXSetVtxAttrFmtv
- [x] GXSetArray
- [x] GXBegin
- [x] GXEnd
- [x] GXSetTexCoordGen2
- [x] GXSetNumTexGens
- [ ] GXInvalidateVtxCache
- [ ] GXSetLineWidth
- [ ] GXSetPointSize
- [ ] GXEnableTexOffsets
- GXGet
- [ ] GXGetVtxDesc
- [ ] GXGetVtxDescv
- [ ] GXGetVtxAttrFmtv
- [ ] GXGetLineWidth
- [ ] GXGetPointSize
- [x] GXGetVtxAttrFmt
- [ ] GXGetViewportv
- [x] GXGetProjectionv
- [ ] GXGetScissor
- [ ] GXGetCullMode
- [x] GXGetLightAttnA
- [x] GXGetLightAttnK
- [x] GXGetLightPos
- [x] GXGetLightDir
- [x] GXGetLightColor
- [x] GXGetTexObjData
- [x] GXGetTexObjWidth
- [x] GXGetTexObjHeight
- [x] GXGetTexObjFmt
- [x] GXGetTexObjWrapS
- [x] GXGetTexObjWrapT
- [x] GXGetTexObjMipMap
- [ ] GXGetTexObjAll
- [ ] GXGetTexObjMinFilt
- [ ] GXGetTexObjMagFilt
- [ ] GXGetTexObjMinLOD
- [ ] GXGetTexObjMaxLOD
- [ ] GXGetTexObjLODBias
- [ ] GXGetTexObjBiasClamp
- [ ] GXGetTexObjEdgeLOD
- [ ] GXGetTexObjMaxAniso
- [ ] GXGetTexObjLODAll
- [ ] GXGetTexObjTlut
- [ ] GXGetTlutObjData
- [ ] GXGetTlutObjFmt
- [ ] GXGetTlutObjNumEntries
- [ ] GXGetTlutObjAll
- [ ] GXGetTexRegionAll
- [ ] GXGetTlutRegionAll
- GXLighting
- [x] GXInitLightAttn
- [x] GXInitLightAttnA
- [x] GXInitLightAttnK
- [x] GXInitLightSpot
- [x] GXInitLightDistAttn
- [x] GXInitLightPos
- [x] GXInitLightColor
- [x] GXLoadLightObjImm
- [ ] GXLoadLightObjIndx
- [x] GXSetChanAmbColor
- [x] GXSetChanMatColor
- [x] GXSetNumChans
- [x] GXInitLightDir
- [x] GXInitSpecularDir
- [x] GXInitSpecularDirHA
- [x] GXSetChanCtrl
- GXManage
- [x] GXInit (stub)
- [ ] GXAbortFrame
- [ ] GXSetDrawSync
- [ ] GXReadDrawSync
- [ ] GXSetDrawSyncCallback
- [x] GXDrawDone (stub)
- [x] GXSetDrawDone (stub)
- [ ] GXWaitDrawDone
- [x] GXSetDrawDoneCallback (stub)
- [ ] GXSetResetWritePipe
- [x] GXFlush (stub)
- [ ] GXResetWriteGatherPipe
- [x] GXPixModeSync (stub)
- [x] GXTexModeSync (stub)
- [ ] IsWriteGatherBufferEmpty
- [ ] GXSetMisc
- GXPerf
- [ ] GXSetGPMetric
- [ ] GXClearGPMetric
- [ ] GXReadGPMetric
- [ ] GXReadGP0Metric
- [ ] GXReadGP1Metric
- [ ] GXReadMemMetric
- [ ] GXClearMemMetric
- [ ] GXReadPixMetric
- [ ] GXClearPixMetric
- [ ] GXSetVCacheMetric
- [ ] GXReadVCacheMetric
- [ ] GXClearVCacheMetric
- [ ] GXReadXfRasMetric
- [ ] GXInitXfRasMetric
- [ ] GXReadClksPerVtx
- GXPixel
- [x] GXSetFog
- [x] GXSetFogColor
- [ ] GXInitFogAdjTable
- [ ] GXSetFogRangeAdj
- [x] GXSetBlendMode
- [x] GXSetColorUpdate
- [x] GXSetAlphaUpdate
- [x] GXSetZMode
- [ ] GXSetZCompLoc
- [x] GXSetPixelFmt (stub)
- [x] GXSetDither (stub)
- [x] GXSetDstAlpha
- [ ] GXSetFieldMask
- [ ] GXSetFieldMode
- GXTev
- [x] GXSetTevOp
- [x] GXSetTevColorIn
- [x] GXSetTevAlphaIn
- [x] GXSetTevColorOp
- [x] GXSetTevAlphaOp
- [x] GXSetTevColor
- [x] GXSetTevColorS10
- [x] GXSetAlphaCompare
- [x] GXSetTevOrder
- [ ] GXSetZTexture
- [x] GXSetNumTevStages
- [x] GXSetTevKColor
- [x] GXSetTevKColorSel
- [x] GXSetTevKAlphaSel
- [x] GXSetTevSwapMode
- [x] GXSetTevSwapModeTable
- GXTexture
- [x] GXInitTexObj
- [x] GXInitTexObjCI
- [x] GXInitTexObjLOD
- [x] GXInitTexObjData
- [x] GXInitTexObjWrapMode
- [x] GXInitTexObjTlut
- [ ] GXInitTexObjFilter
- [ ] GXInitTexObjMaxLOD
- [ ] GXInitTexObjMinLOD
- [ ] GXInitTexObjLODBias
- [ ] GXInitTexObjBiasClamp
- [ ] GXInitTexObjEdgeLOD
- [ ] GXInitTexObjMaxAniso
- [ ] GXInitTexObjUserData
- [ ] GXGetTexObjUserData
- [x] GXLoadTexObj
- [x] GXGetTexBufferSize
- [x] GXInitTlutObj
- [x] GXLoadTlut
- [ ] GXInitTexCacheRegion
- [ ] GXInitTexPreLoadRegion
- [ ] GXInitTlutRegion
- [ ] GXInvalidateTexRegion
- [x] GXInvalidateTexAll (stub)
- [ ] GXPreLoadEntireTexture
- [ ] GXSetTexRegionCallback
- [ ] GXSetTlutRegionCallback
- [ ] GXLoadTexObjPreLoaded
- [ ] GXSetTexCoordScaleManually
- [ ] GXSetTexCoordCylWrap
- [ ] GXSetTexCoordBias
- GXTransform
- [x] GXSetProjection
- [ ] GXSetProjectionv
- [x] GXLoadPosMtxImm
- [ ] GXLoadPosMtxIndx
- [x] GXLoadNrmMtxImm
- [ ] GXLoadNrmMtxImm3x3
- [ ] GXLoadNrmMtxIndx3x3
- [x] GXSetCurrentMtx
- [x] GXLoadTexMtxImm
- [ ] GXLoadTexMtxIndx
- [ ] GXProject
- [x] GXSetViewport
- [x] GXSetViewportJitter
- [ ] GXSetZScaleOffset
- [ ] GXSetScissorBoxOffset
- [ ] GXSetClipMode
- GXVert
- [x] GXPosition\[n]\[t]
- [x] GXNormal\[n]\[t]
- [x] GXColor\[n]\[t]
- [x] GXTexCoord\[n]\[t]
+29 -19
View File
@@ -1,32 +1,42 @@
# Aurora
<div align="center">
<img src="assets/aurora.png" alt="Logo" width="640">
</div>
Aurora is a source-level GameCube & Wii compatibility layer intended for use with game reverse engineering projects.
Aurora is a source-level GameCube & Wii compatibility layer intended for use with game decompilation projects.
Originally developed for use in [Metaforce](https://github.com/AxioDL/metaforce), a Metroid Prime reverse engineering
project.
Originally developed for use in [Metaforce](https://github.com/AxioDL/metaforce), a Metroid Prime reverse engineering project.
It now powers several completed source ports, including [Dusk](https://github.com/TwilitRealm/dusk).
### Features
- Application layer using SDL3
- Runs on Windows, Linux, macOS, iOS, tvOS, Android
- GX compatibility layer
- Graphics API support: D3D12, Vulkan, Metal
- Application layer using SDL
- Runs on Windows, Linux, macOS, iOS, tvOS, Android
- Audio support with SDL_audio
- 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_GameController for wide controller support, including GameCube controllers.
- *Planned: Wii remote support*
- [Dear ImGui](https://github.com/ocornut/imgui) built-in for UI
- Utilizes `SDL_Gamepad` for wide controller support, including GameCube controller adapters
- Automatically saves and loads controller bindings and port mappings
- Gyro & mouse support
- DVD compatibility layer
- Utilizes [nod](https://github.com/encounter/nod) to support all GameCube/Wii disc image types, including RVZ
- CARD compatibility layer
- Full compatibility with Dolphin `.gci` and `.raw` for game saves
- [Dear ImGui](https://github.com/ocornut/imgui) built-in for simple debug UIs
- [RmlUi](https://github.com/mikke89/RmlUi) built-in for full-fledged HTML/CSS-based UIs
### GX
### Graphics
The GX compatibility layer is built on top of [WebGPU](https://www.w3.org/TR/webgpu/), a cross-platform graphics API
abstraction layer. WebGPU allows targeting all major platforms simultaneously with minimal overhead.
abstraction layer. WebGPU allows targeting all major platforms simultaneously with minimal overhead. The WebGPU
implementation used is Chromium's [Dawn](https://dawn.googlesource.com/dawn/).
Currently, the WebGPU implementation used is Chromium's [Dawn](https://dawn.googlesource.com/dawn/).
![Screenshot](assets/screenshot.png)
See [GX API support](GX.md) for more information.
### License
### PAD
The PAD compatibility layer utilizes SDL_GameController to automatically support & provide mappings for hundreds of
controllers across all platforms.
Aurora is licensed under the [MIT License](LICENSE).
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 586 KiB