MouseTracks icon indicating copy to clipboard operation
MouseTracks copied to clipboard

Render Layers

Open huntfx opened this issue 10 months ago • 1 comments

Since density maps are recorded alongside the movement maps, it's possible to combine the data and use the density map as an alpha channel.

Image

Instead of adding in a duplicate set of options in the GUI specifically for this, a basic layer system would be a lot more adaptable. Each layer should get its own render settings with a simple blend mode (eg. replace, add, max, multiply), channels and opacity. The render options should then give the necessary control to adjust the image similar to how "levels" in Photoshop works.

It'll be hidden behind the "show advanced" checkbox as the complexity won't be needed in 99% of cases.

Examples:

  • Movement with alpha (above image) Background: Mouse Movement Layer 1: Mouse Density, blur: 0, clipping: 0.85, contrast: 0.5, blend mode: multiply, channels: alpha

  • Separate colours per click (see #30) Background: Mouse Clicks, LMB only, colour map: BlackToRed Layer 1: Mouse Clicks, RMB only, colour map: BlackToGreen, blend mode: add Layer 2: Mouse Clicks, MMB only, colour map: BlackToBlue, blend mode: add

huntfx avatar Feb 26 '25 10:02 huntfx

Did a brief mockup to demonstrate how it might look.

Image

Blending Modes: Overlay, Replace, Add, Subtract, Multiply, Divide, Maximum, Minimum

huntfx avatar Feb 26 '25 11:02 huntfx

Coded in a small test with some manually coded layers.

The transparency on grey doesn't look great in the GUI (both light and dark modes), so I'll have a look at adding a background option, or at least a default one like Photoshop's checkerbox pattern.

Image

Image

When rendered and brought into photoshop:

Image

Different colours for mouse buttons:

Image

Image

huntfx avatar Jun 30 '25 12:06 huntfx

Implemented the blending modes and opacity now, it's a lot harder than you'd expect.

In my testing I ended up with this style which I thought looked interesting, I'll have to add some presets.

Image

Layer 1: Mouse Movement, Chalk Layer 2: Mouse Speed, TransparentBlackToBlackToGreen

huntfx avatar Jul 01 '25 01:07 huntfx