hibiscus/TODO.md

41 lines
1.3 KiB
Markdown

# Hibis Engine - Feature TODOs
## Core
- [ ] BetterC compatibility
- [ ] Texture loading
- [ ] Model loading
- [ ] Base Renderer class
- [ ] Base Physics class
- [ ] Base Node class
- [ ] Base UI Node class
- [ ] Base Audio Playback Node class
- [ ] Split other sections into seperate libraries (renderers, physics)
## Audio
- [ ] OGG and WAV support (do first)
- [ ] MP3 (later)
- [ ] Audio playing nodes
## Hibis UI (NEED A NAME)
- [ ] GUI creation
- [ ] Text Object (rendering via SDL2_TTF (RSDL) or FreeType2 (EVERYTHING ELSE))
## RSDL (2D ONLY)
- [X] Window creation
- [X] Renderer creation
- [X] Render present
- [X] Clear renderer
- [ ] Texture drawing
- [ ] Draw section of texture from sprite sheet
## RVK (2D AND 3D, NEEDS A NAME)
- [ ] Window creation (either using GLFW or a custom window creator)
- [ ] Basic deferred renderer
- [ ] Render present
- [ ] Clear renderer
- [ ] Texture drawing
- [ ] Model drawing
- [ ] Culling (hiding what you can't see)
- [ ] Level of Detail (3D ONLY, might not impl (developers using Hibis could do this themselves))
## Hibis Physics (NEED A NAME)
- [ ] Physics Shape creation
- [ ] Collision via raycasting
- [ ] 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 version(`-version=NoPhysShapeDraw`?))
## Examples
- [ ] Example Game: Megaman clone