Commit Graph

41 Commits

Author SHA1 Message Date
Lior Halphon d146b3a309 Why do I end up writing these 2025-04-03 23:52:04 +03:00
Lior Halphon 42be4ef827 Add flat CRT shader 2024-09-15 20:49:49 +03:00
Lior Halphon 302eaf6eca Migrate changes from the App Store version 2024-05-25 18:15:14 +03:00
Maximilian Mader 00dce71eab
Make shaders compatible with GLES 3.0
GLES, at least as used in WebGL 2, does not like mixing integers and floats,
for example:
> ERROR: 1:8: '*' : wrong operand types - no operation '*' exists that takes a left-hand operand of type 'mediump 2-component vector of float' and a right operand of type 'const int' (or there is no acceptable conversion)

This patch converts those integer constants into floats.
With this patch the shaders (apart from the master shader) can be used in WebGL contexts too.
2024-03-11 16:40:23 +01:00
Lior Halphon 5e2b6e7e9e Fix rounding errors in the LCD and CRT shaders, closes #595 2024-03-09 18:07:04 +02:00
Lior Halphon 4cf3b3c948 Accurate emulation of frame parity 2024-01-13 15:50:07 +02:00
Lior Halphon a5903ca5bc Do the same for the CRT shader 2023-07-23 14:20:09 +03:00
Lior Halphon df1b89bf61 Update constants in the LCD shader that weren't updated after shaders switched to using linear RGB 2023-07-23 14:14:30 +03:00
Lior Halphon 84a193a918 Fix shader artifacts, revise AAScale4x 2022-07-29 17:08:51 +03:00
Lior Halphon a4209b47d0 Be consistent with hex casing 2022-02-13 16:58:44 +02:00
Lior Halphon 6b30de5fb1 Fixed dark colors on Metal without frame blending 2020-12-12 16:02:46 +02:00
Lior Halphon cfcdce81ba Fix color in OpenGL when frame blending is disabled 2020-06-24 19:15:20 +03:00
Lior Halphon e88a48e0a1 Use gamma-corrected mixing in shaders 2020-06-19 23:18:38 +03:00
Lior Halphon 29b64d7545 Slightly reduce the scanline-ish LCD effect 2020-05-29 16:51:20 +03:00
Lior Halphon 5a56c3b882 Style fixes 2020-05-01 16:03:26 +03:00
Lior Halphon 2bc75caf9e Fix CRT shader on OpenGL 2020-04-11 18:03:21 +03:00
Lior Halphon 5ecb845662 Add accurate frame blending option 2020-03-26 20:54:18 +02:00
Lior Halphon fe7667a00c Add drop shadows to the Monochrome LCD shader 2020-03-06 17:37:47 +02:00
Lior Halphon 4963ec4cc4 Gamma correction in the CRT shader 2020-03-06 17:37:29 +02:00
Lior Halphon 99d2c0258c Add monochrome LCD shader 2020-01-29 15:51:53 +02:00
Lior Halphon c29b5b5800 Fixed the CRT shader for OpenGL frontends (SDL and older Macs) 2019-05-18 20:38:10 +03:00
Lior Halphon 3e724afb0a Basic SGB support in the SDL port 2019-05-18 18:45:31 +03:00
Lior Halphon 6160f513aa CRT filter 2018-11-19 18:52:11 +02:00
Lior Halphon 634a54c046 SGB resolution support (Cocoa only so far) 2018-11-15 00:21:21 +02:00
Lior Halphon a068b7b09f Fixed Metal warnings, made everything static for performance 2018-06-15 19:18:30 +03:00
Lior Halphon cd045fde15 Scaling filters in Metal 2018-06-15 19:11:06 +03:00
Lior Halphon 4466a55de6 Output resolution parameter 2018-06-15 18:44:22 +03:00
Lior Halphon da7c32cb10 No more globals in shaders 2018-06-15 18:22:09 +03:00
Lior Halphon c6dba26d02 Simplify shaders 2018-06-15 18:08:54 +03:00
Lior Halphon c1fcd1a0c0 Added frame blending 2018-06-15 13:58:50 +03:00
Lior Halphon 5b39cacc8a Basic Metal support. No OpenGL fallback, no shaders, no blending. 2018-06-15 13:26:53 +03:00
LMLB c365c450a7 Fix shaders that break with specific pixel factors
OmniScaleLegacy seems to has problems with every odd factor (3x, 5x, 7x,
9x, etc.).
SmoothBilinear has problems with 5x and 11x and probably more.
2018-03-14 20:06:37 +01:00
LMLB 0c80ac3296 Fix shaders that sample at texel edges
Sampling at the edge between texels causes one or the other to be chosen
semi-randomly, depending on rounding errors. Add half a pixel so they
sample at texel centers instead.
2018-03-14 20:05:51 +01:00
Lior Halphon d0202a3f9a Added LCD graphics filter; emulates low-resolution LCD artifacts 2018-02-17 20:43:48 +02:00
Lior Halphon d262dde71a Scaling filters in SDL 2017-12-23 22:11:53 +02:00
Lior Halphon 07c5e8fcb1 Fixed smooth bilinear filter 2016-06-18 02:05:52 +03:00
Lior Halphon 846a9318ba Added anti aliasing to OmniScale. Fixed color differentiation for HQ2x and OmniScale 2016-06-17 23:47:41 +03:00
Lior Halphon 6f73ee053d The old OmniScale filter became OmniScale Legacy. A new OmniScale filter was added instead. 2016-06-17 01:06:52 +03:00
Lior Halphon 52afba21d1 Added HQ2x shader, upgrading to OpenGL 3 2016-06-14 14:11:37 +03:00
Lior Halphon 94ea44da0c Introducing the OmniScale (beta) algorithm to SameBoy 2016-06-09 00:06:55 +03:00
Lior Halphon 8d59bfcbdd Filter support for Cocoa port + 7 basic filters 2016-04-29 00:45:56 +03:00