53 lines
1.7 KiB
Markdown
53 lines
1.7 KiB
Markdown
# Hibis Engine - Feature TODOs
|
|
## Core Module
|
|
### Base
|
|
- [ ] Base Renderer class
|
|
- [ ] Base Physics class
|
|
- [ ] Figure out how scenes should be handled
|
|
- [ ] Split other sections into seperate modules (renderers, physics)
|
|
- [ ] Application class (where the main loop is handled)
|
|
### 2D/3D
|
|
- [ ] Texture loading
|
|
- [ ] Model loading
|
|
## Audio Module
|
|
### Base
|
|
- [ ] OGG and WAV support (do first)
|
|
- [ ] Soundfont and Midi support (ideal)
|
|
- [ ] MP3 (later, can just ignore)
|
|
- [ ] Loop audio (with timepoints)
|
|
- [ ] Modify sound/pitch of outputted audio
|
|
### 2D/3D
|
|
- [ ] Position-based audio
|
|
## Hibis UI (NEEDS A NAME)
|
|
- [ ] GUI creation
|
|
- [ ] Text Object (rendering via FreeType2)
|
|
## Aethiopicus (Vulkan renderer, 2D and 3D)
|
|
### Base
|
|
- [X] Window creation (via GLFW)
|
|
- [ ] Basic deferred renderering system
|
|
- [ ] Render present
|
|
- [ ] Clear renderer
|
|
- [ ] Figure out how the renderer should even work
|
|
- [ ] (DO FOR A VERY LATE VERSION) Replace GLFW with a custom window creator to reduce bloat (I will not be using most of GLFW's shit)
|
|
### 2D
|
|
- [ ] Texture drawing
|
|
- [ ] TileMaps
|
|
- [ ] TileMap Culling
|
|
### 3D
|
|
- [ ] Model drawing
|
|
- [ ] Model Culling (hiding what you can't see)
|
|
- [ ] Level of Detail (3D ONLY)
|
|
## Hibis Physics (NEED A NAME)
|
|
### Base
|
|
- [ ] Physics Shape creation
|
|
- [ ] Option to *allow* for Physics Shapes to be able to be drawn (on by default, both compile time and run time, turn off at compile time via a flag (`-DNoPhysShapeDraw=1`?)) (official releases will include PhysShapeDraw capabilities)
|
|
### 2D/3D
|
|
- [ ] Raycasting
|
|
- [ ] Collision via raycasting
|
|
- [ ] Space type-specific shapes
|
|
## Examples
|
|
- [ ] Example: UI test
|
|
- [ ] Example Game: Megaman clone (external repo)
|
|
- [ ] Stress test using sprites
|
|
- [ ] Stress test using models
|