Until https://invent.kde.org/plasma/kwin/-/merge_requests/2451, the image displayed by the Zoom effect was smoothed. Not it isn't anymore, and it's pixelated instead. I suspect because of using nearest neighbor scaling: data->texture->setFilter(GL_NEAREST);
Heh, yeah, I made it GL_NEAREST intentionally, thinking that "pixel granularity" would be nicer.
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/2471
Git commit 37a8358ed7134845b47e7f206f53c710b943f678 by Vlad Zahorodnii. Committed on 26/05/2022 at 11:02. Pushed by vladz into branch 'Plasma/5.25'. effects/zoom: Use GL_LINEAR filter The magnification filter was changed to GL_NEAREST with the reasoning that "pixel granularity" would be more correct. Perhaps that was not a bright idea. Change it back to GL_LINEAR. Part-of: <https://invent.kde.org/plasma/kwin/-/merge_requests/2471> (cherry picked from commit 6a5173b6c40a2d2e7ed240aaf96adce1a2d9c9fb) M +1 -1 src/effects/zoom/zoom.cpp https://invent.kde.org/plasma/kwin/commit/37a8358ed7134845b47e7f206f53c710b943f678
> Heh, yeah, I made it GL_NEAREST intentionally, thinking that "pixel granularity" would be nicer. It would be nice for scenarios like a zoomed area of a color picker :) Thanks for a quick fix!
IIRC the macOS zoom effect has a keyboard shortcut to switch between smoothed and pixelated, because, yeah, sometimes you do want to see exact pixels. But other times you don't. Might be nice to have that here too.
> IIRC the macOS zoom effect has a keyboard shortcut to switch between smoothed and pixelated, because, yeah, sometimes you do want to see exact pixels. But other times you don't. Might be nice to have that here too. Indeed, there was such an option. Global shortcuts train goes choo-choohh?