Sedulous is a framework that can be used to create games and other applications. It is designed to be modular, allowing you to use just the bits you want.
Sedulous comprises of the following modules:
This is a standalone library providing math, collections and logging utilities, as well as useful type extensions.
This is the heart of the framework and builds on the foundation library. It houses the framework context and provides access to the framework lifecycle, resources and systems.
This is a library providing abstract low level access to graphics resources.
The OpenGL implementation of the RHI abstractions.
This library provides access to the audio device, audio resource management, and audio playback.
The OpenAL implementation of the audio abtsractions.
This is a high level graphics library built on top of the RHI. It supports PBR and is used for rendering meshes, sprites, particles, etc...
This library is an abstraction over platform concerns like windowing, input, etc... These abstractions are expected to be implemented by a backend targeting a specific OS or platform.
This library provides implementations for some platform abstractions. It is expected that this library will be extended by another library that targets a specific platform class. E.g.: Desktop, Web, etc...
The desktop implementation of platform. It makes use of the SDL2 support library for implementing most platform concerns.
This library is in the very early stages of development and is not yet useful for others.
Below is a list of items that are currently being worked on.
- Collections
- Extensions
- Job System
- Logging
- Mathematics
- Utilities
- Events
- Context/Life Cycle
- Subsystems
- Asset System
- Windowing
- Keyboard
- Mouse
- Game Pad
- Touch
- Desktop Backend
- Web Backend
- Abstraction
- Vulkan
- OpenGL
- DX12
- Abstraction
- OpenAL
- Mesh Rendering
- Font Rendering
- Sprite Rendering
- Particle Systems
- Bindings
- Windowing
- Input
- Context hosting