diff options
Diffstat (limited to 'TODO.org')
-rw-r--r-- | TODO.org | 26 |
1 files changed, 16 insertions, 10 deletions
@@ -1,9 +1,4 @@ * Tasks -** TODO [#A] Images that can be rendered in Geiser REPL -Make =<image>= type that prints as =#<Image: /path/to/image.png>= -** TODO [#A] CPU-side pixel buffer manipulation -Make =<pixbuf>= type and use it for all image loading/manipulation, -such as texture creation. ** TODO [#A] Bug: Vertical line rendering not working Vertical lines are invisible. Not great! ** TODO [#A] Improve window resizing support @@ -51,11 +46,16 @@ Render a vector path to a framebuffer and you'll notice that the first filled path doesn't show up. Why is this?? ** TODO [#B] Framebuffer multisampling Requires creating multisampled texture. -** TODO [#B] Dedicated audio thread -Allow use of (ice-9 futures) for parallelism? -** TODO [#B] Dedicated render thread -** TODO [#B] Worker threads -To parallelize image loading and such. +** TODO [#B] Multiple threads +SDL2 operates on the main thread, so that will control the game loop +and rendering. OpenAL is already using its own thread for audio. So, +what's needed is another thread for managing game state and some +number of generic worker threads to offload things like loading data +from the file system. Of course, this complicates things +significantly, so the API will have to be carefully designed to do all +the thread synchronization right so the user doesn't have to think +about it. Should I add a dependency on guile-fibers?? + ** TODO [#B] Texture fills for vector paths ** TODO [#B] Even-odd rule fills for vector paths Right now only the non-zero rule is supported. @@ -69,6 +69,7 @@ Allow more settings to be modified. Add angular velocity. Auto-expand to hold all particles rather than setting a hard cap upfront. ** TODO [#B] Support loading fonts from system font cache +** TODO [#C] Rename array-list-size to array-list-length ** TODO [#C] Bug: Bounding boxes for stroked paths are too small Not sure how to fix right now but the bounding boxes are too small because they only account for the points within a path, not the @@ -100,6 +101,11 @@ naive way that does not use physically-based equations. ** TODO [#C] Right-to-left text rendering ** TODO [#C] Top-to-bottom text rendering ** TODO [#C] Octree spatial partitioning +** DONE [#A] Images that can be rendered in Geiser REPL +Make =<image>= type that prints as =#<Image: /path/to/image.png>= +** DONE [#A] CPU-side pixel buffer manipulation +Make =<pixbuf>= type and use it for all image loading/manipulation, +such as texture creation. ** DONE [#A] Fix 9-patch rendering not working with texture regions ** DONE [#A] Add #:clear-color argument to run-game ** DONE [#A] Tests for (chickadee math rect) |