Show More
Commit Description:
Various UI improvements.
Commit Description:
Various UI improvements.
References:
File last commit:
Show/Diff file:
Action:
FNA/src/FNAPlatform/README
23 lines | 1.2 KiB | text/plain | TextLexer
23 lines | 1.2 KiB | text/plain | TextLexer
r0 | 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! | ||||