Commit Description:
Various UI improvements.
Commit Description:
Various UI improvements.
File last commit:
Show/Diff file:
Action:
FNA/src/FNAPlatform/README
23 lines | 1.2 KiB | text/plain | TextLexer
This is FNAPlatform, the platform abstraction layer and implementations for FNA.
The way FNA platforms are written is by implementing the following interfaces:
1. FNAPlatform
- Write implementations of the delegate types listed in FNAPlatform.cs
- Assign the new functions in the FNAPlatform static constructor
2. IGLDevice
- Implement the interfaces listed in IGLDevice.cs
- When implementing FNAPlatform.CreateGLDevice, use your new GLDevice
Determining platform backends at runtime allows us to have portability across
all targets with a single binary, which is convenient for targeting multiple
platforms as well as multiple backends for each platform all simultaneously.
The expectation is that new platforms will add code exclusively to this folder.
Some interfaces may need to change for new platforms, but changing the interface
should be as simple as making the modifications at the interface layer and
fixing the code in both the XNA reimplementation code as well as each platform
backend file that depends on those interfaces, all of which should throw errors
at compile time right away, regardless of your current target platform.
When submitting new platforms, please test ALL platforms and ALL backends!