summaryrefslogtreecommitdiff
path: root/TODO.org
diff options
context:
space:
mode:
Diffstat (limited to 'TODO.org')
-rw-r--r--TODO.org19
1 files changed, 13 insertions, 6 deletions
diff --git a/TODO.org b/TODO.org
index be19d88..9e1d9ed 100644
--- a/TODO.org
+++ b/TODO.org
@@ -32,10 +32,10 @@ whatever graphics API makes the most sense.
Some big subtasks here:
- [X] Decouple OpenGL state management from dynamic render context
-- [ ] Refactor all OpenGL calls into a single module
-- [ ] Add generic WebGPU-like graphics API
-- [ ] Implement that API for OpenGL backend
-- [ ] Update all graphics modules to use new API
+- [X] Refactor all OpenGL calls into a single module
+- [ ] Implement WebGPU-like graphics API
+- [ ] Update all graphics code to use the new API
+- [ ] Factor out OpenGL code into OpenGL backend
One big caveat is that our shading language will still be GLSL at the
end of this, which prevents us from being truly generic. The Seagull
@@ -45,8 +45,15 @@ whichever shader language our backend uses.
See this for how Trial does graphics pipelines:
https://reader.tymoon.eu/article/363
** TODO [#A] Move game logic to its own thread
-The main thread should be reserved for running the game loop,
-processing the input queue, and processing the render queue.
+The main thread:
+- Flush render queue
+- Flush SDL input events and forward them to input queue
+- Launch game loop thread
+
+The game loop thread:
+- Flush input queue
+- Run input, update, draw event handlers
+
** TODO [#A] Switch from OpenAL to SDL2 audio
I've decided that OpenAL is too high level to be a library that
Chickadee should rely upon, since part of the goal of Chickadee is to