Skip to content
This repository has been archived by the owner on Sep 8, 2023. It is now read-only.

Platforms

Noel Berry edited this page Mar 3, 2020 · 8 revisions

Platform Modules implement core Foster Modules (currently System, Graphics, and Audio). The Foster Framework is abstracted so that it doesn't care how the Modules are implemented. This makes it easier to swap out different Platforms without changing any Framework or User code (ex. using SDL2 instead of GLFW, or OpenGL instead of DirectX)

System Modules

The System Module is used to manage Windows and handle Input. The current implementations are:

  • GLFW: Uses GLFW 3.0 for Windowing and Input devices
  • SDL2: Uses SDL2 for Windowing and Input devices

Graphics Modules

The Graphics Module is used for rendering things to the screen and handling graphical resources (such as Textures, Meshes, Shaders, etc). The current implementations are:

  • OpenGL: Uses modern OpenGL for rendering
  • Vulkan: (incomplete)

Currently Shaders must be written independently for each implementation. At some point I would like to streamline this, but it's a really tricky problem.

Audio Modules

This API is currently undefined and no implementations have been written.

Clone this wiki locally