diff options
Diffstat (limited to 'TODO.org')
-rw-r--r-- | TODO.org | 30 |
1 files changed, 13 insertions, 17 deletions
@@ -185,7 +185,7 @@ * Improvements -** TODO Clean up imperative rendering API +** TODO [#A] Clean up imperative rendering API The functional, monadic rendering API is nice and clean, but the low-level imperative API is very messy. Perhaps it could use some syntactic sugar for all of the "call-with-foo" forms. Also, a @@ -196,7 +196,7 @@ realize that writing custom low-level rendering routines will be common enough to merit a nice API. -** DONE Allow modules to declare state via signals, including OpenGL resources +** DONE [#A] Allow modules to declare state via signals, including OpenGL resources This is a tricky one. The major headache with my Lisp Game Jam attempt was that the signal framework had to be abandoned *everywhere* except the top-level environment of the script that @@ -210,27 +210,23 @@ that all OpenGL resources *must* be declared as signals that wait for the game loop to start before loading. -** DONE Use a single OpenGL resource guardian structure - This will deduplicate code amongst all Scheme data types that wrap - OpenGL resources, because right now each one uses its own separate - guardian. - -** TODO Separate vertex arrays from meshes - Currently, a mesh is a vertex array. This is bad because vertex - arrays are useful in situations where the static mesh abstraction - isn't a good fit, such as with sprite batches. Therefore, a vertex - array should have its own dedicated data type that both meshes and - sprite batches use in their respective implementations. - -** TODO inotify-based live reloading - Better than periodically making 'stat' calls in a loop. +** DONE [#A] Implement sprite batch in terms of a mesh + Fix code that assumes meshes to be static, allowing for the dynamic + sprite batch use-case. -** DONE Pure Scheme 4x4 matrix multiplication implementation +** DONE [#A] Pure Scheme 4x4 matrix multiplication implementation Guile 2.1.2's float unboxing optimizations should enable this to be both fast and not allocate so much. The GSL dependency can be removed (yay!) once this is complete. Be sure to use Guile's ,x metacommand to view the disassembly to ensure that the necessary optimizations are indeed being used. +** DONE [#B] Use a single OpenGL resource guardian structure + This will deduplicate code amongst all Scheme data types that wrap + OpenGL resources, because right now each one uses its own separate + guardian. + +** TODO [#C] inotify-based live reloading + Better than periodically making 'stat' calls in a loop. * Documentation |