-
-
Notifications
You must be signed in to change notification settings - Fork 84
Description
🧩 Description
When using ShaderGlass together with the Ymir emulator (Saturn core) in fullscreen mode, applying the ScaleFX9 shader causes a noticeable geometric distortion of the image — particularly visible on 2D games such as Marvel vs. Street Fighter for Sega Saturn.
This distortion does not occur when using the same shader (scalefx-9x.slangp) in RetroArch, which produces a perfectly rectangular and proportionally correct image.
I am using:
Emulator: Ymir (latest build)
Game: Marvel vs Street Fighter (Sega Saturn)
Shader: scalefx-9x.slangp
Pixel size: 9x (matches my 4K display resolution)
Display mode: Fullscreen
Windows DPI scaling: Disabled for Ymir executable (to avoid scaling conflicts)
🧠 Expected behavior
The shader should upscale the image cleanly (as in RetroArch), maintaining the correct 4:3 aspect ratio without any curvature, barrel, or edge distortion.
⚙️ Actual behavior
When applied through ShaderGlass:
The image becomes slightly warped or “barrel-shaped.”
Vertical and horizontal lines no longer align straight.
This persists regardless of aspect ratio settings in ShaderGlass.
🧪 Steps to reproduce
Run Ymir emulator in fullscreen mode.
Open ShaderGlass overlay.
Load the shader scalefx-9x.slangp.
Set pixel size to 9x.
Disable DPI scaling on the Ymir executable.
Observe distortion in 2D elements (e.g., character select screen in Marvel vs Street Fighter).
✅ Proposed solutions
Add an option to disable all geometry warping in ShaderGlass, ensuring pixel-perfect scaling for shaders that do not require curvature.
Improve scaling alignment when system DPI scaling is disabled, to match RetroArch behavior.
Add a “Flat Output Mode” toggle that forces 1:1 rectangular projection for 2D content.
Optional debug overlay showing active aspect ratio and warp values to help users verify geometric correctness.
💬 Additional notes
This issue seems limited to how ShaderGlass interprets the projection or geometry pass in fullscreen mode on 4K monitors with custom DPI settings.
The same shader file, when loaded in RetroArch, behaves correctly without any modification.
❤️ Appreciation
Thank you very much for your amazing work on ShaderGlass — it’s an invaluable tool for upscaling and applying modern shaders to emulators like Ymir.
I really appreciate the effort that goes into keeping it compatible with multiple backends and would be glad to help test any fixes or beta builds for this issue.