dimforge / dimforge/kiss3d

Rolling average window

Open
#276 0 comments 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.