Caeden117 / ChroMapper

GitHub repository for ChroMapper, the Unity-based map editor for Beat Saber.
https://cm.topc.at/dl
GNU General Public License v2.0
295 stars 86 forks source link

GPU Accelerated Spectrogram #522

Closed Caeden117 closed 2 months ago

Caeden117 commented 3 months ago

This PR completely redesigns ChroMapper's spectrogram, now accelerated by the graphics card. The new spectrogram can generate in fractions of time compared to the old one, and can now be completely hidden by the loading screen.

image

New spectrogram settings have been added, including:

3D Spectrogram has served no functional purpose for years and is officially removed as of this PR.

This also includes a CrowdIn pull since new localization keys had to be made and I was worried about losing potential localizations that haven't yet been pulled.

Known Issues:

FallenCharlotte commented 2 months ago

Quick Linux+AMD testing:

XAce1337manX commented 2 months ago

Spectrogram not showing up in editor is probably from the last push I did oops. (Tunneled too hard on the masking.) Fixed.

However for the other issue, that mystery scrollbar might be the console opening but failing to render everything else for whatever reason. There's hopefully a useful error in that log.

XAce1337manX commented 2 months ago

Spectrogram artifacts do actually appear in the 3D editor when using low sample quality settings: image

FallenCharlotte commented 2 months ago

Okay, previous issues seem fixed, not sure if it was the last commit or me forcing Unity to use Vulkan. But I bring a new bug!

The spectrogram seems to go "choppy" over time. It's immediately noticeable on the song info screen, but the editor one goes eventually as well. Dev: Screenshot from 2024-05-02 10:54:32 GPU Spectrogram (first time): Screenshot from 2024-05-02 10:54:34 After viewing other maps: Screenshot from 2024-05-02 11:01:23

Editor, near end of song: Screenshot from 2024-05-02 10:55:50 Subsequent song loads: Screenshot from 2024-05-02 11:01:34

Also yes, lots of graphics errors in the logs. These errors don't show up in the editor, only the build, but the above bug is present in both. ChroMapper.log