Rolling average window
- Dominant language
- Rust
- Stars
- 1.8k
- Forks
- 195
- Avg merge
- 1d 14h
- Merged PRs (30d)
- 2
Description
Hello and thanks for this great library.
I wish to render two windows - the first shows the raw data coming from a data stream, and the second is a rolling average of a few frames from that first window. I already have the raw data renderer working, but I'm struggling to decide on the best way to implement that moving average part.
Naively I can `snap_image()` the first window to receive the data of each frame and average it with some existing buffer, but I'm not sure how to convert the `ImageBuffer` I'll have back to a renderable image. Would I need to iterate over every pixel and call `add_point()` on it?
Another option is to do everything on the GPU, since my data is already there. However I'm not quite sure that the GPU API kiss3d exposes is sufficient for this task (and probably for a good reason!). I'm not sure how to allocate a mutable GPU buffer as my new window's buffer and use an averaging kernel to update it with data from a different window, which has its own buffer.
How would you recommend approaching this task?
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reading the existing snap_image(), ImageBuffer, and add_point() APIs mentioned in the issue, then inspect the GPU API exposed by kiss3d. Determine whether a rolling average can be represented as a renderable image or requires new GPU-buffer and kernel support; done would be a documented, working approach for averaging frames between the two windows.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- computer-graphics
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100