diff --git a/TODO.md b/TODO.md index 8b812ca..c643c0c 100644 --- a/TODO.md +++ b/TODO.md @@ -1,40 +1,52 @@ # Hibis Engine - Feature TODOs ## Core Module -- [ ] BetterC compatibility -- [ ] Texture loading -- [ ] Model loading +### Base - [ ] Base Renderer class - [ ] Base Physics class - [ ] Figure out how scenes should be handled -- [ ] Split other sections into seperate libraries (renderers, physics) +- [ ] 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) -- [ ] MP3 (later) +- [ ] 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) -## RGLCore (2D AND 3D) -- [X] Window creation -- [ ] Renderer creation -- [ ] Render present -- [ ] 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 +## 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 -- [ ] Culling (hiding what you can't see) -- [ ] Level of Detail (3D ONLY, might not impl (developers using Hibis could do this themselves)) +- [ ] 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 -- [ ] 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`?)) +- [ ] Space type-specific shapes ## Examples - [ ] Example: UI test -- [ ] Example Game: Megaman clone +- [ ] Example Game: Megaman clone (external repo) - [ ] Stress test using sprites - [ ] Stress test using models diff --git a/test/test.frag b/test/test.frag deleted file mode 100644 index 98c4626..0000000 --- a/test/test.frag +++ /dev/null @@ -1,6 +0,0 @@ -#version 330 core -out vec4 FragColor; - -void main() { - FragColor = vec4(0.8f, 0.3f, 0.02f, 1.0f); -} diff --git a/test/test.vert b/test/test.vert deleted file mode 100644 index 4ccd2c9..0000000 --- a/test/test.vert +++ /dev/null @@ -1,6 +0,0 @@ -#version 330 core -layout (location = 0) in vec3 aPos; - -void main() { - gl_Position = vec4(aPos, 1.0); -}