- Setup Contexts to pull more info from the GPU

- Started outlining OpenGL implementation
This commit is contained in:
2025-07-28 21:06:52 -04:00
parent 7aafa4c9aa
commit 3d4ea4398a
11 changed files with 217 additions and 46 deletions

View File

@@ -162,22 +162,31 @@ management would be used.
Platform support will be implemented in the following order:
- Linux/BSD
- Wayland
- OpenGL (EGL)
- OpenGL (EGL)
- XKB
- PulseAudio
- Vulkan
- X11
- OpenGL (EGL)
- ALSA
- Vulkan
- Microsoft Windows
- XInput
- OpenGL
- DirectSound
- OpenGL (WGL)
- WASAPI
- Vulkan
- Android
- OpenGL ES
- macOS
- iOS
- AAudio
- openslES
- macOS/iOS
- cocoa
- OpenGL
- Core Audio
- Vulkan
- Metal
Linux Wayland will be implemented first. Once setup, the core engine will be implemented and tested on top of Wayland.
Once the engine is in a stable state, then support for other platforms will be resumed.
Most consoles will never get official platform support due to NDAs which conflict with the principles of this engine.
fennec will avoid using proprietary libraries except when strictly necessary, such as support for Windows and MacOS.
@@ -328,8 +337,8 @@ in their operation order:
- AI
- **Physics**
- Newtonian Commit
- Apply Forces (Updates Acceleration and Torque)
- Apply Torque & Acceleration (Updates Velocities)
- Apply Forces (Updates Accelerations)
- Acceleration (Updates Velocities)
- Apply Velocities (Updates Position and Rotation)
- Constraint Resolution
- Collision Detection
@@ -453,6 +462,15 @@ This allows the GPU to draw every single deferred rendered mesh in a single draw
Specifications for debugging views via early breaks are included in the stages.
There will be three profiles for OpenGL implementation:
- modern
- fallback
- legacy
All profiles will have the same feature set, however their implementations will differ.
The modern context will use up-to-date features to get as much performance out of the pipeline as
possible.
### Structures (`gfx3d`)