1.7 KiB
1.7 KiB
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
- 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