2019-10-30 16:10:15 +00:00
TODO FOLDHAUS
2020-11-03 20:49:16 +00:00
- engine environment
- primary color
- default controller
- gets its own update function
- has access to the engine state
- can select animations
- change playback speed, primary color
- user space controller
- socket listener
2020-03-22 05:44:44 +00:00
STREAM #1: 3D Overhaul
2020-03-20 07:55:13 +00:00
- Rendering (Working on this elsewhere)
2020-01-19 06:07:59 +00:00
- OpenGL 3
- Vertex Buffers
2020-03-22 05:44:44 +00:00
- Clipping in shaders
2020-01-19 06:07:59 +00:00
- Layers
- Lighting
2020-03-01 23:55:07 +00:00
- Camera
- pan
- zoom
- leds always face camera
2020-01-19 06:07:59 +00:00
- Sculptures
- cache led vertex buffers
- custom sculpture update functions (for motion)
- editing sculpture files (change universe output)
2020-03-01 23:55:07 +00:00
- motion
2020-01-19 06:07:59 +00:00
- Sculpture View
- mouse spatial interaction - handles, and hover for info
- debug capabilities (toggle strip/led/universe colors)
2020-03-22 05:44:44 +00:00
- Internal Log File
NOTE: This should not be a part of the debug system
- Save output log to a file continuously
- Have a window where we can view the log within the app
- Create a bar that displays the most recent error message
- :ErrorLogging
2020-01-19 06:07:59 +00:00
- Animation System
- layers
- layer masks by sculpture
2020-09-07 19:37:32 +00:00
- layer masks by tag / value
2020-03-08 00:29:07 +00:00
- interface for animation system
- add/remove layers
- select blend modes
- change which layer an animation is on
2020-02-29 23:43:06 +00:00
- setting start and end of timeline (how long is a loop)
2020-03-01 23:55:07 +00:00
- clips can have parameters that drive them?
2020-03-08 21:44:28 +00:00
- clips cannot overlap eachother on the same layer
2020-01-19 06:07:59 +00:00
- Serialization
- saving scenes
- saving projects
2020-03-22 05:44:44 +00:00
STRAM #4: Completeness
2020-01-19 06:07:59 +00:00
- Platform Layer
- Mac Platform Layer
2020-03-22 05:44:44 +00:00
- Make sure it works without building in Debug Mode
- Network
- Handle Error Cases
- Handle connecting a sculpture after launch
- Artnet
- Universe offsets (per sculpture)
- Interface
- text input
- lister with icon options
- Asset Loading
- Need to figure out which textures are currently in graphics memory and which need to be resubmitted
- images
- icon system - integrate with interface
- Settings
2019-11-23 00:07:25 +00:00
Assembly -> SACN interface
2019-11-23 07:57:30 +00:00
- need to create a data structure in CreateDMXBuffers that prevents duplication of DMXBuffers.
- - thinking about a dictionary. Key is Universe, length is 256, create parallel arrays as necessary
2019-11-03 21:12:25 +00:00
2019-11-02 17:29:51 +00:00
BUGS
- Typing a period into a float value doesn't register. Problem here is that we arent' translating key presses into characters at the win32 layer. Need to do that.
2019-11-01 11:17:46 +00:00
2019-10-30 16:10:15 +00:00
Hardening
2019-11-02 17:29:51 +00:00
- Then we want to think about separating out mode render functions from mode update functions. Not sure its necessary but having something that operates like an update funciton but is called render is weird. Might want some sort of coroutine functionality in place, where modes can add and remove optional, parallel
update functions
2019-10-30 16:10:15 +00:00
- memory visualization
- separate rendering thread
2020-02-05 07:31:43 +00:00
2019-10-30 16:10:15 +00:00
2019-11-02 17:29:51 +00:00
UI Improvements
2019-11-11 22:42:14 +00:00
- shift drag to 10x drag speed
2019-11-11 20:55:59 +00:00
- Text editing improvements
- - draw cursor in node field under active edit
- - better/intelligent zero padding
2019-11-02 20:17:23 +00:00
2019-10-30 16:10:15 +00:00
Application
- More efficient HSV <-> RGB
Development
- Fix your scope time tracker to account for threads.
- Nest scope times so you can see totals/dig in
Optimization
- patterns are asking to be multithreaded
2020-03-20 04:50:11 +00:00
- OOH I KNOW HOW TO DO THIS NOW!!! - each layer gets calculated independently, and combined
so just do each layer on its own thread, then combine as they are finished
2019-10-30 16:10:15 +00:00
- probably want to convert as much color functions to use u32 Packed Colors
- - Probably want to think about this more. What about supporting different color depths
2019-11-02 17:47:27 +00:00
- for different output devices?
Name
- Splash screen (like blender) (thisll be fun)
- - Image importer (stb image? or find a png > bmp converter for the image you have)
- - Display on startup
2020-09-07 19:37:32 +00:00
STREAM #0: Metaprogramming
- Metaprogramming
- fix memory layout (remeber to profile before and after)
- Make everything truly platform agnostic
- Application DLL
- math.h: present for trig functions (though this is part of the c-std lib, so it should be everywhere)
- windows.h: only thing left is InterlockedIncrement and InterlockedAdd
- Meta Layer
- ???