notaz/pcsx_rearmed

Scanlines: Possibility to set custom height (1px, 2px, …) + Operated in WYSIWYG full screen editor

Opened this issue · 2 comments

porg commented

Environment

  • PCSX ReARMed r23
  • Device: OpenPandora (800 x 640 pixels)
  • OS: SuperZaxxon v1.76 update 3

Reproduction

  • Menu > Options > Display
  • Scanlines: on | off (cfg: scanlines: 0 or 1)
  • Scanline Brightness: 0-100 (cfg: scanline_level: 0 - 64, Note: #285

Feature Request 1: You can set the scanline height (thickness)

  • You can set the amount in pixels
  • The special value 0 is there to turn it off
  • Or alternatively, you keep the variable scanlines = on|off (1 or 0) as-is and introduce another variable Scanline Height (cfg: scanline_height)
    • UX advantage: You can toggle on/off and independently from this persist your custom set scanline_height
  • Whether the dimensions apply for the amount of pixels in the source, or the upscaled one, is to be discussed.
  • I'm in favor that you define the pixels of your output devices, b/c that's what you want/need to control so that the effect is visible on the device at its given size / resolution / viewing-distance in the intensity of your liking.

Feature Request 2: Scanline settings in fullscreen WYSIWYG editor

  • Menu > Options > Display > Scanlines
  • You enter a WYSIWYG full screen editor with overlays of the configuration values + usage hint
  • Like the custom scaler which also enters a dedicated full screen with overlay controls

Feature Request 1: You can set the scanline height (thickness)

This was easy to add (on the source) but it doesn't look that good. It can't be added to the destination because the hardware scaler is used and there is no software access to the resulting image (it's on it's way to the LCD already). Maybe something could be achived with the OMAP filtering coefficients, but that would require some lengthy research.

Feature Request 2: Scanline settings in fullscreen WYSIWYG editor

Too much work.

porg commented

Ad 1) Setting the scanlines on source rather than destination: As I understand it: Then they will only be properly scaled if you use a full integer scaling. Otherwise will fall victim to interpolation (on the boundary pixel lines at least) and this will get a blurry mess. But a few golden values will properly result in crisp results, which I will soon find out by some theoretical calculations and practical experiments. Looking forward to it.

Ad 1) OMAP filtering coefficients: How are the chances that you or other developers look into that? Should I raise a call/interest in the Pandora forums?

Ad 2) WYSIWYG editor too much effort. I accept that ofc. Out of curiosity: Where in particular is the effort in this? I had assumed that the WYSIWYG editor is written in a generic way and that my request would just be another instance of it. Using the current frame and then piping it through the filter whenever the user changes a value in the editor. But in reality this seems to be more complicated.