summaryrefslogtreecommitdiff
path: root/TODO.org
diff options
context:
space:
mode:
authorDavid Thompson <dthompson2@worcester.edu>2023-11-05 07:19:40 -0500
committerDavid Thompson <dthompson2@worcester.edu>2023-11-08 21:35:34 -0500
commit979a62cafdd31ca18552d1e688ca1019e6e95c1e (patch)
treebe17e1432c123b8848058c4b1d5e8b1f9fc89dbd /TODO.org
parentd2adfa5c5bae5d8ee20564ec9e50cae4b75f945d (diff)
webgpu wip stuffwip-gpu
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